Young folks: Please can we contribute using modern git-based workflow rather than email?
Old farts: No.

👶: OK, but can we at least use modern memory-safe languages?
👴: Also no.

👶: Perhaps we could modernise our language & attitudes to be more inclusive?
👴: LOL! No.

👶: Could we at least consider addressing some long-standing community issues?
👴: What part of "no" are you having trouble understanding?

⏳ ⌛

👴: Why aren't there any new people contributing to our project? Truly a mystery. 🙃

Turns out, Bob Dylan has written a song especially for all the old farts clogging up my replies.

https://www.youtube.com/watch?v=90WD_ats6eE

I wonder if they'll ever realise that it is now aimed at them?

Bob Dylan - The Times They Are A-Changin' (Official Audio)

YouTube
@Edent My father is/was very much part of the Bob Dylan counter-culture generation. He does not have this awareness.
@Edent for techies our age, every time we see the word "modern" and don't read it as "more profitable" is a triumph of hope over experience.

@Edent Please can we use modern build tools like cmake, ninja, etc etc

Hell no. Plain `make` does the job easily for 90% of projects. Rtfm and learn how to use it before you go pushing for the latest flavor of the month.

Joining an existing project requires learning how it already works. You don't get to just jump in and imnediately request every current developer change all of their established procedures to accommodate you. That won't fly, anywhere in the world.

@hyc I have literally no idea what you're talking about, sorry.

@hyc @Edent You're behaving like one of the old farts he's talking about and you just made his point for him.

Being inflexible and pushing the status quo is exactly how projects die.

@soviut @Edent yes, I understood his point. But if you fail to acknowledge the validity of "if it ain't broke don't fix it" then you've got problems too. Nobody wants to spend time reinventing wheels. Changing tooling has a high cost. If your first instinct as a new developer to a working project is "we gotta upgrade to tools I'm more comfortable with" instead of "I need to learn how this stuff works" then you've got an attitude problem.

@hyc @soviut @Edent Howard, you've accidentally entered this discussion without understanding that this is a subtoot of a particularly venomous exchange going on in the linux community right now that has nothing to do with makefiles or build scripts.

You .. might have a better reception in this thread if you take a moment to look at the resignations of Hector Marcan and Karol Herbst so that you understand the context well enough to formulate an informed comment.

@hyc @Edent If a project is having trouble attracting new talent, then something IS broken and DOES need fixing. If you are unable to maintain a decent DX in your project, that's an important aspect that's broken.

Just because the "old farts" are used to the hostile environment doesn't mean the environment isn't hostile.

Senior maintainers need to be introspective, identify their negatives and correct them. Otherwise they risk their projects being ignored to death.

@soviut @Edent if a project retools to accomodate every newcomer it'll be spending all its time rearranging deck chairs instead of advancing whatever it meant to do.

@hyc @Edent Nobody said it's retooling to accommodate every newcomer and you know that; don't be disingenuous.

It's about staying reasonably current so that stuff people are learning in school, in bootcamps and online in the last decade is actually applicable. Otherwise all that talent slips by as they go towards more nimble projects.

Keeping a toolchain reasonably up to date is NOT a full time job and you know that too. It isn't even something you need to do; let the new blood who want it handle it for you.

I am in disbelief that you think Howard might need to grow a clue, or that his projects might be at risk of dying, where of any of the code bases I downstream for MacPorts, Howard's (e.g. https://ports.macports.org/port/lmdb/details/) have by far more users, like by a factor of almost 8X the next highest ranked MacPort for which I am a maintainer (e.g. https://ports.macports.org/port/openssh/details/).

Maybe, you don't understand how projects actually thrive? It sure as heck isn't with navel gazing about old farts not understanding new generations.

Admittedly, I am still upset that MacPorts recently lost kencu (Ken Cunningham who was doing work maintaining various gcc versions among other things for OS X Tiger and such) because some disrespectful jerk (who had maybe two commits, in something related to NodeJS/NPM I guess?) was insanely rude to him on a public mailing list. I think the rude person got banned, but the damage had been done.

We are blessed to stand on the shoulders of those who did the hard work that makes our lives easier.

