If you look at projects in more popular languages like JS, Rust, Python. There is plenty of new blood in the contributors list. I won’t speculate as to why, but it looks like the new generation doesn’t like c and c++.
I think this is also backed up by the Linux kernel and thunderbird projects. Both are old c/c++ codebases and both have stated they are adopting rust in hopes of drawing interest (and contributors) from the rust community.
I’ll also throw out: aging infrastructure, build systems, coding practices, etc.
I looked into contributing to the kernel - it’s already an uphill battle to understand such a large, complex piece of software written almost entirely in C - but then you also need to subscribe to busy mailing lists and contribute code via email, something I’ve never done at 30 and I’m betting most of the younger generation doesn’t even know is possible. I know it “works” but I’m really doubting it’s the most efficient way to be doing things in 2024 - there’s a reason so many infrastructure tools have been developed over the years.
The barriers to entry for a lot of projects is way too high, and IMO a lot of existing “grey” maintainers, somewhat understandably, have no interest in changing their processes after so much time. But if you make it too hard to contribute, no one will bother.
How do you contribute code through a mailing list? Like I don’t understand…
Found a blog post that gives a quick overview of how to do git via email in general: https://peter.eisentraut.org/blog/2023/05/09/how-to-submit-a-patch-by-email-2023-edition
So at least from my understanding you’d make your changes, email the contents of the patch to the maintainer, and then they’d apply it on their side, do code review, email you comments, etc. until it was in an acceptable state.
There’s also the full kernel development wiki that goes into all the specifics: https://www.kernel.org/doc/html/v4.16/process/howto.html
(I never got through the whole thing)
ELI5: Git has tools built-in to put your changes into emails and send them. People can either bring them in or see the diff in the emails.
Reading and interactive tutorials:
I won’t speculate as to why, but it looks like the new generation doesn’t like c and c++.
It’s not that hard to know why - these languages have footguns literally everywhere. They seem simple and powerful at first, but they turn into a monster soon enough. There are simply objectively better alternatives today, like Rust. It shouldn’t be surprising, it’s been so many decades after all.
I’ve heard a lot about Rust. I’ll have to look into it. I hate myself so my preferred language is PowerShell.
All the old people have learned the old systems (C, Perl, etc) and don’t want to have to learn something new, whereas young people are happy to use something newer and better (Rust, Typescript, etc.) because they don’t mind learning and don’t have a ton of old knowledge to throw away.
Yes that’s a big generalisation and there are plenty of exceptions, but in my experience it’s broadly true.
I work on an open source project which has a C component. I offered them our closed source C++ version which is way better and fixes a load of issues… Not interested. They learnt C in the 70s and don’t see why they should have to change.
Actually that project is a mix of old curmudgeons and young PhD students so there is a bit of a mismatch, but I didn’t feel like fighting the naysaying so…
Multiple things:
- get rid of mandatory mailinglists
- use a modern git flow without emails
- get the hell off of discord
- don’t make me a “maintainer”. I write code, I love it. Don’t Peter Principle me
- pay me if I’m supposed to care
The goddamn Linux Foundation is investing more into AI than friggin Linux. They could be hiring hundreds of staff to work on Linux with the billions they shove unto AI. What the fuck are they doing? Mozilla is another offender.
Open source foundations with money should be using it to develop open source.
Also, on greybeard conferences: allow virtual participation please? My company isn’t going to give me 4 days off to travel somewhere for one day, have a 2 day conference, then take another day to get back. Nor am I going to pay 200+€ or something as an entrance fee on top of my ticket halfway around the world.
Ironically, I think it’s the younger ones the ones pushing for discord the most. Some projects opened a discord because it actually made it more attractive to young people.
The question is how to make an open source alternative more attractive.
You can make a Discord server in like 1 second for free. It’s got mostly good enough tools for managing the community. I get the appeal. If you already use it then it’s super easy to just use it for that too. (Except on Android, where you can’t easily switch accounts. Maybe iPhone has the same problem though.)
Mailing lists are pretty awesome. They’re like a decentralized forum. There are even good web UIs!
That said, submitting and reviewing patches over email suuucks.
In 2023 the organization reported significant revenues, totaling approximately $262.6 million.
They are spending BILLIONS on AI!!!
They are doing what they intended to do. It’s just not in line with your agenda.
OK, I was wrong about the billions.
They are doing what they intended to do. It’s just not in line with your agenda.
The Linux Foundation spent 2% on linux kernel support in 2023.
Linux is “my agenda”. It was me who put Linux in the name “Linux Foundation”. Me and me alone. 😂
Young people today are struggling to make ends meet - they don’t have enough comfort and free time to be able to donate their labor.
God it’s not even that, the general tech knowledge has just plowed into the ground
That’s true, but that’s also just the general populous, who weren’t ever contributing to open source anyways.
I don’t think the quality of coders (professional or hobby) has really declined that much.
oh it definitely has. I’ve been in the industry since last century, the actual poke everything, do this for fun, invest yourself, wild jockey type…well we’re a dying breed.
I wish I had one manday a week to contribute to the libraries my company uses. I usually do it in my work hours when I find a serious bug or need a new feature.
I fixed a bug in an open source project we use and got into trouble for it :|
That’s like saying they don’t have enough comfort and free time to do art. Actually, the statements are identical. We create not because we can but because we must.
Every artist sacrifices other things so that they can do art. I get that we have less to sacrifice than we used to but in objective, absolute, historical terms, we are still sooooo fucking wealthy and have so many opportunities and resources at our disposal. And I say this as someone with a 13k annual income who contributes to FOSS projects.
Oh man you’re so close to getting the point…
We don’t have enough comfort and free time to do art! That’s an actual legitimate thing that’s going on right now
Our civilization demands that I be profitable to a parasite who leeches a majority of my labour’s value in order to accumulate obscene levels of wealth.
Without exorbitant amounts of time spent maintaining that profitability, I will end up poor, homeless, and eventually dead from exposure. This leaves vanishingly little time to spend on open source work, regardless of how intellectually and ethically attractive it may be.
If you look at property rights, the contrast is even stronger. The employer owns 100% of the property rights to the produced outputs and owes 100% of the liabilities for the used-up inputs. Meanwhile, workers qua employee receive 0% of both. This is despite their joint de facto responsibility for producing those results violating the basic principle of justice.
We need to move towards a copyfarleft model that considers the rights of both software users and developers unlike copyleft
that considers the rights of both software users and developers unlike copyleft
Kind of in the vein of what Redis attempted to with its relicense to SSPL
Far left as in explicit restrictions on capitalist firms using the software without paying for it while still allowing full software freedom for worker coops, which don’t violate workers’ rights.
Copyfarleft should set up a whole family of licenses of varying strengths and its own alternative ideology from the FSF. The first principle is an almost complete rejection of permissive open source licenses as enabling capitalist free riding @programming
I have a huge soft spot for SSPL. I believe the FSF is too ideological and the OSI has conflicts of interest and that’s mainly why it wasn’t accepted. It’s unfortunate, because a new, stronger AGPL that closes more loop holes would’ve been amazing.
But open-source doesn’t always mean working for free, nor does it mean people do it for purely ethical (or socialist?) reason.
There are lots of reason why open-source is attractive after discounting ethics and money. I imagine being credited for being a major contributor to a popular open-source project would mean better job opportunity in the competitive tech job market. The gig doesn’t directly offer you money, but it does gravitate the right company that has the money to fund your work they find very valuable. In a sense, this isn’t that far from how capitalism work – credits are due to the people who brings most value to the society, whether the source of the software are open to all or not.
This is of course a very superficial statement to make, but I remember Eric Raymond wrote about this in more a detailed (and more convincing!) manner in The Cathedral and the Bazaar.
open-source doesn’t always mean working for free,
Sponsorship brings goal conflicts, and locks both sponsor and sponsee into a death spiral of software like a dog with one true master and a master who can never get a new dog until this one is dead.
No time, no money, no house.