/library-recommendations

Evaluating Open Source libraries for particular purposes

Library Recommendations

When entering a new domain, or using a new programming language, picking the right Open Source library can lower development time significantly. It can, however, be hard to determine what library is best without consulting a domain expert in the chosen programming ecosystem.

Programming language experts without domain experience can often assess which library is better, even if they never used them. They know where to search, and by which metrics to assess. Domain experts without experience with the programming language will often rely on asking peers. This can reveal superior resources across programming ecosystems, for example when one programming ecosystem is dominantly picked for a particular domain.

This collection contains my personal assessments of various problem domains within various programming ecosystems. The assessments may drift and become incorrect as time passes. To avoid this, I will try to schedule revisiting them, and provide links to metrics so that the reader can re-evaluate. If the reader is inclined, this collection accepts changes.

Disclaimer: I've not performed a deep audit of these libraries. See the reviews as pointers, but do your own research.

Assessment Criteria

  • How depended-upon is this library? How many times was the library downloaded from a popular package registry (compared to its alternatives)? How many libraries depend on it? Are any of the depending libraries serious-looking?
  • How mature and generally useful is the library? Is it well made?
  • Is there activity on the issue tracker or in the PRs section? Do the package maintainers respond?
  • Who are the authors? Have they made any other packages in this ecosystem that are popular?
  • Is it being maintained by a company, an individual, an organisation or a loose group of individuals?