I had an encounter pretty similar to the one in the article at a former job.
I was the head of software development at a 10 year old “startup” with ~50 employees.
The CEO and the marketing lady walk into my office and tell me about this great new hardware (basically an underpowered server with 15 SFP+ ports for network traffic manipulation) they found somewhere in China. They don’t have an use case for that yet, but they have a solution: They will sell it really cheap (€5000) so that, I quote, “some nerds will buy it like the Raspberry Pi and they will make software for free for us”.
I ask them why they would be doing that, to which the marketing lady says “Because they are nerds. They do stuff like that.”
Needless to say, not a single “nerd” bought that dirt cheap €5000 networking device with a huge amount of SFP+ network ports as a hobby device, let alone produce free software for it.
That device was a total flop.
But it also goes to show what they must be earning if they think that anyone would spend €5000 as an impulse buy with no further reason.
I did tell them. Multiple times and in very direct words. They told me I don’t understand nerds or open source.
Both marketing and CEO are jobs where Dunning-Kruger is considered an asset, not a problem.
I just had to scroll back up to double check what you said your job was, because I was sure you said you were in charge of software development, and then I thought, “no, I must be misremembering that, because there’s no way the CEO and marketing person could genuinely believe that they know more about open source software development than a software developer.” But no, you really did say your job was head of software development, and the CEO and marketing person really did think they know more than you.
The Dunning-Kruger effect is very real in marketing and executives.
I did maintain an opensource project for a while and that taught me how to do it correctly:
- Don’t. Just don’t.
- If you really, really want to, just do what you need to fulfill your needs, never do something for someone else.
- If someone is really insistent, say you’ll do it if that person pays for the implementation of the feature, and use your day job’s hourly rate for it.
- Then don’t implement anything you don’t want to, because nobody is going to pay for it anyway.
Or to put it differently: Never see your project or contribution as anything more than a hobby. You will never see an return on investment.
As I understood it, one of the foundations of open source development is scratching your own itches, then putting what you made up for grabs in case it scratches someone else’s. There shouldn’t be any expectation of support on your part beyond an email or two. The code’s out there if they want to scratch the itch a different way. It’s kind of a homesteader ethic.
That’s basically right. But it’s quite a difference what you have to do to scratch your itch, and what you need to do for it to be useful for others.
If you do it for yourself, there are no tests or documentation or even a GUI. It’s quick and dirty, all configuration is hardcoded. If you need a different config, you’ll just change the code.
All that doesn’t really fly if you expect someone else to use the project.
On the other side, especially if it’s too polished, idiots will perceive the project as being a commercial one and demand that you do what they want.
If you don’t know the stories, maybe read up on the maintainer of core-js or Marcel Bokhorst. These two people complained about how tough it is to make good open source software. Both talked specifically about their toxic audience. So in turn the audience ridiculed them and they even received death threats.
I suppose the thing is, I personally wouldn’t care much if anyone else used it or not, my itch has been scratched. If someone else finds it of use, great! If they need changes, they’ve got the code and can get crackin’ on it themselves. Or, they can pay me to do it if we can agree on a price. Outside of that I have no expectations.
Account walled article
Bypass Paywalls Clean gets around most of this stuff without thinking too much about it. For this one it displayed a couple alternative links at the top which had the full article.
I was at an evening reception in Germany together with people from the German software community, business owners, government and associations. Beside interesting discussions, I met a couple of people from organizatiojns participating in the GAIA-X initiative to build a European alternative to American cloud providers such as Google, Amazon or Microsoft. Something I usually am not really interested in. These government initiatives often tend to be focused more on bureaucracy and imho don’t produce any hard output. As the evening got longer, I was given some updates on how the initiative progresses. To no one’s surprise the initiative had produced a vast amount of papers and concepts, and conducted numerous meetings. The shocker came when one person said that they’re now ready for the implementation.
“We’ve created all the concepts and ideas and now we’re looking for the Open Source community to build the software for an autonomous European Cloud.”
— Anonymous person involved in the European GAIA-X initiative
I asked her what funding was associated and whether there are any bounties for implementing any of their concepts. She looked at me confused and responded; “No, the Open Source community should implement it now”. I asked her whether she knew how Open Source actually works, if she had ever met any Open Source project teams, had ever written any software herself. You can guess the answer: it’s No. Why am I telling you this? Because this is absolutely the perception many organizations have of Open Source. Someone, somewhere writes software that businesses, NGOs or government can use to build services. And that’s a huge problem now. Open Source and Free Software is not a charity — it involves people with lifes and families to feed
The Commercialized Open Source
The Open Source movement was supposed to be a movement that is the exact opposite of commercial software. At least, if you believe the popular Open Source writing “The Cathedral And The Bazar”. The idealistic approach of Open Source was to make source code openly and freely available. Funding should be through sponsorships and donations to the projects. Open Source is, or maybe was?, about making software freely and openly available to anyone.
Today’s Open Source projects fall into very narrow categories and almost all projects seem to go through the exact same path in your lifetime.
- The solo project
Run by a single individual, overloaded by ignorant users and forced to shut the project down due to a lack of time and funding. - The underfunded survivors
Run by a group of people in their spare-time always trying to keep the project afloat. Chronically underfunded, but powering millions of software products across the globe. - The actually commercial software
Started small, created a commercial spin-off and has mainly become commercial software with a light version published as Open Source. - The FAANG project
Started by an individual or a FAANG organization, entire projects funded by FAANG companies, run by FAANG employees and controlled by FAANG.
If you’re honest, the large part of successful Open Source projects is funded by organizations. Often not in hard cash, but by allowing employees on their payroll to work on the projects. The OSCI or Open Source Contributor Index draws a very clear picture: the majority of support and funding for Open Source comes from big tech. Big American tech.
The argument, often heard in Europe, that Open Source software makes European governments and organizations independent of American suppliers lacks any understanding of how Open Source currently works. Maybe even lacks understanding of how software works at all.
The World Was Never Ready For Open Source
The idea that Open Source software would free the user can be considered a failure. Don’t get me wrong! Open Source is awesome. I contribute, I publish, I participate and I love it. But I am also a programmer and I claim to know what Open Source is since I read “The Cathedral And The Bazaar”. The average person however could not care less about the licensing of the software they use and they become increasingly unaware of what software is at all.
The amount of people being able to understand Node.js, let alone read its source code is tiny. The same goes for Bitcoin. Numerous myths surrounded Bitcoin and the way it worked when it launched. Yet, the Bitcoin source code happily resided in a Github repository — for everyone to read. Only a few really read it — including me. People are simply not interested. The result? Open Source has become a way of collaboration for big tech and moved far away from its original ideals. Linux was invented by Linus Torvalds in Finland. MySQL came out of Sweden. PHP has Danish heritage. The list of European software inventions goes on. Yet, they found their destiny and home in America for a simple reason: the lack of funding in Europe, the lack of interest in Europe and a horrendous amount of bureaucracy in many EU member states that makes building a software business a living nightmare. Not to mention trying to established the organizational foundations for an Open Source project.
The Funding Issues Remain Unresolved
The path to success of an Open Source project is often either becoming a U.S. software company or becoming a part of one. If you have a look at Mastodon, the proclaimed Twitter killer, and its funding situation relying on Patreon donations, the outcome is pretty clear. Even a highly popular project like Mastodon, that even has government users and large-scale installations, can hardly grow a substantial organization.
Open Source projects hardly survive without big tech as a donor
Most Open Source projects remain chronically underfunded and there’s no change on the horizon. Any project team I came across in my life as a programmer warmly and wholeheartedly welcomed big tech as a donor. You can’t blame them and it’s not surprising at all.
The vast majority of private individuals, small and medium-size businesses that use Open Source never donate a single penny while producing cost and consuming time of Open Source projects. People posting issues in the bug trackers demanding swift responses, downloading gigabytes of Open Source software without ever giving back and complain whenever projects don’t go in their favour. I have yet to come across a single popular Open Source project that thrives while being funded by private individuals, small and medium size companies. Open Source has a funding problem.
What Is Needed To Fix Open Source
All the Open Source projects we love were build by individuals or very small teams. These individuals or project teams have made a lot of sacrifices for their Open Source projects. They invested money and a large fraction of their time without ever receiving anything in return. In a world of ever-rising cost of living, increasing taxation, increasing rent, families struggling to make ends meet, there are fewer and fewer people capable and willing to build and maintain Open Source projects.
The idea of Open Source that people would build the software they love to share with other people who in return would fund the builders remains an idealogic pipe dream.
The idealogic pipe dream of free people through free software never materialized
Only if private individuals, small and medium businesses are capable and willing to donate to Open Source in the masses, it’ll change. The last 30 years of Open Source and Free Software have shown that the willingness isn’t there and the capability of individuals to donate is in decline. Further governments have never created any incentives (e.g. tax incentives) for Open Source projects. Society was not ready for Open Source and society is is becoming less and less ready.
Why Is It Not Open Source?
Over the past 25 years of my life as a software engineer, I published both Open Source and commercial software. Only the commercial software has ever made a noticable return. When publishing commercial software, you’ll find a number of people asking why I did not publish my software as Open Source. My response is very simple: “Because you wouldn’t pay for it”. People have become to believe that Open Source is a charity and that anyone is entitled to take from an Open Source project whatever the person wants.
The result is that fewer and fewer software is released as Open Source and instead distributed as Cloud-based commercial SaaS. With web- or cloud-based commercial SaaS there’s no piracy and users can hardly circumvent paying the authors for the software.
Open Source is in shambles and it’s breaking my heart as a software engineer and die-hard Open Source fan.
Do you have a solution to fix Open Source or are you fine with the way it is?
Thanks for reading. Jan