cross-posted from: https://feddit.org/post/24404539
If we combine these two sets of data^1 we obtain a fascinating result^2.
- 46% of all code out there, in every app, is maintained by hobbyists
- 13,8% is maintained by “I sometimes get a bit of pocket money for my code”
- 40% of all code out there is maintained by an industry-paid person
So, nearly 60% of all code being actively shipped in an app or product in the wild is hobbyist-maintained open-source.
See also this discussion on lobste.rs on the economics of the average (as in median) open source project:
https://lobste.rs/s/ftwkvo/hobbyist_maintainer_economic_gravity
To sum up, apparently most open source projects are small, and aren’t funded as paid work. And they matter because of their number, which has the effect that they make up a large part of all software in use.


If an app includes 50 well-known big projects and 1000 small projects, the sum result can still be that small projects make up for a large fraction of the code.
It does not need to be an even distribution, it can be a “long tail” distribution.
And FOSS code is inherited often. Some years ago, a bug in a string-to-floating point connversion routine was found. This affected, if I remember correctly, PHP. But it turned out that many more languages were affected.
Similar with the TimSort algorithm, which was written by Python’s Tim Peters.
I understand your point that this is possible. It is an assumption to assume it is most likely the case however.
I would expect the Fat Head of most used open source projects to make up the vast majority of the open source code included in apps. It is not a common practice to include 1000 small projects into a code base for an app, or even 100.
Is it not reasonable then to expect that the 77% of app code from open source is because the most popular app building blocks are open source? Aren’t the popular open source languages, frameworks, and databases are themselves big enough to exceed the number lines of internally written code for the app business logic most of the time?
For example, if I make a “small” electron app its going to be 90% or more open source because the electron base is so large already.
Not usually 1000. But nowadays apps really do have a lot of dependencies - often more than 100.
An article about this:
https://wiki.alopex.li/LetsBeRealAboutDependencies
Rust apps also have been criticized for this. The thing is that when building a Rust app, every direct and indirect dependency is fetched and built locally. That makes them very visible. But the same happens e.g. with Debian systems with installing C or Python libraries, which bundle many pre-compilef dependencies, which is faster, and not as visible.
Yes, 100 projects from the Fat Head would make sense.
Do you have any way to establish that these 100 more often come from the Long Tail?
I think it is very likely a few very big components and many, many very small ones.
This is a very common pattern. But that is hard to verify without examining all these components.