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:
Awkwardly. Pretty much generate a patch and email it as an attachment.
by writing your diffs with red and black ink, like the Aztecs did
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.
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…
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.)
Matrix has the most potential. It was the most admired communication tool in the stackoverflow survey last year.
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.
And they’re easy to archive. Not super easy to parse, usually, but at least the data is there.
Wrestling to get email to properly bottom post is 99.999% of the battle. (Except the code review, is rather just pull it in locally)
mailing lists
So so true. Mailing lists suck. I’d rather use Discord. (As in I hate mailing lists that much.) Bring back forums!
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. 😂
What does “project support” even stand for?
Edit: ok, apparently it’s helping a bunch of foss projects that are listed in the pdf. I suppose that’s fine.
You just misinterpret their agenda. They were never in line with you
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 think it mostly explained by that in earlier days most people who dived into programming did it because it interested them. Then it became one of most lucrative career path, and naturally it saw surge of people, who do not share same interests. Relative amount of people invested in dive bombing into meaty details dropped, but it quite possible that absolute amount have not declined by much.
Yeah, it’s pretty difficult to find energy for personal programming stuff when your dayjob is programming stuff.
Gotta get up from the PC for a bit.
And life is more enjoyable, for me at least, being able to branch out into multiple interests even if only one of them is the money earner. My hobbies all revolve around nature and art/creativity.
I don’t see a reduced number of CS students that enjoy poking around. I see an increase in the number of students that are there only for the good salary. Making the poking type into a smaller percentage.
My type is a dying breed too, the guys who do their best to write robust code and actually trying to consider edge cases, race conditions, properly sized variables and efficient use of cycles, all the things that embedded guys have done as “embedded” evolved from 6800 to Pic, Atmel and then ESP platforms.
Now people seem to have embraced “move fast and break things” but that’s the exact opposite to how embedded is supposed to be done. Don’t get me wrong there is some great ESP code out there but there’s also a shitload of buggy and poorly documented libraries and devices that require far too many power cycles to keep functioning.
In my opinion one power cycle is too many in the embedded world. Your code should not leak memory. We grew up with BYTES of RAM to use, memory leaks were unthinkable!
And don’t get me started on the appalling mess that modern engineers can make with functional block inside a PLC, or their seeming lack of knowledge of industrial control standards that have existed since before the PLC.
IMO I think that’s more a reflection of business decisions rather than innate programmer skill.
Programmers used to do that because they had to do that, so the businesses valued it. Now they don’t have to do that, so businesses don’t allow them room to develop those skills.
I think that rate that people actually developed unnecessary skills outside of work likely remains the same, just the skills that people desire are different to the ones from back then.
That’s a valid point, the dev cycle is compressed now and customer expectations are low.
So instead of putting in the long term effort to deliver and support a quality product, something that should have been considered a beta is just shipped and called “good enough”.
A good example I guess would be a long term embedded OSS project like Tasmota, compared to the barely functional firmware that comes stock on the devices that people buy to reflash to Tasmota.
Still there are few things that frustrate me like some Bluetooth device that really shouldn’t have been a Bluetooth device, and has non-deterministic behaviour due to lack of initialization or some other trivial fault. Why did the tractor work lights turn on as purple today? Nobody knows!
I’ve not been a dev for that long, but I’ve been a dev for 15y or so. For the most part it seems to me like that is an effect of business decisions; workers will learn the skills that get recognized. Which skills those are has changed over time.
I don’t see older devs have that quality particularly more then younger devs, what I see is businesses that don’t value that type of behavior. And having worked with “wild West cowboy” coders before, the businesses may be right; they often make a real mess things and just rely on other people to clean up after them.
From what I’ve seen, there are lots of young people who invest in themselves and have passion for the craft, when the business allows them room to grow and doesn’t treat them like a code-producing machine.
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 :|
Ditch the company and set their offices ablaze!
Don’t use company resources (like your laptop) to do it.
steal from work
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.
I think you’ll find loads of young people without time for art, too.
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
Were I to reply I would merely be repeating what I said to @ava@beehaw.org
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’m just picking on a point that’s not relevant to your comment’s core idea, I’m not saying we shouldn’t share software or other goods and services with worker coops:
worker coops, which don’t violate workers’ rights.
Under capitalism worker cooperatives will also violate the rights of its workers even if less than traditional companies, because that’s what capitalism demands for their survival on the market.
I think it’s kind of challenging to legally define what makes a party “worthy” of making use of the software or digital work. I think you would need to go on a case-by-case basis, but at that point it probably makes more sense to just make software source-available and actively encourage people to reach out to you to get permission to use the software and to modify and redistribute it.
I have a specific theory of rights in mind. This theory of rights proposes worker coops as the only rights respecting way of organizing labor relations based on the inalienability of responsibility. I’m not using rights in a general vague sense to refer to harm.
Worker coops view workers differently than capitalist firms. They see labor as a fixed factor e.g. worker coops cut wages not jobs during economic, downturns.
The theory of rights I have in mind can fit in a license @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.
I wouldn’t say FSF is too ideological. They just don’t have a political strategy for how they will bring about the changes they desire. To really change things towards a new mode of production, you need a way for people in the new mode of production to earn a living. Also, their ideology is wrong in its lack of emphasis on software workers’ rights and the relations of production
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.
So… it pays in exposure?
big flashback to my freelance days.
fuck working for free in the hopes the project magically becomes super relevant overnight, and all the people who defend this.
if you want me to take on more responsability than i want to, you better be paying me.
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.
So what? The point of open source is that you get the source to do with what you want, not “give me shit for free”.
No time, no money, no house.
I vote we sacrifice a virgin CS student.
I figure business makes quite enough money off my efforts during the day without me also generating value for them for free in the evening.
What can members of the community who can’t code help with?
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.
bug reports need to adopt a “so tell me what happened?” approach
I think, this may be one of the rare cases where use of LLMs may be reasonable. Help user structure their report, then call for a human
The problem I have with bug reports for things like docker containers (I will just use that example for now) is again documentation… I get that most people make really bad “it broke, fix it now” kind of reports with no detail, but unless you actually dig into and know the code, there is often almost no debugging documentation (github issue templates help with that when the devs make one)
Where are the logs? If you refuse to use the docker standard of pushing logs through the log api, don’t respect the LOG_LEVEL environment variable, errors are non-descriptive, and don’t provide documentation to where your logs are stored, how the hell can you expect users to provide relevant logs??
I have run into dozens of pretty big projects that fail with 0 log output and there is 0 log documentation and then the dev auto closes the issue because “not enough logs to help.” The only way to find the logs is to find an old issue where the dev has laid out where the relevant logs are, like WTF? No I am not going to spend an hour looking in every single part of the undocumented directory structure to see if there happen to be logs in there. Use the standard, document your log locations and what they log (no 3ch9qjV7.log is not descriptive enough), or don’t complain about not being able to help without logs.
Thanks! I will look into joining.
Good advice. I want to add the option to offer money or hardware support. Writing helpful Bug Reports is also a good, especially if you really care with testing. Maybe even do Testing of software and functionality, Beta Tester with reports. Less technical would be designing logos or buttons or any graphical activity for documentation and websites, or for the application itself.
Documentation and Bug Reports are probably the top way to help if you can’t code.
If you’re an artist, there’s no shortage of potential open source work. Most FOSS apps have an ugly af GUI.
Either making better assets or better overall design would work.
And so many FOSS apps want nothing to do with good UIs and will be really mean to designers trying to help.
Documentation, bug triage and many other non technical tasks
Can’t or don’t want to?
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.
Project management. See for instance this talk: https://youtu.be/u3PJaiSpbmc?si=FbQGTfx4nERCb0R-
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.
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.
deleted by creator
Nobody has been able to adequately explain how ai is violating any oss licenses.
You are explicitly allowed to read the source code.
When I read code under GPL source and write something like that under a different license, I’m legally liable for copyright infringement. Of course the original owners need to prove it first, but still there’s problems from that.
Some open source projects outright disallow you from contribution if you tell them you’re working on a closed source competitor.
When I read code under GPL source and write something like that under a different license, I’m legally liable for copyright infringement. Of course the original owners need to prove it first, but still there’s problems from that.
Neat. But if you create your own version based off what you read that’s fine. You can’t copy it, but you can learn from it.
I can read the Linux source code and use it to create my own compatible kernel.
Some open source projects outright disallow you from contribution if you tell them you’re working on a closed source competitor.
So? They can refuse submissions to their code but they couldn’t stop you from using what you see to create your own product.
Really not sure what you’re getting at here.
I replied to you rather than the one you replied to by accident.
In 2002 we were firing all our mentors.
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.
what do you mean by the Fuck you pay me thing?
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’d be glad to help but I have no spare time, and practically just a degree in game programming. I dont really know how to get into open source.
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
a degree in game programming
That’s a thing?
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