Engineering

How to find the best open-source packages
facebooklinkedintwittermail

Open-source packages are inseparable from software development.

Developers use packages for date-pickers and charts, database and network access, time zones and currency conversions – just about anything.

And we research extensively to find the right open-source package. There are over 3 million open-source packages out there, with hundreds of new ones popping up every day, which makes it tedious to find the right open-source package.

Searching for the best package – the old ritual

Let’s say you’re looking to implement natural language processing. You start with Google, looking for leads to potential packages. You open links to registries like npm or PyPI, sift through the READMEs, look at version histories and download counts. You open links to GitHub repositories and look for indicators that the project is well maintained (When was the last commit? Does the package have enough maintainers and contributors? What does the issue backlog look like? Are PRs being merged?). You also consider how popular a project is (mostly evident by star count).

But popularity and other such metrics don’t tell you the full story, because they cannot convey the nuances of using a package, and they don’t tell you what the developer experience is like. To perform a more qualitative query, you ask friends and colleagues, and search for blog posts, roundups, developer forums, and even tweets.

There must be a better way

At Openbase, we thought there must be a better way to search for open-source packages. So we built a platform that streamlines the process for developers, bringing the same indicators and resources to them in one single multi-faceted search interface. Our open-source search engine helps developers find the right package every time, without the hassle.

Given the critical nature of search to our product, we invested great amounts of time and energy to build the best search UI/UX. Luckily for us, Algolia, a leading site search SaaS provider, has offered us a substantial discount with unlimited space, usage, and features, and an ongoing partnership to help us continuously improve our product. 

The use case: searching for the right package to accomplish a specific task

As a developer, you’re looking for a package to accomplish a specific task that has been accomplished countless times by others and you don’t want to reinvent the wheel.

So you start searching…

openbase algolia open source search engine

To help narrow your options, the Openbase team works continuously with the open-source community to curate thousands of categories for each task that comes to mind.

categories

Let’s say you’re looking for a calendar component for your web application.

When you go to Openbase, you start by searching for “calendar” and then choosing the Calendar category from the search results.

search results

Within the category, you could enjoy a hand-picked list of the best calendar libraries out there. While categories are useful, the real power comes from filtering the list down by framework (e.g., “React”) or other, more advanced filters based on your specific needs.

Openbase allows you to compare packages in terms of their star count, downloads, last commit, and user sentiment. 

Typically, you’ll come up with a shortlist of a few promising packages that seem like a good fit. 

page view

You can then open the dedicated page for each package. We have found that most developers choose 2-4 packages at this stage.

On the package page, you can get all the data you need about a package in one place:

  • Popularity insights: To learn about the relative market share and trend of each package.
  • Maintenance insights: Is this package maintained? Can I rely on it? (Also check out the “Maintenance” tab for powerful insights).
  • Package attributes: Does it support TypeScript? Is it tree-shakable? How many dependencies does it have?
  • Ratings and reviews: Is it hard or easy to use? How’s the documentation? Is it opinionated? The reviews from Openbase’s community help you learn from the experience other developers have had with that package.

Equipped with all that knowledge, you can make a decision about the right package for you!

Appendix: a look under the hood

Here are some of the technologies we used in order to build Openbase:

Behind the scenes, Openbase is continuously pulling data from various data sources to keep data fresh:

We pull new versions, metadata, download counts, and more.

Finally, many of these packages are accompanied by a GitHub repo, so we have an additional service Crawling GitHub to gather metadata, as well as data about commits, issues, and PRs.

And we’ll continue to add new indicators to help you choose the right package.

About the authorLior Grossman

Lior Grossman

Founder & CEO of Openbase

Recommended Articles

Powered by Algolia AI Recommendations

We Built an Atom Plugin to Find and Install Any NPM Module
Engineering

We Built an Atom Plugin to Find and Install Any NPM Module

Gianluca Bargelli

Gianluca Bargelli

Software Developer & Pizza Lover 🍕
How to create the best search engine experience
UX

How to create the best search engine experience

Catherine Dee

Catherine Dee

Search and Discovery writer
Build or buy: Open-source search tools vs. Algolia
Product

Build or buy: Open-source search tools vs. Algolia

Elliott Gluck

Elliott Gluck

Senior Product Marketing Manager