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.
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 written a million lines of powershell in the past few years for stupid business reasons. I fucking hate the language and I don't see why anyone would write anything serious in it
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...
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.)
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.
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.
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.
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
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.
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.
I feel like there's maybe also a bit of disappointment in open-source going around? The last few years have shown that it's not the silver bullet, it was thought to be.
Companies will find ways to relicense contributions via CLAs, or to just straight up violate your copyright with GenAI. And even projects that technically tick all the open-source boxes, like Chromium and parts of Android, can and do exert plenty control over users, because no one has the manpower to fork them.
Then there's plenty unethical companies making use of open-source, and they rarely contribute back to make up for it.
Nevermind that the open-source infrastructure is owned by corporations (GitHub, Discord etc.).
And it feels ever more present to me that publishing things as open-source means maintenance work, which can quickly lead to burnout. People just expect you to provide updates, no matter what your license text says.
Like, I certainly don't either think that not doing open-source is any closer to a solution. But I'm finally at a point where I feel like my code is useful and good enough to publish, and it just feels like either my only 'users' are corporations scraping my code, or if I promote it, then it's just a ton of maintenance work waiting for me.
I don't know, maybe that's also just a me-problem...
And it feels ever more present to me that publishing things as open-source means maintenance work, which can quickly lead to burnout. People just expect you to provide updates, no matter what your license text says.
David Beazley, big in the python world and one of the OGs of the python ecosystem from back in the 90s, kinda had a moment about this a couple of years ago.
He has or had a few somewhat popular libraries and liked to write things and put them out there. But, IIRC, got fed up of the consumeristic culture that had taken over open source.
I think he put it along the lines of "The kind of open source I'm into is the 'here's a cool thing I made, feel free to use it however you want' kind" ... and didn't have positive things to say about the whole "every open source author is now a brand and vendor" thing.
The result of which, IIRC, was him archiving all of his libraries on GitHub. From a distance, it also seemed like he felt burnt out from a hacking culture in which he no longer felt like he belonged.
You can kinda see this in things like modding communities or anything piracy related too. Users just want easy solutions even if it's at the expense of creators, and creators are doing it more and more for money rather than any personal drive or satisfaction. I can't believe we've reached a point where even mods are being locked behind paywalls, need to be commissioned or sometimes have entire teams funded by patreon to work on them, it's just another business nowadays.
I was tempted to disagree, but the Patreon subscription paywalls is a very good point. Are we doing less free work for the public good (or at least accessible to the public), or is it a prevalent niche that's very visible, without influence on those that volunteer work like before?
The thought I had before that was that maybe the creative output changed. People build in Minecraft and VRChat, in hosted platforms. This may be different to before, where mods were separate things and communities.
I still see a lot of voluntary open work. But I'm not confident in assessing it's prevalence or shift.
Depends on your skills. Documentation is always useful. If you have language skills, translation of documentation or helping create language packs/translations.
That's just off the top of my head. I'm sure if I thought about it, I could come up with more.
If not code or documentation contributions, then well-written bug reports. Seriously, the quality of bug reports sometimes leaves a lot to be desired. And I don't necessarily mean a full back-trace attached -- and please, if you ever send a back-trace, copy-and-paste the text, never a screenshot -- but just details like: system details, OS, version, step-by-step instructions to reproduce that a non-coder could also understand, plus what you expected to happen versus what actually happened.
This stuff (usually) comes naturally to programmers and engineers, but users don't necessarily see things this way. I sometimes think bug reports need to adopt a "so tell me what happened?" approach, where reporters are encouraged to describe free-form what they think of the software, then providing the specific details that developers need. That at least would collect all the relevant details, plus extra details that no developers thought to ask.
Even just having folks that help gather and distill details from user reporters on a forum is easing a burden off of developers, and that effort should be welcomed by any competently-organized project. Many projects already have a template for reports, although it often gets mistaken for boilerplate. Helping reports recognize that they need to fill in all the details is a useful activity that isn't code or docs.
I got into a project starting out with translations. Then community support. Then wrote a web interface to the desktop/server application. Then got into the project itself.
Many projects have a contributing document or page with pointers. In general, being part of the community, providing information or support, improving documentation, or the bug tracker (reproduction, labeling, discussing/guiding), translating.
What can be done and what makes sense varies a lot depending on project size and popularity too.
The greybeards now burned out from maintaining our foundational stuff have no one who's learned the 'why's of best practice under a good mentor, nor have time to donate to open source - and 'fuck you pay me' is cute for all the strings it has, btw, but your mentor would have taught you that.
Some of us, worried at distros drinking IBMs (then redhat) kool-aid of badly built shit who raised concerns were labeled 'just old'; so, like a COVID nurse we said 'no u' and focused on other tools and projects.
Things are gonna die. Somewhere in there things will become poorly-maintained. After a dark time of shit massively sucking - and probably another init daemon because blobs are sexy? - it will get better.
But by then apophis will drag our moon into a declining orbit and make us focus on nuking the moon to push it back up.
The sad thing is that the last few years was the PERFECT time for open source to see a youth resurgence.
Almost two years ago we saw widespread layoffs across the tech industry, and tens of thousands of young people found themselves without work for long periods of time. Many of them would have killed for an opportunity to spend that time "working" for major open source projects with a small stipend for services provided. Young people can say "I was laid off at Viacom, but worked for the Linux Foundation for 6 months before finding my next role at ..."
Hell, you want some hungry talent that would love to work on open source? Target those that are laid off or PIP'd while on visas, and put some legal resources behind supporting their stay in the country while they work on open source, until they find their feet again. Most of them will either go back home or will end up working at predatory consultancy firms that hire L1 or H1 workers that need to stay for their families sake, so take that conveyor belt of talent and put them to work on something useful.
I would say, the easiest path is: use it, and if you find something lacking of incorrect, report and maybe help fixing/testing. Even on this path may lie quite a lot of obstacles, though
What's needed is renewed ethos, not just fresh blood.
What's needed is people who actually like the projects, on the technical level, and use them daily. Not people who are just trying to maintain an open-source "portfolio" they can showcase in pursuit of landing big corpo job.
A "portfolio" which also needs to, in their mind, project certain culture war prioritizations and positionings that are fully inline with the ones corpos are projecting.
It will be interesting to see how much of the facade of morality will remain if these corpo projections change, or when the corpo priorities and positionings, by design, don't care, at best, about little unimportant stuff like American-uniparty-assisted genocide! We got to see murmurs of that in the last few months.
Will the facade be exposed, or will it simply change face? What if a job was on the line?
I'm reminded of a certain person with the initials S.K,, who was a Rust official, and a pretend Windows-user in hopes of landing a Microsoft job (he pretty much said as much). He was also a big culture-war-style moral posturer. And a post-open-source world hypothesiser.
Was it weird for such a supposed moral "progressive" to be a big nu-Microsoft admirer? and one who used his position to push for the idea that anyone who maintained a classical open-source/free-software position towards Microsoft is a fanatic? No, it wasn't. He was one of many after all.
All these things go hand in hand. And if you think this is a derailing comment that went way off the rails, then I hope you maintain the same position about the effects of all this on the open-source and free-software world itself.
Okay I am not going to lie I am pretty lost as to what you are saying here. I read this twice and I am still confused.
What does working on open source projects have to do with the culture war? Also what do you mean by culture war? Do you believe like some leftists do that it's all a distraction? Or do you think like the right wing do that it's a leftist conspiracy to changes some countries values? Or another third thing I don't know about?
Who is an American uniparty?
By new Microsoft do you mean how they have changed with regards to Open Source? I mean they actually release open source software now, and don't fight as much against Linux and other communities. Presumably because they realised they can't fight Linux. Do you think this is a bad thing? They obviously aren't a benevolent force for good, but I personally prefer the new attitude to the old one at least.
I might have missed if it was in the article. Sorry in advance for that.
Do we have any idea regarding the top 3 or top 5 reasons that drove potential contributors away? Not in terms of hypotheses, asking about actual studies, interviews, surveys, etc
True, the Linux Foundation events all now come with child support for young parents, but my expert guestimate is the average age is still well into the 30s.
More specifically, the Cloud Native Computing Foundations (CNCF)'s KubeCons have many tracks for people who want to learn the ins and outs of Kubernetes and other cloud-native programs.
The OSPO for Good conference proposed solutions that have been suggested before, such as hackathons, to engage young developers in open source coding.
As David Nalley, president of the Apache Software Foundation (ASF) and director of open source strategy at Amazon Web Services (AWS), said at the conference: "Getting people to maintain old code isn't easy.
… I thought if I could hold on just a bit longer, I could help maintain the focus on long term development to improve the user experience.
She also runs the LFX Mentorship program, which seeks to sponsor and train the next generation of open source developers and leaders.
The original article contains 741 words, the summary contains 161 words. Saved 78%. I'm a bot and I'm open source!