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.
That’s definitely a healthy way of dealing with that.
But with this way, something like Linux, Distros, Firefox, Blender or LibreOffice would have never happened. There are those who want to build retail-level open source software, mostly out of idealism, and then you are stuck between a non-monetizable rock and a toxic hard place.
But I totally agree with you, unless you are super idealistic, your way of handling it is probably the most healthy one and the one that will cause you the least amount of trouble. And it’s also what I do, except when I sometimes do get idealistic.
I put it to you that ideals may constitute a scratchable itch.
That is true, but then you probably are in trouble ;)
Depends on how hard you scratch! lol
If anyone demands I implement some feature into one of my open source projects that I either don’t have time for or don’t want to do, my response is one of the following:
- I’ll get to it when I can (if I actually care to do it)
- You are welcome to implement it yourself and submit a PR
- You are welcome to fork the project and do it yourself or convince someone else to do it
But thankfully, my projects don’t have a very wide audience, so requests/demands are rare.
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.
Did you not fancy telling them what a stupid idea it was?
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.
Titles are a bit inflated in small companies, so “head of software development” meant I was the team leader of a team of 7 developers including myself. But yeah, they really thought they knew so much more about open source and open source developers than me.
Even if you’d said you were “just” a software developer, not even a head of a small team of developers, I’d still work on the assumption that you know more about software development than a CEO and a marketing person. Relevant professional experience gives you much more credibility than they had. :)
What I don’t understand is why governments don’t try to fund open source software.
Cyber is increasingly becoming an attack vector on key infrastructure and it would be so helpful to have a group of developers to be at government disposal while understanding what software is being run on.
I understand that China and a few other countries use Linux but this is not enough. https://en.wikipedia.org/wiki/List_of_Linux_adopters
Honestly any nation not named the United States should move to FOSS if they care about security. Imagine the keys to all important infrastructure being held by foreign companies.
What I don’t understand is why governments don’t try to fund open source software.
Honestly, i think a lot of politicians are actually too old to understand even the slightest thing about cybersecurity and safety on the internet. Looking at my age group and certainly above that age, they often don’t even know the difference between windows and a browser!
Open source isn’t struggling. It’s a struggle. People have high expectations, and expectations go awry in open source and profit models.
I think the article does raise some interesting points, particularly around the disconnect in non-technical people having absolutely no understanding of open source software and the lack of funding (including government tax incentives) to creating and maintaining open source software.
There are some projects that are doing well, completely unfunded by corporations, but they’re definitely in the minority. And most of the successful ones have a freemium model or are related to piracy or ad blocking or some other philosophically- or economically-motivated project.