Torvalds: "People Who Start Writing Kernel Code Get Hired Really Quickly" 130
alphadogg writes Now more than ever, the development of the Linux kernel is a matter for the professionals, as unpaid volunteer contributions to the project reached their lowest recorded levels in the latest "Who Writes Linux" report, which was released today. According to the report, which is compiled by the Linux Foundation, just 11.8% of kernel development last year was done by unpaid volunteers – a 19% downturn from the 2012 figure of 14.6%. The foundation says that the downward trend in volunteer contributions has been present for years. According to Linus Torvalds, the shift towards paid developers hasn’t changed much about kernel development on its own. “I think one reason it hasn't changed things all that much is that it's not so much unpaid volunteers are going away as people who start writing kernel code get hired really quickly,” he said.
Upper management be like (Score:5, Funny)
You can handle a little verbal abuse?! Welcome aboard!
There is no problem here. (Score:5, Interesting)
As Linus makes clear, there is no decrease in non-paid contributions. They are a smaller percentage becasue more professionals are now being paid to develop Linux. That is a good sign becasue it means more businesses see Linux development as something worth investing in. And it's probably the same people doing the programming. Previously they would have to do it for free but now they get paid. Nothing wrong with that.
Re:There is no problem here. (Score:4, Interesting)
It might be something a college student might be able to devote time and effort to. Obviously, it won't pay directly, but after graduating, being able to point to a module in the kernel with one's name on it is a good way to find jobs, since there are a lot of companies that need niche programming needs (good luck getting a H-1B fresh off the boat to make usable, bug-free code for SCADA, life-safety, and limited environmental systems. Even pushing code to FPGA cards is something that takes some work, as you are not going to find a cookie-cutter MCSD who knows Verilog/VHDL.
Re:There is no problem here. (Score:5, Interesting)
H1B is simply an employment visa, that could be used for many purposes. There actually are no other options, even for highly qualified professionals (L1 requires corporate relationships, B1-in-lieu-of-H is extremely rare and Green Card processing takes way too much time).
Re: (Score:1)
Re: (Score:2)
The abuse of the H-1B system is minimal right now, because there are roughly 100K individuals to "exploit". Its when the economy picks up, and employers want to increase the employment pool by 1 million, that's when the H-1B system is going to be used to drive down salaries. (Of course, that's assuming the system right now is being selective about who gets to be the "lucky" 100K picked.)
Re: (Score:1, Informative)
> I'm was an H-1B and I came to the US for a salary that put me in the top tax bracket.
Great. But surely you must realize that your experience does not reflect the majority, right?
The top 10 h-1b employers, accounting for 50% of visas, are off-shorers. [epi.org]
Re: (Score:2)
Based up that idea of having your work on public display in a very central and core element of computing can become very, very competitive. Very likely the more you get in there and the more it is noticed the far more certain and beneficial becomes your future career. Closed source proprietary code provides now where near the same benefit, your art work all hidden in a company safe. Some employers even actively blocking employee participation, for more than one reason, not only sharing of ideas but of cour
Re: (Score:2)
It might be something a college student might be able to devote time and effort to. Obviously, it won't pay directly, but after graduating, being able to point to a module in the kernel with one's name on it is a good way to find jobs.
I'll second this. I'm a college* student who's currently picking up kernel programming for this exact reason. (Also, I find file system design interesting.) Whether or not it will help my employability remains to be seen, but it only takes the perception of utility to result in an increase in development.
* called university here
Re:There is no problem here. (Score:4, Interesting)
There is no decrease since contributions have always been non-paid (from the perspective of the linux foundation). The joke was that as an unemployed developer, one must have a certain irrational fondness for the kernel in order to devote time to it as opposed to actually looking for paid work.
As sibling mentioned, I suspect that the majority of unpaid contributors (that is, folks who contribute without being paid to do so by an employer) are indeed college students. Hell, Linux itself was originally written when Linus was an unpaid college student (with a strong distaste for Minix, and who could blame the guy), so it's not as if the argument has no merit. Other sources of unpaid contributions would be retired devs who want to keep their brains sharp, or junior devs who get paid to write other stuff, but want to build up their resume without a degree or waiting to get years of experience (because let's face it: a kid whose resume says "I am an active contributor to the Linux Kernel - here's the URL listing my approved commits" is going to get a fuckload of notice by the hiring manager in a Linux/UNIX-oriented dev shop.)
Re: (Score:2)
There is no decrease since contributions have always been non-paid (from the perspective of the linux foundation). The joke was that as an unemployed developer, one must have a certain irrational fondness for the kernel in order to devote time to it as opposed to actually looking for paid work.
As sibling mentioned, I suspect that the majority of unpaid contributors (that is, folks who contribute without being paid to do so by an employer) are indeed college students. Hell, Linux itself was originally written when Linus was an unpaid college student (with a strong distaste for Minix, and who could blame the guy), so it's not as if the argument has no merit. Other sources of unpaid contributions would be retired devs who want to keep their brains sharp, or junior devs who get paid to write other stuff, but want to build up their resume without a degree or waiting to get years of experience (because let's face it: a kid whose resume says "I am an active contributor to the Linux Kernel - here's the URL listing my approved commits" is going to get a fuckload of notice by the hiring manager in a Linux/UNIX-oriented dev shop.)
Some of us developers are 70+ in years. We are retired and can invest time in code writing. We do this so that we stay out of the wife's bubble.
Re:Upper management be like (Score:5, Insightful)
Or, people who understand how to write good software and understand actual hardware designs & issues are very valuable. And yeah, if you can tolerate difficult personalities, that's always needed...
Re:Upper management be like (Score:4, Informative)
If you can handle a LOT of abuse, you're welcome to join the OpenBSD developers.
Seriously, people whinging about abuse from Linus know nothing about abuse when compared to Theo.
Re: (Score:2)
If you can handle a LOT of abuse, you're welcome to join the OpenBSD developers.
Yeah, but don't you have to strangle someone's baby or otherwise bump off some innocent party to prove your loyalty first?
(/me ducks, runs like hell...)
Re:Upper management be like (Score:5, Interesting)
I really want a T-shirt that says, "I've been flamed by Theo de Raadt". My one foray into the OpenBSD mailing list resulted in that flame. I can't actually remember what it was about, but Theo was probably right ;-) Honestly, I think the infamy that both Linus and Theo have is a little bit unfair. The flames are real and often are a little bit over the top (sometimes a lot, to comical effect), but I can't really recall very many situations where the actual content of the discussion wasn't carefully considered before the flames were emitted. In fact, the fact that these projects flourish is proof that the flames are not overly counter-productive. In contrast, I remember (many, many years ago) as a newly graduated developer I took an interest in the Hurd. I had done a 4th year project on Mach and thought it would be fun to work on it. It may be hard to believe for younger people, but in those days source code for unreleased projects was not that easy to come by, so I emailed the team to ask if I could participate. I was asked to send a resume, which I dutifully did. The reply that came back was incredibly rude and essentially said, "So you're a nobody. We have absolutely no interest in you. Go away and don't ever bother us again." There is a reason that projects like Linux and OpenBSD succeeded while the Hurd did not. The projects are accommodating and welcoming to new comers. You might get flamed for saying/doing something stupid, but you aren't abused for just trying to help. In fact, it is my opinion that most of the practices that people think of as "free software development" actually originated from the successful way that Linux was developed. Definitely before that time I think it was rare to be able to contribute effectively to a project without knowing someone who knew someone.
That's one grey-beard's perspective, anyway. Others may have had other experiences.
Re: (Score:2)
Re: (Score:2)
Somthing true in that. We all have complicated colleagues, and it helps if not everybody starts shouting in a complictaed situation.
Re: (Score:3)
Fifty Shades of Kernel.
It's also not that easy (Score:2, Interesting)
I would like to contribute to the kernel, but seriously I don't have the time and I don't think I'm alone. And the kernel is also a big project. Almost every time I run into a bug or something that I could fix, some engineer at Intel or something has already fixed it and it's not merged yet. It's not that people that write kernel code gets hired, it's that now you more or less have to be hired in order to write kernel code. Yeah I know you don't have to, but it's not 1998 anymore and anyone can write kernel
Re: (Score:3, Insightful)
Re: (Score:1)
Is finding work an issue for anyone in IT? there seems to be an endless supply of jobs out there.
Re: (Score:2)
May not be for the average person, but for the person reading a Slashdot thread 4 levels deep, it's probably not too much of a problem.
Unless you're addicted to Slashdot of course.
Re: (Score:1)
On one hand I'm super glad this is the case. On the other it's a testament to the parts where the Linux development process is genuinely not succeeding at communication as much as it could. After all what the parent poster is describing is wasted labour.
Did you at least submit some test cases which you used to either develop your own solution, or conceptualize th
Crossroads (Score:1)
As a person with software development skills, I could:
1) spend time writing kernel code, and get a sense of fulfillment from it.
2) spend time writing some other code, and get a sense of fulfillment from it, and get paid too!
3) Play WoW.
The incentives speak for themselves.
Re: (Score:2)
Interestingly, option #2 has the least verbal abuse attached to it.
Re: (Score:3)
I used to contribute.. (Score:5, Interesting)
Many years ago I worked on several parts of the kernel. But I got hired by a start-up and simply had no time, so I had to step away.
But I still fondly remember meeting all of the people involved. When I was doing things, I don't recall Linus being verbally abusive. Maybe it happened and I don't remember.
Re: (Score:1)
When I was doing things, I don't recall Linus being verbally abusive.
Linus is only verbally "abusive" when people who should know better screw up.
Re:I used to contribute.. (Score:5, Funny)
Maybe Linus Torvalds (as a Kernel Coder himself), has got fired and is looking for a job.
Re: (Score:1)
Oddly enough, I remember reading a study where successful relationships involved the couple calling each other out and not wearing kid gloves when dealing with issues that arise. Maybe coddling people isn't good at any level. Of course, Linus also doesn't physically abuse people, he calls them out and doesn't sugar coat it when somebody screws up.
Re: (Score:1)
This is supposed to be shocking (Score:2)
Re: (Score:2)
With brilliant logic like that I guess you are not a kernel developer.
It IS a valuable skill (Score:4, Interesting)
I frequently work with people who are terrified to touch anything related to kernel. Many are "professional" Linux-developers, but to them, all they know is user-space code.
I am the go-to guy with anything kernel related at my work, as I'm not only not afraid of the kernel, but I embrace the opportunity to dig deeper. I've learned that this is a rare and valuable skill in some technology circles. People seem to regard me as some kind of wizard (because I maintain tool chains and do all the integration stuff and similar). I did not exactly actively seek this position. The only real difference is that I've never been afraid to learn. Now I'm quickly becoming the in-house expert and I don't care. I can leverage that to death when looking for other jobs.
Re: (Score:3)
Re: (Score:2)
I frequently work with people who are terrified to touch anything related to kernel.
It's more than that - people (inexperienced developers in particular) are terrified to break outside of their encapsulated environment. They instinctively assume the standard libraries are flawless and bug-free, and that they don't have to worry about how they work, which is a useful approximation until that's no longer the case. The idea of looking at the source for said library to understand it better simply doesn't occur to them, or they overestimate its complexity. (To be fair, this is a view strongly e
Sounds like MediaWiki (Score:2)
Community developers write useful things then get hired by the WMF to work on stuff nobody wants.
So wait, I guess not like MediaWiki.
May also show wider adoption... (Score:5, Insightful)
The summary is full of percentages. 11.8% seems to be about 19% less than 14.6% but that just serves to obfuscate. I'm not willing to dig into the "fill-in-the-form-to-read" article, but would assume that the total number of paid developers has increased accounting for the change in percentages.
Re: (Score:2)
I'm really impressed with how effectively you analyzed and got to the bottom of all the bugs in that text. Would you be available to come write Linux kernel documentation for us? If you've already been doing that as a volunteer, then subsequently gotten hired elsewhere, then...well...never mind, we understand, thanks anyway.
Re: (Score:2, Troll)
Re: (Score:2)
Did they really say that? I must have missed it but I'm not surprised if it's bozo who said it.
Re:May also show wider adoption... (Score:5, Insightful)
Yep, that wasn't too long ago [theregister.co.uk]. Ballmer was, of course, actually talking more about the GPL license and it's "viral" nature, as they viewed it. Microsoft has previously been forced to release source code when GPU code was found in one of it's products.
Interestingly, it's a very different Microsoft today, having realized that iOS and Android have destroyed them in the mobile space, and with Linux as a very strong competitor in the server market. You see them now even porting some of their most important properties (Office, Outlook, .NET, etc) to competing platforms, which would have seemed unbelievable just six or seven years ago. Competition is a good thing.
Re: (Score:3)
Oops, that's "GPL code", not "GPU code", of course.
Re: (Score:2)
I remember an MS developers disk with gcc on it, and the GPL in a text file. I don't see why that's a big deal because they used to have the Berkley copyright text in their hosts file as well.
Re: (Score:2)
Comes down to saying: Using the right tool for the right job. I think this is where Linux shines.
Re: (Score:3)
It maybe the year of the Linux Desktop. The thing is that the the distro could end up being ChromeOS.
Unpaid volunteer != unemployed (Score:3, Informative)
Linus comment is out of context, I hope.
Getting hired really quickly changes nothing. You are still an unpaid volunteer unless the new job pays you to contribute to the kernel. Lots of people contribute to open source projects on their own time while drawing income from other work. That does not make them paid developers in the context of the open source project.
Re: (Score:2)
My interpretation of the comment was that 88.2% of Linux kernel developers have Linux kernel development in their job description.
Re: (Score:2)
No, you're out of context, not Linus.
You stated your own answer, just take out the "unless" and believe that Linus understands things like, how linux kernel devs get paid. "The new job pays you to contribute to the kernel." Mystery solved, there was no mystery!
Kernel code... (Score:1)
See my anon comment above about people fearing kernel code.
You sir, are one of them. It's a psychological barrier, not a technical one. It really, really isn't hard to get a start on kernel development, especially if you're only talking about things like simple mods and drivers. If you're the type who needs an IDE to get anything done, then yes, it probably is hard, but you're also not a skilled programmer.
As far as documentation goes, to me it's duplicate effort and introduces risk of out-of-date docs.
code for the details, document the big picture (Score:2)
While I look at other code for the details, such as looking at a function I plan to call, some "big picture" documentation is extremely valuable in order to know where to start. It's best to understand how it's supposed to all fit together and you can't see that by looking at individual lines of code in a codebase of millions of lines.
Also a sample HelloWorld module is very useful. What functions are REQUIRED for a kernel module? Reading over an existing module won't answer that; a sample helloword.so will
Re: (Score:2)
...It's a psychological barrier, not a technical one....
Spoken with supreme confidence by someone who has evidently never touched a line of kernel code. I can assure you that it is in fact a technical barrier.
Re: (Score:1)
Some professional experience might change your tune about the approachability of open source.
You'll likely be tasked at some point on a team building a large system that has components that are closed, components that your team is writing, and open source components. Inevitably some interaction between those spheres will lead to a failing test case (or bug report). You'll be able to see inside the open source (and ask informed meaningful questions about it on the Internet), see inside your team's work and d
Re: (Score:2)
Why does the Linux Foundation force its website visitors to submit a form before they can read this report?
The LInux Foundation is pretty much out of touch with the community, it is basically just a self appointed manager circle jerk. Not understanding basic open source etiquette is a clear demonstration of that.
Not in Germany (Score:3, Insightful)
I look back on many years of writing assembly code for 680x0 and PPC, Strong knowledge in Hardware and System development of certain architectures as well as C programming. I even have written an hobbyist Kernel and an Action Replay like software (WinIce for Windows guys). Sadly I am not able to find a job offer here in germany. Most of the time I deal with mid management people who know shite about programming at all. They see you as a toy who can be hired cheaply.
Over the years I found a company named CSC (Computer Sciences Corporation) who hired me as an application developer for surface and subsurface realtime systems (Military services). At least that's what's written on the paper. The reality ended up that I did normal consultancy shite like building up PC's, lot of travelling, systems integrations and other things NOT RELATED to my job description. After 6 years I quit the job because it wasn't satisfying. I wanted to leave earlier but unfortunately the current economic situation didn't allow me to quit the job and become unemployed.
After a while they started treating me with all kind of dirty company stuff like warnings and other things only to enforce me to continue the way "they" saw me. This ended up in me resigning from the job.
After that I wasn't able to find another job anymore because over the 6 years I did so many different tasks, that I ended up doing everything half or on a broad ranger rather than staying the expert that I was before I joined the company.
Now 5 years have passed where I resigned from my job and from then on depend on germans wellfare system.
I wasn't hired anymore. No one want's my knowledge and no one wants to hire a "foreigner" (my parents are migrants).
So far mr. Linus Torvalds. I respect you but you are wrong. The indepth skills one have are worth nothing. The only thing matters is a) you are young, b) you are cheap and c) you are no fucking migrant.
Re: (Score:3)
How can you say that Linus is wrong, if you haven't worked on the Linux Kernel?
That is what the statement was about "Linux kernel developers get hired".
Re: (Score:2)
Now 5 years have passed where I resigned from my job and from then on depend on germans wellfare system.
I wasn't hired anymore. No one want's my knowledge and no one wants to hire a "foreigner" (my parents are migrants).
Too bad it is so hard to immigrate to the USA! We are all migrants here.
Re: (Score:1)
Germany _is_ different from the USA. Germans - both native and migrant - have a different mindset. Including me :)
Do you also do systems administration?
erm.. really??? (Score:3)
Dammit ! (Score:2)
And where is the Dice link ?
Why hire someone to contribute? (Score:2)
Why do they do this? On the one hand, they may have some profitable use for the Linux kernel, but on the other hand, Linux is GPL'ed, so they are effectively giving away the work to the world at large. That may be fine for Joe Average volunteer kernel developer, but why would a company want to contribute to a public project like so?
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
The question is whether a company is better off having a better free OS available to everybody or a better proprietary OS. Writing and maintaining a proprietary OS as good as Linux is a major project, so the company would have to make a lot of money on its own OS for that to make sense. (Of the personal computing devices I see, only Google, Apple, and Microsoft maintain their own OSes, and Microsoft is the only one to be proprietary all the way down.) Lots of companies would like a good free OS, and don
Re: (Score:3)
Re: (Score:2)
esd wasn't nothing, it just didn't obey the generic network-able "everything is a file" type of *nix attitude. There were lots of sound servers, but they all took a windows-type attitude of wanting to take over the sound card for exclusive use, and also had low quality and incomplete APIs. PulseAudio was included by distros about 3 years too early, for reasons having to do with implementation bugs, and the wide variety of hardware bugs in sound cards. (because sound cards are cheap hardware, they get less e
Re: (Score:1)
I can think of at least one friend who made contributions with that intention, before abandoning his work.
Your anecdote does not help make your point. Your friend's attempt to leverage this career-improving "exploit" failed, because kernel development isn't something some trivial resume-padding you can pick up in a weekend. It's not Python.
Re: (Score:1)
Device driver writing is some "trivial resume-padding you can pick up in a weekend", tbh.
Rewriting a kernel subsystem, on the other hand...
Re:And so Linux has become a boring mess... (Score:5, Insightful)
Well, I guess that opens a philosophical discussion of whether writing device drivers counts as "kernel coding" at all.
Re: (Score:2)
writing device drivers is debatable; the kernel side of it is frequently just cut and paste from elsewhere and most of the "real work" is on the device side. A strong argument can be made that maintaining them in the longer term is true kernel coding as there's a bigger need to track changes to the kernel side of things.
Then again, it might've gotten easier. I haven't maintained drivers since the
Re: (Score:2)
Well, I guess that opens a philosophical discussion of whether writing device drivers counts as "kernel coding" at all.
Well, kernel-space drivers have the ability to poop all over the system so I'd say being able to write those without people yelling at you indicates some skill. Doing a little tweak so your obscure USB webcam that is 99% similar to all the other webcams work probably not so much. Though if all you're looking for is a one-liner to get your name on the list that might not matter much, I did run into a crash bug on a -rc1 kernel that was simply a missing description causing a null pointer kernel panic but unfo
Re:And so Linux has become a boring mess... (Score:5, Insightful)
So what if it gets pulled into the kernel, than its kernel coding; at least in Linux land because driver code can touch memory belonging to other parts of the the kernel. If we are talking about Minix or something it might not be.
And So what if he did it to pad his resume. Drivers are useful to anyone who has the kit they are written for. Even if he abandons it quickly a working or mostly working driver is still useful because someone else can maintain it. Its way easier for me take your driver for 3.0.19 and tweak it build on 3.0.22 or whatever than it is to work out the hardware details.
He wins and the community wins.
Re: (Score:2)
Device driver writing is some "trivial resume-padding you can pick up in a weekend", tbh.
Rewriting a kernel subsystem, on the other hand...
Sortof, except that even if the majority fit that description, the majority are also written before you even know they exist. A person in the position of needing to pad their resume doesn't own pre-release promotional copies of all the latest hardware. By the time the device is in the store and they know to check for a driver, the patch is already a month old on a mailing list. Even if you're reading the mailing lists, the process is not normally, "gosh people there is no driver for this device, will somebo
Re: (Score:1)