Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Recently, I found multiple GitHub repositories that would allow me to perform the same task. (In my case, assess the readability of text strings.)

It made me wonder, what are the best practices for programmers to choose between different open-source libraries, and in particular, libraries hosted on GitHub?

GitHub statistics of users who watch, star, or fork a repository are one option, but are there others?

share|improve this question

closed as too broad by gnat, Bart van Ingen Schenau, GlenH7, tylerl, Kilian Foth Apr 7 '14 at 10:49

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.If this question can be reworded to fit the rules in the help center, please edit the question.

What decision are you trying to make that would cause you to chose between repositories? – user40980 Apr 3 '14 at 1:47
Thanks for your question, MichaelT. The repositories have scripts to perform the same task so I had to decide which one to use and which ones to ignore. – Gyan Veda Apr 3 '14 at 1:51
recommended reading: Why is asking a question on “best practice” a bad thing? – gnat Apr 3 '14 at 5:16
This isn't really about GitHub, it's more like "What's the best way to choose between a selection of 3rd-party libraries for my project?". – 40XUserNotFound Apr 3 '14 at 23:12
up vote 2 down vote accepted

If I had the choice between two pieces of software with identical functionality, I'd choose the one with more recent commit activity. This indicates the software is being worked on at the moment and the original author is probably still around and might be willing to help fix any bugs you find.

If the functionality isn't identical, here are some other metrics to consider:

  • The language of the library is the same (or compatible with) the language you are using for your software.
  • Which is simpler (or looks simpler) to implement into your project?
share|improve this answer

I use most recent commit and overall age as good indicator.

If there are a couple that are established, active, and have the functionality you need, try them both. That's the only real "metric" to use.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.