this post was submitted on 15 Jul 2024
317 points (99.1% liked)

Programming

17547 readers
138 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 2 years ago
MODERATORS
top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 124 points 4 months ago (5 children)

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.

[–] [email protected] 90 points 4 months ago (1 children)

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.

[–] nitefox 17 points 4 months ago (4 children)

How do you contribute code through a mailing list? Like I don’t understand…

[–] [email protected] 22 points 4 months ago

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)

[–] [email protected] 10 points 4 months ago* (last edited 4 months ago)

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:

  1. https://useplaintext.email/
  2. https://git-send-email.io/
load more comments (2 replies)
[–] [email protected] 11 points 4 months ago

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.

load more comments (3 replies)
[–] [email protected] 102 points 4 months ago* (last edited 4 months ago) (7 children)

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.

Anti Commercial-AI license

[–] [email protected] 52 points 4 months ago* (last edited 4 months ago) (2 children)

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.

[–] [email protected] 11 points 4 months ago

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.)

[–] [email protected] 6 points 4 months ago

Matrix has the most potential. It was the most admired communication tool in the stackoverflow survey last year.

[–] [email protected] 20 points 4 months ago (2 children)

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.

load more comments (2 replies)
[–] [email protected] 13 points 4 months ago

mailing lists

So so true. Mailing lists suck. I'd rather use Discord. (As in I hate mailing lists that much.) Bring back forums!

load more comments (4 replies)
[–] [email protected] 86 points 4 months ago (3 children)

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.

[–] [email protected] 35 points 4 months ago* (last edited 4 months ago) (1 children)

God it's not even that, the general tech knowledge has just plowed into the ground

[–] [email protected] 26 points 4 months ago (1 children)

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.

[–] [email protected] 13 points 4 months ago (4 children)

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.

[–] [email protected] 25 points 4 months ago (1 children)

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.

[–] [email protected] 7 points 4 months ago (1 children)

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.

load more comments (1 replies)
[–] [email protected] 10 points 4 months ago

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.

[–] [email protected] 7 points 4 months ago (1 children)

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.

[–] [email protected] 9 points 4 months ago (1 children)

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.

load more comments (1 replies)
[–] [email protected] 6 points 4 months ago* (last edited 4 months ago)

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.

[–] [email protected] 16 points 4 months ago (1 children)

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.

[–] [email protected] 17 points 4 months ago* (last edited 4 months ago) (3 children)

I fixed a bug in an open source project we use and got into trouble for it :|

[–] [email protected] 14 points 4 months ago

Ditch the company and set their offices ablaze!

[–] [email protected] 5 points 4 months ago

Don't use company resources (like your laptop) to do it.

load more comments (1 replies)
load more comments (1 replies)
[–] [email protected] 82 points 4 months ago (2 children)

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.

[–] [email protected] 12 points 4 months ago* (last edited 4 months ago) (6 children)

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

load more comments (6 replies)
[–] [email protected] 10 points 4 months ago (2 children)

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.

load more comments (2 replies)
[–] [email protected] 50 points 4 months ago

No time, no money, no house.

[–] [email protected] 42 points 4 months ago

I vote we sacrifice a virgin CS student.

[–] [email protected] 30 points 4 months ago

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.

[–] [email protected] 28 points 4 months ago (1 children)

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...

[–] [email protected] 36 points 4 months ago (6 children)

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.

load more comments (6 replies)
[–] [email protected] 25 points 4 months ago (1 children)

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.

load more comments (1 replies)
[–] [email protected] 23 points 4 months ago (5 children)

What can members of the community who can't code help with?

[–] [email protected] 39 points 4 months ago (2 children)

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.

[–] litchralee 17 points 4 months ago* (last edited 4 months ago) (2 children)

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.

load more comments (2 replies)
[–] [email protected] 11 points 4 months ago

Thanks! I will look into joining.

[–] [email protected] 20 points 4 months ago (1 children)

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.

[–] captain_aggravated 9 points 4 months ago

And so many FOSS apps want nothing to do with good UIs and will be really mean to designers trying to help.

[–] [email protected] 9 points 4 months ago

Documentation, bug triage and many other non technical tasks

[–] [email protected] 5 points 4 months ago

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.

load more comments (1 replies)
[–] [email protected] 21 points 4 months ago (1 children)

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.

[–] [email protected] 6 points 4 months ago

what do you mean by the Fuck you pay me thing?

[–] [email protected] 15 points 4 months ago

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.

[–] [email protected] 13 points 4 months ago (2 children)

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.

[–] [email protected] 7 points 4 months ago

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

load more comments (1 replies)
[–] [email protected] 5 points 4 months ago (1 children)

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.

[–] [email protected] 7 points 4 months ago

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.

load more comments
view more: next ›