Why do younger coders struggle to break through the FOSS graybeard barrier?
- Reference: 1739547014
- News link: https://www.theregister.co.uk/2025/02/14/youngsters_in_foss/
- Source link:
Last year, our own Steven J. Vaughan-Nichols wrote that the [1]graying open source community needs fresh blood . That prompted Swedish developer [2]Jesper Olsson to get in touch, and we met up with him at the FOSDEM conference in Brussels. Olsson is a member of the team reviving the [3]SchemaSpy project after nearly a decade.
What do you feel are some of the issues getting involved with FOSS development for younger people?
[4]
The barriers to entry are not always visible, but they are there and they can be significant.
[5]
[6]
Can you give us an example?
Well, for instance, if you're contributing your own code, there is a high bar to clear. It often feels as if you need to surpass whatever the existing functionality is. Just to get accepted, you have to offer something better than some existing product that may have been around for decades.
[7]
Also, if you're both a newbie and quite young, then getting a youngster to share their code for the whole world to see is a very intimidating prospect. Many first-time contributors are students. University courses are long, and they go into great depth about programming languages and writing code, but the problem is, they often don't cover material that's essential for contributing. For instance, using tools like Git, and indeed, not just Git itself, but also supporting infrastructure such as GitHub. And this applies equally to GitLab and other alternatives.
Some would-be contributors are very familiar with programming, reading, and writing code, but they may never have opened an issue or sent a pull request. This is a scary first step. Others may have the necessary tech skills, but not the creativity. Where should they you begin? Also, if someone is scared, that can result in impostor syndrome. The fear that people all over the world will see your bad code is a powerful factor reducing the urge to share it.
Another aspect is a general technology issue that's not unique to IT or computing. For instance, cars. It was much easier to fix your own vehicle in the 1980s than it is now. Not only are devices much more complex now, they are also less open to hobbyists. What do you want to try to do, and where do you start – and indeed, why do you start? We create the code and the tools, but we don't create incentives to get in there and start exploring, investigating, and changing it.
[8]
What about motivations?
Yes, that's right. Why do FOSS at all? What's the incentive to write something and make it open source? Why not spend your time and effort on starting a company and trying to get rich? As most contributors report, working in FOSS can often lead to a terrible life/work balace.
[9]LibreOffice still kicking at 40, now with browser tricks and real-time collab
[10]'Key kernel maintainers' still back Rust in the Linux kernel, despite the doubters
[11]CentOS Connect conference announces return of Firefox
[12]Agent P waxes lyrical about 14 years of systemd
Does this affect you?
Well, yes, in fact, I just recently got married. But one of my co-maintainers on SchemaSpy has a wife and two kids. That leads to conflicting impulses. How do you find the time to work on code, when you also want to spend more time with your family?
Famously, [13]funding FOSS is a constant problem .
Funding matters, but it's not the only problem. You can't really fund time.
Fixing these things is not a technological problem. These are issues that are better addressed with marketing, communications, and, yes, with funding. Communications is a big issue here. For instance, the Linux kernel itself.
We know that [14]kernel developer burnout is a problem.
It's not just that. The kernel is very visible, but the team is small. But some of these things are not just in the tech sector. For instance, there are a lot of folks doing mods for video games. This can be a very creative activity, there is lots of room for innovation, as well as outlets such as streaming to reach an audience. It applies to all sorts of games, such as Pokémon, Elder Scrolls, and Minecraft. Game modding is a great way in. It could even be a way to set up a company, or to make a living. But it's not considered as FOSS. For novices getting interested, it could even be attracting people away from getting into FOSS development.
There are so many different things pulling people away, from social media to tech giant companies vacuuming everyone up. Even for university students, there are other things drawing people away. For those who do genuinely want to get involved, who want to help find problems in FOSS – and more to the point, help find solutions – it's not easy.
We want to contribute to society – but society doesn't tell us what it needs! ®
Get our [15]Tech Resources
[1] https://www.theregister.com/2024/07/15/opinion_open_source_attract_devs/
[2] https://jesperolsson.se/
[3] https://schemaspy.org/
[4] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2Z692tR54Ytz0ztFCF7WCggAAAAo&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0
[5] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44Z692tR54Ytz0ztFCF7WCggAAAAo&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0
[6] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33Z692tR54Ytz0ztFCF7WCggAAAAo&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0
[7] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44Z692tR54Ytz0ztFCF7WCggAAAAo&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0
[8] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33Z692tR54Ytz0ztFCF7WCggAAAAo&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0
[9] https://www.theregister.com/2025/02/13/libreoffice_wasm_zetaoffice/
[10] https://www.theregister.com/2025/02/11/rust_for_linux_project_support/
[11] https://www.theregister.com/2025/02/10/centos_firefox/
[12] https://www.theregister.com/2025/02/06/14_years_of_systemd/
[13] https://www.theregister.com/2023/04/07/thanksdev_open_source_funding/
[14] https://www.theregister.com/2023/09/26/linux_kernel_report_2023/
[15] https://whitepapers.theregister.com/
Re: What are the actual demographics?
I'm 28 and this matches my experience.
The problem is that CS education has also diverged from being a pursuit, pushing boundaries and building shit "just because," to "applied computer science" with more business-class busywork, project management, etc. You're not allowed to meander on "dead ends" (unless you're shilling AI) and iterate on stuff, so younger devs are indoctrinated to be less patient with some of the more idiosyncratic elements of FOSS.
Re: What are the actual demographics?
Depends on the project.
I was at the Embedded Open Source Summit EOSS2023 in Prague, specifically for the Zephyr developer summit. The demographics there are pretty healthy, a lot of young developers there, maybe because it's a fairly new and fast-moving project.
That said, there is a very high bar to getting code accepted to [1]Zephyr , and for good reason. But the other devs are very helpful with pull requests to get it up to the required standard.
[1] https://docs.zephyrproject.org/latest/
"As most contributors report, working in FOSS can often lead to a terrible life/work balace."
Well, that's really exploitative, and you don't even become rich, most ot the time. As more and more people see some developers getting rich selling their startup to some IT Moloch, I think only people with a religious attitude would choose to sacrifice themselves. Espeically in a society that is become more and more exclusive and costlier.
FOSS is not a sustanable model and doomed to fail.
Re: "As most contributors report, working in FOSS can often lead to a terrible life/work balace."
Absolutely disagree. I contribute to several projects and this regularly sends work my way. If you actually know a real world system inside and out, there are people who want to leverage your knowledge to help introduce it into their work.
Contracts like these tend to work as part development / design, part training developers within the company on the software / mindset of said project.
Re: "As most contributors report, working in FOSS can often lead to a terrible life/work balace."
Been my experience as well. The work on open souces projects themselves may or may not be financially rewarding, your experience with it almost certainly will be. And there has been a change over the last 20 years or so. Back in the early 2000s, companies were, somewhat understandably, wary about engaging in open source and potentially contracting for improvements or changes without ownership . That is no longer the case as many CIOs or CTOs have grown up with open source themselves, appreciate the value is in the openness and are comfortable engaging with developers.
Style
One thing I see as a contributor to a long-existing and large FOSS project is the generational difference in coding styles.
It quite often occurs that contributions from the new generation needs a fair amount of work simply because the younger coders have been taught different styles of coding to older ones.
And for a mature project, everything is in the older style simply due to being written by people who grew up learning such older/established standards.
If the new stuff gets included as-is, then you get issues of readability and debugging, but conversely it's not unknown for newer coders to get disheartened by the requirement to follow standards (especially given the volunteer nature of the contribution, even leaving aside any "ego" thinking that the code is perfect as it works).
And unfortunately I can see tools like ChatGPT and CoPilot potentially making this even worse, or requiring older code to be completely rewritten if it's output does become the new standard.
Re: Style
I'm a long retired coding fossil now, but just during my own career, the conventions changed more than once for how you name variables, functions and subroutines. I've no idea what the conventions are now. It can be a little disorienting reading code written in a different style. Lack of suitable coding comments can be a real issue too with complex code.
"(...) if you're contributing your own code, there is a high bar to clear. It often feels as if you need to surpass whatever the existing functionality is. Just to get accepted, you have to offer something better than some existing product that may have been around for decades."
If you have nothing better to offer than what already exists, what is the value of your contribution?
Contributing where there isn't existing code.
You aren't going to be making a contribution to the Linux kernel, same way as you aren't getting on the C++ standards committee as an intern
But Github is full of niche projects where there isn't an 800lb gorilla.
Especially in small HW, when Linux took off it was still difficult to make small electronics without paying $$$ for dev kits and building your own HW - now with RPi, Arduino , ESP32 etc you can build real world gadgets with a clever idea, $10 at Aliexpress and a dozen lines of embedded python
Adding better test coverage to a particular feature set would be something a lot of projects would benefit from and appreciate, without requiring a huge investment, for example.
Large, well managed projects also often have a "good first issue" tag, which can help people gain familiarity as well.
I think the problem to a certain extent is, particularly with new developers, there is no real guidance to how any of this works, and it will often require reaching out to the developers directly to find out where to begin, which instantly discounts a lot of people nervous to do so.
Also ...
I think there's also another possible factor to consider. Having offered opportunities for involvement in foss projects both independently and through universities, I've found no young developers have been interested unless [a] it's a mass market or trendy product or [b] there's payment involved. There seems to be no desire for intellectual challenge or recognition of engagement as a path to professional development, just a desire for kudos or dosh.
Scratching an itch
Is the best way I've found to getting into a project: you're using something and it doesn't do quite what you want or it has a bug. I susepct this is how most people get involved and how you maintainers handle it is key. In my experience, if someone is really interested then they will invest time and effort into learning what is necessary to do. Maintainers can help them along but the real experience of learning how to do something can itsef be rewarding.
But I've also learned to be picky because, unfortunately, there is also a culture of entitlement that means people bitch about stuff but aren't prepared to contribute time and effort to fix things. Basically, they're wasting our time and we could just tell them to fuck off and sometimes that's really the only way: users are not customers.
We recently had a talk about maintaininng SciPy and my advice was that: you can make changes to the API, including breaking it, if you feel they're necessary, you're doing the work and you communicate it properly. Users who want things to stay that way, because they've always been like that, probably aren't worth listening. "Foolish consistency is the hobgoblin on tiny minds" as the Zen of Python puts it.
people want shiny
The article talks about young people having a high bar to submit something new. Most projects that I use have much more need of people to fix bugs, write documentation, etc. than to add yet another half-broken feature hardly anybody wants. (I fix bugs when I can, but some things (e.g. the Xorg input/events layers) are just too hard). It's hard, not always interesting, work.
There is no "graybeard barrier"
There are tons of projects out there that younger people have written for fun - games written in Python, home science projects, all sorts of things. A lot of it isn't of great "professional" quality, but so what? Everybody's gotta start somewhere, and complaining that you can't get code into the Linux kernel or some other big name project at the age of 24 is a bit like a newly qualified engineer complaining that they don't get to design a big suspension bridge but have to maintain small unexciting things : you have to earn the experience and prove yourself to progress up to the big stuff.
I suspect a lot of complaining from the younger folks comes from people used to a world of instant online celebrity who feel this should apply to online code contributing too. The older folks complaining about the quality of young people's work have forgotten that they were once young and inexperienced too. Younger folk who are into programming are going to grow older and wiser themselves, and have new ideas and start projects of their own which will have their own successes and failures. They may well develop ideas and practices which feel alien and objectionable to people used to current ones. But this is what progress looks like, and has always been the way of the world.
What are the actual demographics?
One thing I was conscious of at FOSDEM was that while there are a lot of us of the (slightly) elderly persuasion, overall most attendees were quite a lot younger than myself.
I'm starting to suspect that the problem isn't really bringing in younger developers as such, it's bringing any developers at all into a mature project. So, over time, mature projects tend to stick with the same core of contributors, which naturally ages.