Posted on 05/08/2025 5:59:16 AM PDT by ShadowAce
Open Source has won. Seriously. The Linux Foundation found in a study in 2022 that 70-90% of all code bases are made up of open source. Black Duck reported in 2023 that 96% of all software projects contain at least some open source. So we’re everywhere, we’re done.
Cue the famous XKCD dependency comic.
This picture is sadly very realistic. The median open source project has one maintainer!
So why did this happen? I argue there’s been a cultural shift. Most of the “old guard” in open source, and I’m certainly one of them, come from a free software background, where there’s a big dose of idealism. But to gain acceptance, we’ve hidden that idealism: a company wouldn’t want to build its enterprise on the work of a bunch of hippies, now would it? Working for free isn’t sustainable either, so open source had to mean business. We worked hard on that, by donning suits to argue with politicians and business folks that open source would be good for business and the economy.
We were successful. Perhaps too successful, because unfortunately this has resulted in open source being equated with free… as in beer. You know, that kind of freedom with a lower case “f.” For the current generation of engineers, open source means you can import a library from GitHub into a project and it won’t cost a dime. If there’s something wrong with it, just fix it in the local copy. That’s it.
So, we get this: Cue the XKCD image again.
Where is the community? Where is the drive to make the world a little bit better? Where is the conversation about sustainability, funding, governance? Upsteam first?
The new generation of open source devs doesn’t really seem to spend much time thinking about those factors at all. For them, open source is just magic code that appears, that somebody (usually a 50-year-old working in their spare time) built, and which can be used without strings attached. They are barely, if at all aware of the idealists that once upon a time built this community.
Of course, some companies still have a lot of institutionalized knowledge. Red Hat, SUSE, and a few others still have the old guard in their higher management, and thus strong upstream-first policies. But new companies and new projects — not so much. They fork at will, fragmenting the ecosystem and only occasionally contribute upstream.
This causes issues for the existing projects.
I ran a poll, asking about the cost of maintaining a piece of code like a WordPress plugin or a Nextcloud app. I asked, how much of the initial development costs does it require to keep it working, stable, and secure?
The results? It’s clearly more than 10% on both Mastodon and Linkedin.
Most projects don’t have these resources, especially when the number of contributors is dwindling. Once-large projects like KDE and Gnome are smaller today than they were 10 years ago, despite having arguably more users. If the attitude is to just take the code and if there’s an issue, fix it locally, we will never maintain our code once that last maintainer, working for free, quits.
That is not sustainable. I don’t need to explain that, do I? How do we fix this?
There has been quite a number of attempts at finding sustainable models. Some projects succeeded with donations. Others, like my own Nextcloud, managed to build a business. But both of these are exceptions.
There are many pieces to the puzzle, but here’s a big one: I think we went too far in the direction of serious business, and lost sight of the idealism that started our community and its projects. The new generation, like most younger generations, cares about meaning. Well, free software has meaning; open source does not — it merely has value.
So I say: we have education to do. We need to explain to the “new” or the “next” generation (or whatever you want to call it), the value of free. The importance of upstream first. Of contribution and community. In my experience, they are receptive to this.
It’s time to take off the suit to don a head scarf and a beaded necklace and tell the new generation that there is meaningful work at open source companies waiting for them. They should leave big tech and join the revolution!
Click here: to donate by Credit Card
Or here: to donate by PayPal
Or by mail to: Free Republic, LLC - PO Box 9771 - Fresno, CA 93794
Thank you very much and God bless you.
Open source is not necessarily free. In many cases, it is not free. But the fact that someone who purchases it can just give it away to anyone makes monetizing it very challenging.
Yet at the same time if you build all of your software in house (which I've been part of multiple times, particularly on the lower tier or middle tier), you absolutely must require documentation of the work and code review so that the system can be maintained even after one or two key people leave.
I read somewhere that if your software uses freeware, it can be argued that yours becomes open.
Who wants to do the documentation, code review and testing for free? Even a lot of paid engineers would rather not do these steps.
When I'd train newbies on how to use my middle tier and lower tier code bases, I'd often use my documentation to do so. I'd tell the other programmer that I'm not trying to leave him high and dry, that I'll train him if necessary. But by him trying to use the documentation first, it told me how well the documentation was written. If the documentation doesn't tell him what he needs to know, then it tells me I need to update my documentation while I'm training him. Thus after years of training people with that approach, we had robust documentation (which eventually included all of the questions I was asked about handling different scenarios).
Maybe there’s a role for AI on this.
I am absolutely NOT an expert on licenses, and I know there are quite a few licenses out there.
However, I think that may only apply to fringe cases. I've never heard of it happening in regard to any open source license.
I’ve seen some licenses that have that restriction, unless you buy the commercial version or just link to the .dll.
Don't get me wrong. Java as a pure programming language brought some new things to the table I liked as far as being object oriented and having inheritance and such without having to reinvent microdetails of the wheel every time as with C++. (Though after a while even with C++ you eventually had most of the utilities you needed made in C++ anyway, at least with the utility framework model I tried to design for.) Later after Microsoft made C# and modified VB to VB.net (making it more Java like), Java became even less attractive to me.
In my quasi-retired years, I use Java only with its integration in Oracle. Say, if I want to make a couple of file utilities in Java to be run by PLSQL code. But that's not the bloated Java you and I hate. That's a more "native" Java after Oracle bought it. Even then, if it's simple file utility work that is done before or after a batch job in Oracle, I probably write it in shellscript instead of Java.
The biggest threat to open source software is DEI.
Disclaimer: Opinions posted on Free Republic are those of the individual posters and do not necessarily represent the opinion of Free Republic or its management. All materials posted herein are protected by copyright law and the exemption for fair use of copyrighted works.