I have a lot of free time and am willing to contribute.
But the responses I largely got from reaching out to several projects pushed me away again.
If you make someone who wants to help you for free feel like they're ringing your doorbell begging for money, then don't be surprised when your project dies with you.
My "favorite" was one of the lead devs of Slackware, who deployed an edit I had proposed to one of his pages in the Slackware wiki "in the hope of avoiding conversations like this in the future".
I got a single class that supported new hardware written for a controller. They said they don't want the overhead of maintaining an additional class for new hardware (a class that doesn't change ever btw). I thought whatever, works for me, doesn't need to be on the repo and "I got mine". I have since seen 3 people asking if the hardware is supported / asking for it to be implemented. Oh well.
We really do need some website to easily find projects that people want help on; projects that one can simply jump in on to translate a few strings for example, or fix a small bug that also needs some unit tests added to it that the maintainer hasn't had time to do.
It would also be nice to be able to see the average response time for PRs, the amount of documentation, and "average time to get up and running". Too many times have I seen a "good for beginners" or something tag on github but the project is a nightmare to setup. PHP and C/C++ projects are especially bad. They just assume everybody knows how to get started or have a "this works on my machine" setup, which doesn't work for anybody else but the maintainers and core contributors. I don't want to waste my time with:
hours figuring out how to setup the project
waiting weeks or months for feedback on a supposedly "easy" PR
get extremely pedantic reviews like "a space is missing" or "a new line before this function" or "this is a method, not a function"
It's really sad. But it sounds like a natural consequence of doing it under capitalism.
I wish for a time when everything will be open source by default
This really is the only way if we want competition (lower prices) and choice. All actual revenues would be derived from service provision (consulting, customization, tech support, certification).
From a "small c" capitalism perspective, it is not normal that MS, Nvidia, Apple have such insane margins. Competition should have forced them to lower prices while offering the same level of products/services.
It won't happen. What might is paying back if you use it for commercial projects.
Something like you pay some percent of your gross to an organisation and that gets split between the top level dependencies you use and then split down through their dependencies.
Software remains free for non commercial use, companies pay a fair share and the Devs get paid.
In my (very limited) experience, even getting contributions is near impossible. Lots of people like to open issues, far fewer like to work on solving them.
Add in xz, and my package will likely die with me (which is fine, its not critical, and I have a few decades left)
I've attempted to submit PRs to open source projects for most of my career and it's such a fuckin nightmare. 99% of the time I'm just trying to patch a bug. I get:
Ignored for months and eventually rejected without reason
Repeated pushback on whether the fix is necessary
Snarky feedback
I have had multiple occasions where one of the regular maintainers copied my code to a new branch and PR, then merged my changes under only their name, instead of sending me review comments or collaborating on edits
Open source is often not open contribution. The reason why open source projects die isn't because nobody is contributing. It's because project owners usually kinda suck. It's like contributing to StackExchange. IDK if it's just that programmers tend to be contentious assholes or what.
Edit: Don't get me started on abandonware. I don't know if anyone uses FoundryVTT but module creators tend to abandon their software and never update it again, forcing people to fork it just to maintain the project through new versions
I don't know why, but there are a few projects I've tried contributing to that are just extremely tiresome to get running and when a PR comes in to improve it, they pick it to death or outright reject it. "Works on my machine", "I don't like $technology", "We already use gitpod, this is unnecessary", etc. have made me unwilling to invest time in projects that look difficult to setup.
"Just run ./configure && make && make install". Has not worked for me. Not even once.
Thanks to AUR, I haven't manually run a autoconf build in years, but I remember them being very fiddly. Lots of "google for header file, install and retry".
I think maintainer burn-out somewhat contributes to the hostile approach some projects have, anything that is accepted into a project needs to be maintained and comes with a risk of being broken in the future. If the original committer isnt around, then the maintainers either have to take on that burden, or remove it.
Its a tough cycle to break, I don't know what the answer is.
I’m an unpaid maintainer working on my own projects, so far I got (in my opinion) a lot of external contributions on those projects but people do not stay.
I just like working on my projects for fun, and seeing the stars in GitHub people seem to like the project, I’m just the only one creating issues on it and improving the product mainly for fun.
As a maintainer it isn’t easy to get people onboard, as a contributor I have very strict needs to contribute to a project (good documentation, should be build easily with a few commands and not require a 40 years old version of an unmaintained software, a guide to know how to contribute (contributing.md)), and I’ve done my best to add that to my projects so I could onboard myself from another universe.
Oh and no discord. I had one at first (and still have for webhooks and discussing with a few people, but it’s closed and I’m pushing everyone to GitHub discussion).
Never work for free, especially if you're giving charity to big corpo. Or just any organization in general. Use freedom preserving licenses that forces companies to not be too greedy. Use copyleft, everywhere. In your library, in your arts, and in your work if possible.
Finances. We can't live in our own home paid for by a single income, don't have a cushy pension to build up and barely have savings to speak of, as our salaries aren't adjusted to the cost of living. Trust me, if I could work on opensource without worrying about the rest, I would. But my rent jumps 5-8% every year while my salary doesn't, the housing prices are insane and would put me in serious debt for 30+ years for an apartment (not house) in a "meh" part of town, which I'd have to sell and buy a new one every 5 years until I can afford a house my parents could buy in their 30s.
Also, I've seen what opensource does to maintainers and how much profit companies have extracted from free work without paying back. I truly believe opensource is the way forward, but not by the current definition many people adhere to (free for everybody including companies).
I wonder if it's the same worldwide. I think we here in Europe work fewer hours in a year. And also in the USA the average didn't like increase substantially in the last years. I'm not sure about this. Sure, it's become more difficult. But the numbers don't seem to reflect young people work longer than older generations. On average it seems the other way around.
There's a huge problem with OSS projects being toxic to newcomers, already existing maintainers get annoyed when they have to explain the peculiarities of their codebase they believe should be simple to understand (it's not).
I've personally stayed away from contributing in the meantime because I have more often than not "asked the wrong question" or have had genuine ones responded with "read the code" or "rtfm". I understand that some stuff is definitely simple to grasp just by looking at it, but I wouldn't be asking if I did, right?
The projects that will survive will have good communities and good CoC's, there's definitely outliers in that, the biggest being the Linux Kernel itself, though the problems have been reduced quite a bit in recent years.
Nah, it's not that bad. I've contributed to free software for almost 20 years now and it's not remotely that bad. I get thanked a lot. Maintainers take time to review my ideas and incorporate them so I can use their software how I like. I've learned a lot myself and I get to use all that stuff. So I gained a lot and generally it's been nice interactions.
Occasionally there is some drama. And I'd say there are some computer nerds with behavioral pecularities. It's rare but it happens. I'd say we're all just humans. I'm okay with that, and I've only had that happen to me in like 1 out of 100 interactions or less. I get annoyed by people way more frequently in my every-day life, so I'd say on average the free software world is a nicer place.
Commerce of service and products is a relationship of exchange.
If people don't have either, or both, skill and time to make what they need, but have the money, supporting monetarily what they use could cause a virtuous spiral, where the people with skill/time would be incentivized to produce more, allowing for more development in both the OSS and FOSS areas, and potentially bringing in more people as either consumers or maintainers.
But still worth noting words and actions walk side by side, so besides the consumer supporting developers, it's good to rise awareness too, like how the article already does. I just would advise self-moderation regarding situations akin to "I use Arch btw", as that can get annoying. e.e"
And lastly, a phrase I quite like: if everything was free, nothing would ever be made.