Most open-source software is libraries or frameworks
medium.com
medium.com
I guarantee openssh, Firefox, LibreOffice, and probably a hundred other applications, are (orders of magnitude) more popular than the top applications on this list.
So, if this were titled, "Most open source software on github..." I wouldn't object. But, I have to completely reject the premise here, because I know that there's an entire iceberg of OSS software, including applications, that is completely excluded from the listing by virtue of either not being on github or being on github, but not using github as its primary method of distribution and promotion, and this data completely ignores everything below the surface.
Also, it's probably dangerous to begin to think of "Open Source Software" as only being "Software that has a public github repo".
To the user sure, but if they are open source, bazaar-model projects, they still need a route to contributors, and GitHub is as suited for that for end user apps as it is for libraries. So while, yes, it's possible that GitHub is unrepresentative for some other reasons, I don't think that “GitHub is for developers” is a reason to dismiss this kind of statistic.
OTOH, it may well be that apps, even open source, are more likely to be cathedral model (instead of bazaar) than libraries, which might reduce the need for using GitHub or some other public repository.
In defense of my ignorance, I haven't written a line of Java in years, and I assume this is a predominantly Java ecosystem (due to the "Maven" part of the name).
Libraries and tools for coders -- what's particular about these? These are the areas where programmers are also the domain experts! So is it any wonder that these are the projects that succeed?
I guarantee openssh, Firefox, LibreOffice, and probably a hundred other applications, are (orders of magnitude) more popular than the top applications on this list.
Let's look at the success of end-user open source applications. Is there a pattern of success being correlated with prevalence of the domain knowledge in the programmer population? There will be other influences, which will bring in corporate resources and skew the degree of success, but I think this pattern holds there as well.
...on github, a community of programmers.
At this point, I just love seeing GUI software I leverage also coming with a CLI. I learn what it can do for me with the GUI and then can use the CLI to manage the heavy lifting for me.
I don't really care to argue semantics about what's a library vs. what's an app. Because many libraries have a UI and many apps have an API; that's another discussion, really (though, you've got tens of millions of people using Firefox through the UI daily and maybe a few thousand using it as a library daily...I know where I fall on the "is it an app or a library" continuum).
But, seriously, this article looked at one pile of data generated by a site that is entirely by and for programmers and declared that the entirety of OSS is represented by that data. The more I think about it, the more ridiculous, and maybe even offensive, it seems.
Basically, WIP. For now, if you have NodeJS:-
It is kinda headless.
I really wonder what is the point of a CLI for, say, Krita or LibreOffice.
I'm sure the same sorts of things can be done with Krita, though I'm not familiar with it.
As for LibreOffice, that seems obvious. An easy/automated way to get data into and out of it for processing in other programs. An automated way to process lots of documents that need to stay in LibreOffice but need the same change performed on them (currency conversion, date format normalization, copyright update, etc.).
It's the same reason you'd want anything to be programmable: Automating away the tedious stuff.
Begin scriptable and having a CLI are two orthogonal concepts. With Script FU, GIMP itself executes scripts. If gimp had a CLI it means that you could be able to do stuff like "gimp --select-pen 2px solid black --moveTo 0 0 --lineTo 100 100 --lineTo 50 50" for instance (for which I don't see the point of using GIMP to do).
but why would it have to be related to libreoffice at all? couldn't the ODF format be implemented as a library, which then both libreoffice and "odf2pdf" command could be implemented upon ?
2) Judging from the top-5 list in the post, between 1/4 and 1/3 of the projects have been miscategorized.
Ex:
- https://github.com/chrislgarry/Apollo-11 -> should have been categorized as "Application", not "Documentation".
- https://github.com/tensorflow/tensorflow -> should have been "Library", not "Tool".
- Electron, Socket.io, Moment, lodash... are "Web libraries", not "Non-web libraries"
and probably more.
I hope the reviewers catch these errors before they publish this in a research journal.
Most software is libraries and frameworks -- you just don't get to see most/all of the proprietary stuff, since it's not on github or anywhere else.
It is worth noting that the second most popular "software tool" tucked in between oh-my-zsh and homebrew (both command-line tools/packages) is Tensorflow.
That has to say something about the current state of the industry, though admittedly, I am a little confused as to why it was classified as a "software tool" and not say, "a non-web library or framework."
That seems to indicate that tensorflow is getting plenty of use.
For example, I would guess that SQLite does not get more than 59 new bugreports per week, even though SQLite most definitely is much more widely used than TF.
In the meantime, I'm very pleased to note that my list will hit 10K stars within the next few days :) Based on that spreadsheet, I guess that would put it somewhere in the top 350 or 400 repos on GH.
Meaningless "Imaginary Internet Points", of course, but amusing to look at nonetheless :)
Edit: another consideration is if HTML/JS is the standard UI, then it biases that generation of developers to favor that particular abstraction. Innovation is framed as, "look where we managed to cram HTML/JS!" Actual innovation, which would be more along the lines of, "here's a new paradigm/abstraction that replaces HTML/JS" is seen as eccentric and largely ignored. In effect, developers' over-attachment to the way things are done greatly slows forward progress. They're only able to recognize small, incremental improvements.
One critique: GitHub stars are not the best indication of interest and can be gamed. Instead, I prefer using commits, issues and unique authors as a better metric of project velocity: https://www.cncf.io/blog/2017/06/05/30-highest-velocity-open...
Maybe applications do far outnumber libraries, but it's a fact of how people use github that everyone whose application depends on a library stars the library; as every application uses many libraries, there are many library-stars. This is a total guess, but it aligns with how I think of using stars. (though stars are separate from notifications as github documentation takes care to point out)
Out of the 5000 most popular repositories of github, most are libraries or frameworks.
The author is not bad at clickbait.
edit I wonder if they actually checked if those 5000 licences are actually compatible with the open source definition[1].