Not to pick on you personally, but this sort of assertion is often thrown around with no data.
It's not even clear to me that it's one or the other. For me personally it was always a mixture of both -- there's a lot of fun but I wouldn't do it without the money. But that's kinda true for my non-OSS engineering work, too!
> pure engineers
I see what you're saying, but I think there is an element of "making a product" that goes into almost any new OSS project; there is an attraction of exploring the product space from a fresh start that is part of the motivation of many many new open source projects.
(Also I think the notion that a "pure engineer" doesn't care about all those things is just wrong, but that's a whole other conversation.)
But technically what you are saying may be right. We mostly hear about commercial work because of marketing around it. The real fun problem solving projects are often found only when you need it.
So you believe "most people" do it for the money?
There's so little money into OSS and yet so many OSS contributors, I can't see how most people could do it for money, even if they wanted to. You would have to include indirect gains to maybe become plausible that most do it for money, like support contracts, but then are they working on the OSS project to get contracts or are they getting contracts to be able to works on the OSS project.
Then the project I started decided to trigger my obsessive behaviours and take over my life. And so it goes.
We don't have "official data", this was just my opinion, based on my personal experience. I think most of the people start OSS for the reasons I mentioned, but what happens later depends on many things - success of the project, luck, type of personality of the owner, crossing paths, right place at right time, etc.
"Pure engineer" for me is someone who just wants to code, to solve a problem, and doesn't care a lot about other stuff. Even processes to organise the team (SCRUM meetings for example) are boring, waste of time. Not to mention other stuff. But that same person can, of course, change over time and go searching for other things. Me being an example - a significant part of my career I was like that, with a vision of being a technical lead or architect in the future. Until one day I realised I'm not so hyped about that anymore, that now other things motivate me. This document, 10 years ago, would be mostly new information for me. Probably not so interesting. Now it's old news for me, but it's as a "pure engineer's" good starting point, something to get him in the right direction if he wants to expand his competence toward monetising his OSS.
I think it's basically impossible to have "data" on why people work on OSS, on what their actual motivation is. All you're really going to get is anecdotal.
There are good reasons to explore ideas and participate in projects that extend beyond making pocket change through clickbait.
In fact when I was last employed (I'm now freelance, or at least trying to be freelance) I very much did not work on my OSS project, or use it in client work, because while I had verbal assurances that the company would not assert their rights, the contract I signed included an IP clause that was a little too broad for my liking.
As to the OP, It would be nice if I could figure out a way to make my OSS project earn enough to cover my rent. I would be really happy if I could get it to pay its own rent - hosting the project's home page is not $free.
(Obligatory spam of the project's home URL: https://scrawl-v8.rikweb.org.uk/ )
This isn't my experience--I've worked with hundreds of developers who do open source, and only a handful were paid in any way. I don't exactly look deeply into the finances of every open source project, but my own open source projects, I've paid to run. Now, I'm aware that my experience is anecdotal, so I'm not going to confidently say that you're wrong, but I'll say that the best evidence I have (which isn't very good) doesn't match your claim. If you want to persuade me, you'll have to provide better evidence than what I already have.
That doesn't say anything about the number of people who write OSS.
OSS projects that are created by companies as a strategic move are something completely different.
Example: I got a Eufy RoboVac 15C and I was in a homebridge-craze at the time I got it. So I found some code in python that was able to control the vacuum for the most part and so using that as my base I wrote a homebridge plugin in nodejs that would let you issue all the commands. Now homebridge on it's own is far from stable (IMHO, if it works for you then that's great but for me it would break every month or so randomly), then you throw Tuya into the mix, and a company that made some firmware changes to the vacuum and it's a house of cards.
I was proud of myself for getting it all to work but in practice I run the vacuum on a timer and never futz with controlling it directly. I really just wanted to prove I could do it. To get it to play nice with homebridge I had to publish it on npm (2 libraries, one general purpose nodejs lib to control the vacuum and one that was the homebridge plugin that used the lib).
Queue support requests... I easily spent 30+ hours trying to help people both on GH and over email (email was even harder for me to say no to). This was at a point where I wasn't even using homebridge at all, let alone the plugin.
Maybe I'm just an idiot for not deprecating the repo or putting up a message but I felt obligated to help and then when I procrastinated helping it would just be this background sense of shame for abandoning it. Thankfully someone else, who apparently does use it, stepped up to fix some of the things that broke and has taken over most of the support-related things (which reminds me, I need to see about transferring the repo over to them fully) but I think that's generally the exception and not the rule.
Bottom line publishing anything feels like I'm shackling myself to it which is not a feeling I like or enjoy which leads to me just putting less out there. Maybe I'm missing an obvious solution but I really don't like putting myself in that situation. I am 100% willing to hand over my work for free (as in, for projects that I have no intention of trying to monetize/purse) but I don't want to signup for future work. Is this just selfish or what?
You have no idea how many tiny repos I have used for reference with those types of projects! In many cases your code might be the only working example.
You can put a big disclaimer in it, declare it a PoC, and just ignore issues if you'd like - the code doesn't even have to still be working, it's still cool and helpful!
I've written hacky one-offs before that other people used as a jumping-off point for something more serious, which is pretty cool to see. I'm always in favor of releasing your code for that reason, you never know if someone else will find it useful!
https://sachachua.com/blog/2020/07/why-i-love-free-software/
No. I've abandoned game mods I created because I don't play the game anymore. Had maybe a dozen users ask for it to be updated, it just doesn't fit my priorities.
No shame in setting your boundaries.
Yeah, that's a serious problem, and one similar to ones that artists and musicians face.
I've made a fair bit of art (paintings, drawings, sculptures) but except for one group exhibit in high school I've never bothered to exhibit it anywhere, sell it online, or show it to anyone apart from family members and a few friends (and even they haven't seen most of my art). It's just too much trouble. I'd like to make a living making art, and have considered creating an Etsy page or something, but have never gotten around to it. So I just keep making art for myself.
I also make music, and have kept that mostly to myself for the same reason. I've uploaded a fraction of it to Soundcloud, but I don't advertise it in any way, so even finding it on Soundcloud would be almost impossible for someone if they didn't search for specific keywords that I've tagged my music with. Mostly I don't bother even uploading it, though. It's too much trouble to record, edit, name, upload, provide metadata to Soundcloud and find an image to go with the track. So I just tend to keep the music to myself.
I've also written quite a bit of software over the years, and have open sourced some of it, and am a big believer in open source, but it's just too much trouble for me to package stuff nicely, write readmes for my software, and make sure the software is decoupled enough from my own environment to be useful/buildable for someone else, so a lot of it has just kind of rotted away on my hard drive for decades without anyone else even knowing of its existence. So I mostly just write this code for myself.
Some people go all out to promote their software, music, or art, but that's just not me. For me the joy is in the creation, and the rest is just not important enough.
Kudos to all those people who actually go to the trouble of open sourcing their code, release music to the public, or show their art. I know how much work just doing that can be, never mind trying to make a living at it.
That said, if you are willing to go to the trouble, there are successful open source projects which manage to make money that you could model your own projects on.
Anyway, this has been a problem since forever. That's why all kinds of occupations like singer managers, sales, marketing etc. exist. It's all perfectly normal.
For you, it would be good to find someone compatible, someone to take care of presenting your work to the public while you can focus on creating.
Problems come if that peace of software gets popular, they get a lot of bug reports, improvement suggestions/requests, emails, noise in general. And a person who wrote the software has a full time job, so the time available for OSS is limited. That person is probably well paid in it's current job, so the OSS has a long way to go in order to replace that income, meaning it's very hard to transfer from a regular job to maintaining and living from your OSS.
And the most important thing - those people are pure engineers, that don't know/are not interested in business, marketing, making a product out of their software, etc.. practically anything besides coding. It's like advising a mason: "Hey man, you know how to build a building, why don't you build one and sell it? You can pay the rent with it." It's a bit more complicated than that.
But nice article overall, good starting point for someone who wants to find out more on the topic.