More young upstarts would be wise to not it.sh on such shoulders.

Or as Ice Cube phrased it: "Pump your brakes, respect your elders." (from "Can You Dig It" https://www.youtube.com/watch?v=NVRoTyZU4RU)

CC: @[email protected] @[email protected]
lmdb | MacPorts

@teajaygrey @hyc @Edent I didn't say that. I'm remarking that his response to Edent's criticism of project gatekeeping is exactly the attitude that drives away new people from joining the project.

@hyc @Edent what makes Make "plain" and cmake or ninja "flavor of the month", aside from your familiarity bias?

If you are starting software development from scratch, ninja or meson or cmake can make a lot more sense to you than gnu make.

cmake has existed since 2000 (and been used by e.g. kde since 2006), ninja has existed since 2012 - that's 13 years - and meson has existed since 2013; meson/ninja are used for such minor projects as GNOME and Chrome.

perhaps rethink your "month" definition.

@hyc @Edent this is not a post about random first-time contributors demanding an overhaul of the existing workflow and system, it's a post about existing contributors—those who are already familiar with the established workflows—providing constructive feedback and being ignored or driven out

@Edent I presume some of this alludes to the Rust vs C war currently on going? As some people have already pointed out: a dual language kernel isn’t a good idea. I’d be inclined to agree since being *really* good at two very different languages is a big ask in terms of cognitive load. I’d also suggest that kernels are VERY low-level and C is pretty good for that. I do understand that there are sections of kernel where it’s more about conventional programming and Rust/memory safety could help.

BUT I think overall trying to pitch this as Old people vs Young people is not the whole picture.

I worked on a product that touched Windows 95/NT drivers in my very first job and was horrified to learn that multiple compiler and assembler tools were needed - I was told this was down to different teams using their preferred tools.

I honestly think the Linux kernel should stick to C, Make, etc. fragmentation is very very bad and likely serves competitors more than the Linux ecosystem

@Edent in all fairness, the kernel email workflow IS the original git-based workflow.
@michiel the keyword you're missing is "modern".
@Edent @michiel I don't think GitHub PRs (the only ither thing I see people ask for), are particularly modern either though. There are plenty of reasons not to use GitHub (I do use it for my own stuff because I really don't care that much)
Mostly people don't necessarily want modern, they want the tool they know.

@tmcfarlane @Edent @michiel The “GitHub workflow” might not be the best (example: https://mitchellh.com/writing/github-changesetsbut), but having to setup a MUA to contribute is definitely worse.

Also, this is what people are used to. 100% of the projects I use and contribute to get their contributions through Merge/Pull Requests.

@Edent the replies are fascinating in how they prove the point and missed it.

A fascinating lack of ability to self analyse

@Edent I think the issue is compounded by the fact that there is still an influx of contributors to the kernel because of the industry behind it, so those maintainers aren't feeling the heat yet. It's incredibly short-sighted because relying on industry is such a precarious position for any free software project.

@Edent do you have data to back up the claim that those are the reasons that people who could be contributing, are choosing not to?

Because I would like to contribute and none of those reasons apply to me. #linux

The thing I want is actually good documentation that I can read to get me where I can be effective. And speedy replies.

@bmaxv You know, it’s perfectly possible for a development process to suffer from multiple issues at the same time. In fact, I’d say that better documentation might have been possible if new contributors weren’t burning out as quickly. People who have lived this code for decades don’t need documentation, but newcomers figuring things out tend to write their findings down.

@Edent

@bmaxv yes. It is the reason I don't contribute any more.
@Edent I would say the framing as an "old farts" vs. "young folks" culture clash is not helpful. The same discussions we had 30 years ago, and not all things then labelled "modern" turned out to be good ideas. People just created new projects based on new ideas. If those projects were better, they eventually replaced the old. For example, git quickly became successful although there were older systems, but nobody ran around and tried to shamed people for using CVS.
@uecker you're *so* close to getting it!
@Edent I am probably to old to get it.
@uecker @Edent if the Linux kernel community doesn’t want to get either forked or replaced but instead incorporate new devs, they should maybe not function as a time capsule
@maco @Edent When Linus started this, C++ was modern and micro kernels - certainly not a Unix kernel clone written in C. These decisions did not deter people from contributing in the last decades (well, it deterred some but not others). To me, it seems a certain set of people / companies are now trying to push for changes and I am not sure this is as simple as "young" vs "old" .
@uecker @maco
You're completely right. There have been no advances in computer science in the last 30 years. We should stick to programming paradigms which have stood the test of time.
If only I could still post this message on USENET…
@Edent @maco I am not sure if sarcasm is helpful. There were certainly advances. Interestingly, I still think USENET was great. A federated messaging platform not controlled by anybody. Sounds familiar?

@uecker @maco
I think sarcasm is the only sane response at this point.

USENET failed for the same reason IRC failed. Stick-in-the-muds who refused to adapt to what new users actually wanted.

I wrote a bit about it here https://shkspr.mobi/blog/2023/06/why-did-usenet-fail/

Why did Usenet fail?

This is annecdata - not a serious academic study. Adjust your expectations accordingly. When I first got online, the World Wide Web was still in its infancy - so CompuServe was my gateway to the Internet. I loved their well organised chat room. A couple of clicks and I could be discussing Babylon 5 with people in another country, downloading wallpapers, and uploading my poor attempts at…

Terence Eden’s Blog
@Edent @maco I wonder what we could have now, how the world would look like, if people had valued that tech more and carefully evolved it, instead of endorsing the modern spying, manipulating web-based social media so much.

@uecker but they *didn't*! That's the whole point!
Every time someone wanted to make a change to USENET, grumpy fogies started blathering about Eternal September and AOL lUsers.
Do you see what happened? New people went somewhere friendlier, more responsive to their needs, and with a gentler learning curve.

Same thing happens to lots of open source projects. Nerds dismissing user experience as something useless.

UX is *everything*.

@Edent Huh? People build tools all the time. Nobody was stopping them. People build news readers, mail clients, window managers, etc. There were no "old grumpy" people in the way. If you wanted to, you could just do this.
@Edent All this changed not because it was stopped by some evil gatekeepers, but because companies slowly took over everything and redesigned the internet from the ground up.

@uecker I'm sorry, but you're wrong.
I was shouted at for using a client which top-posted, I was chased away for wanting to use HTML in my messages, and PLONKed when I asked people to reign in the sexism.

You can't blame any of that on companies.

They gave people what they wanted - a slick UI and a smooth experience.

All the while, fossils were insisting on ASCII supremacy and scoffing at kids who wanted to use emoji.

They were dinosaurs who refused to adapt.

See https://shkspr.mobi/blog/2020/01/the-commons-weve-enclosed/

The commons we've enclosed

I, unironically, love Reddit. But it's just USENET with a better UI, and a few moderation improvements. Most days I use DropBox. But it's just FTP, but a bit easier to use and automate. I waste a lot of time on Slack. When I explain it to old-school nerds, I say it's IRC - but developed by someone who gives a damn about user experience. Most people in the world don't have access to WWW. Instead, they use Facebook which gives them a much simpler way to post photos and share their thoughts. It …

Terence Eden’s Blog
@Edent Well, I think we will not agree. I also still today do not like HTML emails for various reasons, but I am very happy that UTF-8 replaced ASCII. I think the point is not that the "fossils" all resisted change (maybe some did), but that they resisted certain changes, and sometimes for good reason. Sexism is of course unacceptable, but I am not sure why you mix this with questions of technical progress.

@uecker because it is the same thing.

People don't want to work in a toxic environment, I think we can both agree on that.

Yet, even recently, you saw big projects which tolerated sexist, racist, and homophobic language.

Would you go and volunteer to work on an open source project with that sort of community?

Would you say "well, I guess I have to change the way I communicate with people in order to participate"?

No. You'd go and do something else.

@Edent I would certainly not want to work in an environment with sexism, racism, or homophobism. But I still do not get what this should have to do with technical choices?
@Edent I agree with your blog post though, the old internet tools were not user friendly and the nerds not too welcoming. I am not sure how this can be connected to use of different tools in kernel development.

@uecker @Edent the kernel community is not welcoming and its tools are not user friendly ;)

