Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Form a libs team? #266

Closed
japaric opened this issue Dec 10, 2018 · 4 comments
Closed

Form a libs team? #266

japaric opened this issue Dec 10, 2018 · 4 comments
Assignees

Comments

@japaric
Copy link
Member

japaric commented Dec 10, 2018

We've received quite a few crate requests in the 2019 wishlist survey. Those requests are listed below from most voted to least voted:

The first two requests might fit within the scope of the HAL team but the rest don't fit within the scope of any of the other teams we currently have.

The question is: should we create a new libs team dedicated to cater to these requests?

My opinion is that we should create a libs team but should not add non-architecture specific (i.e. general purpose) crates to the org. Instead the libs team should follow the lib blitz model to help grow crates developed by the community.

The reasons why I think we should, in general (*), not maintain or develop general purpose no-std crates in the org are:

  • Increased maintenance load (the WG currently owns 38 repos)

  • Some crates require specialized knowledge (e.g. USB), which means we'll have to further increase the WG membership (the WG currently has 26 members)

  • Trade-offs in library design often lead to competing implementations (e.g. RTOS-es), which is a good thing because people have different needs (e.g. some may prefer ease of use over flexibility) -- more options means they can pick what suits them best. Taking a crate into the org effectively blesses it (i.e. it puts a "WG approved" stamp on it). This, I think, would be rather harmful in the early stages of the embedded ecosystem as it would prevent other implementations from competing on equal footing.

(*) of course, every rule has it exception. I think for example that, once mature, a core usb crate along the lines of the http crate would be reasonable to have under the org and the maintenance of the HAL team.

Apart from preventing the above issues, following the lib blitz model means that we'll get to observe API design patterns emerge in the development of several libraries, which we can then add to our docs for the benefit of the whole embedded community.

Thoughts on the general direction? (There are plenty of details to hash out; the lib blitz model aims to take crates to 1.0 status whereas we would likely have to work with crates in their early development stages)

@korken89
Copy link
Contributor

I agree on having a libs team following the lib blitz way. I think that having no general libraries, to burden the WG with too much work, is good.
Just to be careful to not include too much too fast.

@thejpster
Copy link
Contributor

I agree with everything @japaric said.

@japaric japaric self-assigned this Jan 8, 2019
@japaric
Copy link
Member Author

japaric commented Jan 12, 2019

Just to be careful to not include too much too fast.

Yeah, so I was thinking we could have some cool down period between crate reviews. Perhaps something like 2 weeks for reviewing the crate and working with author and then 1 or 2 weeks of no review where we just decide which crate to work on next.

To account for the crate requests in #256 we could prioritize working on crates that have been explicitly requested and the libs team has picked as a focus for this year.

@Dirbaio
Copy link
Member

Dirbaio commented Jun 11, 2024

The libs team exists now! #707

@Dirbaio Dirbaio closed this as completed Jun 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants