Aging Linux Kernel Community Is Looking For Younger Participants
Lemeowski writes "Time has been good to Linux and the kernel community, with the level of participation and volume of activity reaching unprecedented levels. But as core Linux kernel developers grow older, there's a very real concern about ensuring younger generations are getting involved. In this post, Open Access supporter Luis Ibanez shares some exciting stats about recent releases of the Linux kernel, but also warns that 'Maintaining the vitality of this large community does not happen spontaneously. On the contrary, it requires dedication and attention by community members on how to bring new contributors on board, and how to train them and integrate them alongside the well-established developers.'"
I'm part of one of these younger generations, and I'm honestly not interested in getting involved because I've seen how much of a raging asshole Linuz can be. He's a great maintainer, but he could be honest and give constructive criticism in less condescending ways. I'm not as experienced as he is, but that doesn't give him the right to be a complete dick in public theater.
Really don't worry. It is commercial enough and if the community just winds down, the companies will just staff the kernel developer ranks,
Get on my Lawn!
---
Benies? Dental? Vaction days? Sick days? Comp time or overtime? Weekends off? All national holidays?
This semester, I am taking OS course at UMBC. ......there should be one, centralized place with all the useful materials for the beginners + it should be constantly updated.
Course is easy, material is easy. Hard part - figuring out how the fuck you should write Linux Kernel code.
Why there are no good tutorials that on how to write basic kernel code, good guides on its structure (many book sold on Amazon are outdated)
Perhaps a campus tour where the senior kernel devs can personally tell prospective developers that they are retarded and kick them in the balls.
I know I've mentioned this before, but you need to consider the possibility that your software might be done.
Take TeX for example. The last stable release is 5 years old. It's done.
At some point even the OS kernel will switch from "active development" to "something people study". We studied the circuit diagrams for radio receivers, memory circuits, and even more complicated things like 8-bit ALUs. They're done. We weren't developing that stuff in school. We were just understanding it.
The Linux kernel will end up in a text book some day. People will want to understand it. Nobody will want to develop it. That's a good thing. It means that this phase of technology is approaching the done phase.
What's the next phase? If you're young that's where you should be looking.
*assess. Bazinga.
It is just too damn big, hard and complex. Why would I want to learn the ins and outs of such a large codebase unless somebody is paying me to?
It is not like the old days when you could pick up a "... in a nutshell" book, start hacking up a driver, then get it accepted into the kernel. I don't want a three year unpaid intership while I get up to speed and gain respect in the comunity.
I'll spend my time working on my project on either a microcontroller (AVR, PIC...) or a bare-metal build on ARM.
Why release a simple system, when you can bloat it with a zillion tweaks of dubious value and then charge money to keep the whole mess working?
I don't think it's really as malicious as that. The larger problem is that everyone has a slightly different definition of what makes a simple, stripped down system. You only want the features you want, I only want the features that I want. You want a rock-solid server; I want a responsive and feature-rich desktop system; my brother just wants to play video games. You can't do it all without a little bit of complexity.
And look at what happens when they try. Someone proposes a new window compositing system that will make development easier and performance more responsive, and people get all bent out of shape because it breaks the X11 spec.
Microsoft is a whole other ball of wax. Chronic mismanagement, perverse incentives to sabotage any product which might cannibalize the Windows/Office products, and an attempt to maintain backwards compatibility as much as possible, going back to DOS systems from a quarter century ago.
they just want to kick you off their lawn
Politics is Treachery, Religion is Brainwashing
Feature-rich and stripped down are opposites. You want features to be available to you on a whim, learn to install new software.
You are missing the point. A stripped down system can still have a feature rich kernel. If I want a feature rich desktop then I need a kernel that has features that enable the sort of high performance UX I need.
Right down to a scheduler that's friendly to interactive user processes. But maybe that scheduler's not as optimal for what you were doing with your server, so now we want a tunable scheduler that can be adjusted towards either.
And the complexity begins its lift off.
written in a language 20 years beyond chic
No, you'd be coding in C.
-- This space for lease, low setup fee, inquire within!
Don't get me wrong, I'd have hard time living without The Linux Foundation's products, but when this year I wanted to work for The Linux Foundation in Google Summer of Code, I gave up after reading their proposals. I wanted to learn some kernel development stuff and couldn't find a single suggestion related to that. Instead, there were some higher-level projects like OpenPrinting, which I personally find totally uninteresting.
I'm actually managing an OS course for graduate students, and it's heavily based on linux (userspace and kernelspace). We do a few exercices (like writing a kernel module that computes averages), but nothing fancy. I've always been looking to propose them some projects related to kernel dev, but as I'm not a kernel hacker myself, I have clearly no idea of what seems reasonable.
So here's the deal: If you are involved on some subsystem of the linux kernel and you have something you want to get coded that can be a first experience with kernel dev, and that can be done under about 100 hours (the length of a typical project), you contact me. I'll do as much as possible as a first step filtering so that you won't get spamed. It's a win-win situation: I have great projects for my students, you get free work. For this year, it's a bit short, because projects are from September until January, but next year is ok.
Video of some good progressive thrash music
When Linux was first released, it was relatively easy to break into the IT field and get directly into programming with limited experience and resources. The fact that the Linux kernel was initially created by a 15 year old kid on a home computer says much about that. My saying so doesn't lessen Linus Torvald's genius in any way, but it does underscore how those opportunities to create haven't been extended to future 15 year olds in the same manner.
Or anyone of working age. When was the last time a company hired junior admins and other flunkies specifically for the purpose of training them up to a competent level of expertise? That was common in the 90s, and is almost non-existent 20 years later. The last two companies I've worked for flat out refuse to hire junior staff and train them. Many companies refuse to future proof their IT (ops and dev) staffing in any way. This has led to a huge gap in expertise.
The final issue that was birthed out of refusing to hire inexperienced staff is all of the certification programs that arose as a result of such parsimony. Am I the only one who thinks that being able to turn on a few services *doesn't* make someone a systems administrator? I'd be more concerned about their ability to write and update their own changes to services, and to the man pages, and submitting complete work back to the relevant project- but THAT isn't (generally) taught in the cert programs, even though that will make someone a better administrator and/or developer. This just weakens expectations in the field, and severely limits a self-selected candidate pool of future kernel programmers.
In fairness, look at it from Linus' perspective.
He's been running this project for DECADES and it is successful, stable and very valuable. He's made many mistakes, paid the price for them and then corrected them. He is also heavily invested in this project both privately and professionally.
Then comes the flock of green horn newbies, with the ink still wet on their diplomas (if they graduated in the first place) who make predictable stupid mistakes over and over. The SAME predictable and stupid mistakes that have been made for decades worth of newbies. Now and then one of these newbies who is not content to let his idea die so he presses the idea getting some attention perhaps. If it reaches high enough to get Linus' attention and he recognizes it as a stupid previously dismissed idea, expect him to say so without mincing words or sparing feelings. He's been down this road before and he is decidedly NOT one prone to teach. He is merely ending what he knows is a useless debate, because he is right. More times than not, he really *is* right. I wish he was a bit more diplomatic at times, but there comes a point where it's a waste of everybody's time to argue. Linus is all about *not* wasting time. (Which is why he started "GIT" by the way) I figure that he puts on the narcissist persona to save time and effort, he's just cutting to the chase, the last part of the chase, to save time.
The way to get though this as a newbie is to try your best, be respectful when rejected and don't try to push issues. Go out of your way to learn what's transpired before, research on you own, ask when you cannot find information and above all respect what the long beards have to say. That and NEVER participate a mutiny unless you are prepared to see the thing through and never work on the project again.
"File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
Well clearly you do not understand what the word "environment" means.
If someone makes a sexist, derogatory joke in the weekly programming meeting and someone is offended and complains, it's not a defense to say "well it was only one joke, in one meeting, from one person."
The problem is not the one joke. The problem is that the environment was conducive, accepting, and tolerant of the joke. Linus's abusive treatment of others is not only tolerated, but accepted, excused, and justified, both there and on other communities (like Slashdot, right now...) Because he's in a leadership position, it sets the example and tone for how others are treated...
The response to people saying "I'm not comfortable contributing" is not "stop being a baby." If it is, you don't actually care about getting people to contribute.
Please help metamoderate.
When the project started it was easier to get involved because the code base was smaller and most people were contributing in their spare time, a few hours here and there on the weekend, while they did their real jobs that brought in money for them to live. Anybody with coding experience will tell you it's much easier to join a project where the code base is fresh rather than work on something that 2 decades worth of ideas implemented by someone who holds all the decisions leading up to why a certain subsystem is written the way it is in their head. It's that knowledge about why a certain piece of code is written the way it is, that you only glean by actually writing the code, making the mistake and learning from it. Expecting a younger person to be able to automagically have this same knowledge when they join the project is short-sighted. The other issue is that Linux may not have started as a commercially driven project, but it is a commercially driven one now. Someone in their spare time wanting to contribute to the kernel can't compete with someone being paid by Oracle to write a file system. They've got better things to do. The solution is to make it worthwhile for younger people to start working on the kernel, because at the moment the barrier for entry is high because commercial interests make it hard for young ones to learn the kernel when all the low hanging fruit is reaped by those paid to work on it, and knowledge required now is higher than it was 20 years ago.
He's said he would have probably contributed to BSD if they hadn't been tied up in court with AT&T over copyright issues at the time.
Unity? Screw that: XFCE. Slashdot Beta? Screw that: SoylentNews. Australis? Screw that: Pale Moon. UX developers DIAF
I've worked on the kernel (and other low level stuff) professionally for ~10 years. I've had code submitted into the kernel. I've interacted with Linus directly, I've met him in person, etc.
Yes, on occasion he flies off the handle. It doesn't happen often, and when it does it's mostly at things that would drive many people nuts. I think he could deal with it a bit better sometimes, but most of the time it's not a big deal.
Generally when people get flamed it's not a new contributor, and it's for things that they've done wrong multiple times.
So for new people looking to contribute, go ahead. It's fun, and the quality of the code that you'll see is generally pretty high.
I'm part of one of these younger generations, and I'm honestly not interested in getting involved because I've seen how much of a raging asshole Linuz can be. He's a great maintainer, but he could be honest and give constructive criticism in less condescending ways. I'm not as experienced as he is, but that doesn't give him the right to be a complete dick in public theater.
I've been in the Linux scene very early, and I've watched contributors come and go
The one thing that I've observed is that it's kinda generation gap
The older crop (age 40+) were the ones who like to take on challenges - and even when they have been shouted down, they still come back again and again, with better and better code implementation, to prove others wrong
The younger crop (age 35 or younger), on the other hand, can't stand people criticizing their code
They seem to think that since it's their code and they have contributed it FREE OF CHARGE others must be happy to accept them as is
What has transpired in the Linux Kernel scene reflects what is going on in the society at large, as well
The young uns can't stand criticism because they think they are too good to be criticized
Those old farts, on the other hand, don't mind criticism, and in fact, many actually welcome criticisms, for criticism only makes them tougher
I know, it's too much a generalization - as there are exceptions - but at least that's from my own observation
Muchas Gracias, Señor Edward Snowden !
The fact that the Linux kernel was initially created by a 15 year old kid on a home computer says much about that.
Linus Torvalds was born in 1969. The Linux Kernel project began in 1991. He was not 15.
While I agree with your arguments, I guess the real question is: where do you prefer your complexity to be? With C, the complexity is in the code, and very obvious. With C++, complexity can be "conceptualized", and delegated to the compiler. After using (and abusing) both C and C++ (a turbulent relationship with a lot of love and hate), my gut feeling is that C is probably better for system programming than C++.
The reasons have been discussed so many times by people far more qualified than me. My personal reasons:
1. The C++ language is still a moving target. You should be re-writing old code if you want to keep it conceptually clean, using the latest C++ standard.
2. For some problems, I prefer to have the complexity right in front of my eyes. In C, the code does all the talking (although it does speak a horrendous dialect). While shifting the complexity to the language is very useful, it can create subtle problems with interpretation by the human reader. I still think that C++ cannot be fully appreciated or used by people who would not be able to solve the same problems in C.
No, see, the thing is, your feelings are supposed to be your responsibility, not the group's.
It is, at a minimum, the group's responsibility if they are community of VOLUNTEERS are trying to attract new members, to not be a bunch of assholes to each other.
Your extremely hostile, nasty, aggressive, ignorant, threatened response perfectly demonstrates the issues we're talking about. Also: stop narcissistically blaming everyone around you for how they react to the way you act towards them.
Please help metamoderate.