Same for all the C code bases out there

@Di4na @Edent I find C code more approachable, much more than C++ or Rust. It might depend on your perspective. But if I dare to say this here, I get insulted, gas-lighted, etc. Of course, I should not have commented on a thread that starts with an insult ("old farts"), no wonder that it ended this way. But I still wonder who is unfriendly and toxic?

@uecker @Di4na @Edent The problem you're having is that you think this thread is about you, and that your individual choices and tastes disprove anything being said about visible trends.

Which is exactly the whole point: when project maintainers center themselves, all they will end up with is themselves.

@fj @Di4na @Edent I did not think this thread was about me before I become personally insulted.

@uecker why would I want to volunteer to work in an environment where my technical choices were mocked and belittled?

Project want to attract newbies.
Newbies want to work in a modern way.
Project aggressively tells newbies to use punch cards and COBOL or GTFO.
Newbies go off to somewhere more welcoming.
Project dies a slow death.
The end.

@Edent Sorry, I do not buy this story that everybody young has specific technical choices and if the project does change for them it dies. This was not the case in the past and I do not see what should have changed. I also do not believe that every young person has the same technical preferences. What seemed to have changed though is the use of social media to polarize, trying to misrepresent such things as a political issues, and as generally as a fight of good vs evil, etc.

@uecker I feel so sorry for your students.
Why not try talking to them rather than making these assumptions.

I'm leaving the conversation now. Bye.

@Edent And again, another insult. Thanks a lot. (I mean, after all these words of not being toxic etc.. maybe just a little bit of self reflection?)
@Edent @maco I can recommend this talk by Cory Doctorow who explains how this happened: https://www.youtube.com/watch?v=4EmstuO0Em8
(but in the end, this is just also an old guy)
DEF CON 32 - Disenshittify or die! How hackers can seize the means of computation - Cory Doctorow

The enshittification of the internet wasn't inevitable. The old, good internet gave way to the enshitternet because we let our bosses enshittify it. We took ...

YouTube
@Edent So this appears to be a lightly disguised criticism of the kernel project ... the project that is working hard to incorporate Rust into a 30+-year-old code base, is (slowly) developing new contribution tools, and sees 2-300 new contributors in each and every one of its nine-week release cycles.

There are plenty of problems in kernelland, but they will not be improved by a distorted view like this.
@corbet @Edent from an outside view, the Rust thing appears to be suffering active sabotage that Linus is making little effort to stop.

@corbet @Edent On the contributor numbers, obviously hard to consider the counterfactual but ~1000 new contributors per year sounds very small compared to the size of the codebase, and the very limited turnover of lieutenants suggests they aren’t progressing very far.

Do we have data on how many of those folks actually remain active? Wikipedia has done a lot of work to define and measure new editor retention and it’d be interesting to see some of that borrowed.

@luis_in_brief @Edent I looked at longevity a bit one year ago: https://lwn.net/Articles/956765/ . I should run those numbers again. The brief answer is that some of those people obviously drop their one patch and move on, but others do indeed stick around for the long term.
Some 6.7 development statistics [LWN.net]

@luis_in_brief @corbet @Edent

Not quite...
There are methods for maintaining dual language codebases like this. The rust folks don't want to follow those method and would rather steamroll the whole process. IMO they were correct to push back... happy to chat more indepth on this one.

@binder @luis_in_brief @Edent Strange, I have not seen much "steamrolling" going on, certainly not on the part of the Rust folks. But, if you have thoughts on how things could run more smoothly, joining the mailing-list discussion with constructive comments might be a good thing to do.

@corbet @Edent @luis_in_brief

"steamrolling" being a strong term.

More they were pushing for code where it wasn't wanted. Maintainers should not be "forced" to accept code, and indeed, rust code should 'generally' be kept separate. This of course causes a whole lot of other issues, but that is what you get for having a dual language codebase.

The technical methods to handle these sorts of projects are not complex, the political aspects of course are not.

Many years of OSS have taught me what my strengths are, and political issues are not among them.

If I could give advice (which would not be accepted)... it would be to look at how enterprise handles multi language codebases.