Paid Developers Power the Linux Kernel
Hugh Pickens writes "Believe it or not, there is still this illusion that Linux and open-source software is written by counter-culture, C++ programming cultists living in their parents' basements or huddled together in Cambridge, Mass. group-houses. Now CNet reports that the Linux Foundation has found that 'over 70% of all [Linux] kernel development is demonstrably done by developers who are being paid for their work.' That Linux is primarily developed by paid developers should come as no surprise considering that Linux enables many companies — hardware, software, and online services — to be more competitive in their markets and to find new ways to generate revenue. 'What's important about how Linux and open-source software is created isn't the side issues of politics or how its developers are perceived; it's that its fundamental methodology produces better software,' writes Stephen Vaughan-Nichols."
It's written in C, not C++.
The Linux kernel is written in C, not C++. And haven't there been a number of articles on how IBM, RedHat, Sun etc all have employees who develop Linux? One post in particular... and I know there have been others.
My employer uses F/OSS extensively - and as the sysadmin, I've started to notice a pattern.
F/OSS products which scratch an individual or a small group of peoples' itch generally get developed to a certain point and then stagnate. If you're lucky, that point is acceptable to you.
The products that do really well - the "best of F/OSS", if you like - are almost invariably the sort which scratches a very common itch. They're usually bankrolled by a number of companies (the Linux kernel falls under this category) or become self-funding when the project leader sets up a company to sell a commercial version with support and possibly extra features.
Do even the editors read anymore?
Hang on a minute. If there's an illusion that it's written by smelly vegan hippies, then surely it should come as a surprise that it's written by paid employees of €eevu£ corpra$hunz.
Though the question is actually irrelevant - everybody has known it for years. It's a non-story.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
Is Windows written by a bunch of C# programming neophytes living in Steve Balmer's basement or huddled together in Delhi, India dormitories?
Sometimes the light at the end of the tunnel is the headlight of an oncoming train.
I, personally, have no problem with these developers being paid. Open source is not always free and vice versa. I think what's important is the code remaining accessible.
This perception of OSS still remains rather strong. You will notice that a common advocacy for OSS is the "many eyes" thing. The idea seems to be that there are just tons and tons of developers out there with amazing amounts of time that will jump on a project and help, if only it was opened up. The advocates then point to things like Linux or Firefox or MYSQL and how great they are. What they miss or don't understand is that these high profile, top-flight OSS projects have heavy financial backing. They have developers who's full time jobs it is to work on the software. That's wonderful and all, but don't then try to claim that you'll get that kind of development on a project just because you open up the code.
I am not sure the methodology produces better software; it does however produce software companies can use and modify to their needs without paying ongoing license fees. That's why they use it - it allows them to develop other, higher-value, products and maintain control over the source and not be beholden to some third party company. The methodology does work to produce high quality software since many people are looking for bugs, with that part I agree - but companies don't invest in software because others are QC'ing it; they invest because it enables them to make money. While what the author says is, IMHO, true about the Linux kernal, I don't think it is true for many other FOSS projects; unless they are used as part of a larger product, such as a server. There simply isn't the same incentive to spend time and money on an application, such as an office suite, that you can't use to sell something more profitable.
I'm a consultant - I convert gibberish into cash-flow.
That's not to say some individuals with long hair and others with low personal hygiene standards haven't done their bit, but those attributes don't make you counter-culture.
politicians are like babies' nappies: they should both be changed regularly and for the same reasons
Interesting quote.
It seems to work almost the way Richard Stallman would have hoped. Somebody likes a piece of software enough to pay a programmer to fix some aspect of it that needs to be changed.
I understand how the money is being made with commercial versions and support deals.
I don't see how money is being made with "several companies bankrolling" a piece of software that scratches a common itch. Is it that a particular company sees that it can make money by using, though not owning, a particular piece of software and they don't mind their money making improvements available to other people?
It has seemed to me for a while that the really popular pieces of FOSS (or the majority) are done by professionals. The bearded, Simpson's comic book store owner types come in afterwards either to complain about how something isn't politically correct enough to get people to make a castrated, completely free version of it. That or they pop up on Slahsdot talking like they are the ones who built the stuff and dissing people who want the software to be friendly.
who cares? The point is that it is open. Today paid programmers are doing, before nerdy basement dwellers did it, maybe tomorrow homosexual vampires will do it. Being open allows the "who" to change.
The GPL facilitates (forces) the work to be shared among stakeholders. My company buys maintenance and feature development on Postgresql just the same and it's a really great deal for all of us who contribute to eachother not having to buy Oracle licenses.
I think what's worth equal amount of attention (and probably harder to get real data on) is the willingness to accept new code for the kernel, and how it relates to the same willingness on the part of the distros to accept new code. I'm not a C programmer, so I can only speculate about this, but I'd imagine that you'd have to cry pretty loudly in order to get code you've written accepted into the Linux Kernel project, just as the same would probably have to do the same for some of the major corporate-backed distros to accept new code. By contrast, I'm pretty sure that if you contribute a bugfix to Arch or Crux they'd probably take you seriously.
Corporate-backed distros often have support plans that they profit from. They also have in-house technology running the same software they're developing. If one of their paid developers notices a problem and it's a kernel problem rather than a problem specific to their distro, it only makes sense that those who are paid to work on Linux for a living would be taken the most seriously when it comes to making changes to the Linux kernel itself.
Define "better".
Isn't at least some of the point of open source that people and companies who develop software for their own use share it with others? If we do this as a community, we lower the cost of computing, and keep the software closer to the actual needs of the users.
little story for me hear. typical user wanting to get away from the windows lockfdown. went to linux over the years got good with it. offered help to people on irc still do. but one daya i helped the right guy heh and got hired in to manage his coprate server systems. so now im payed. linux devs probly whent threw the same transsion from the hobbyist in a basement to working on paid dev.
i still do both. being my paycheck comes from being a linux network admin but my code still free.
Cambridge is too expensive, we all moved out to Somerville.
You gotta find first gear in your giant robot car
Ant writes...
Sorry CNET, you're just a tad late on Computer World on this one.
The idea seems to be that there are just tons and tons of developers out there with amazing amounts of time that will jump on a project and help, if only it was opened up
This is a common misconception about free software.
"Many eyes" does not mean every user is a developer, as a matter of fact the vast majority is not.
What "many eyes" means is that IF a user is bothered enough about a bug and that user has the ability to develop software, then he CAN fix that bug. There might be a million users, but if only 0.1% of them are interested developers then there will be a thousand people fixing that bug.
And every user will profit by that fix.
I've been working as an embedded Linux developer for almost a decade now, and yes, most of us kernel hackers are paid for our work. For example, right now I'm working for a major microchip manufacturer that wants to make sure their products are fully supported by Linux. Consequently, they fund teams of open source developers (often hired through big name consulting firms) to port the kernel to their latest CPU's, develop drivers for integrated peripherals, etc. Just look at the email addresses in the submit logs for major open source projects. You will see ibm.com, intel.com, ti.com, redhat.com, windriver.com ..., and many, many more big commercial technology companies. Its been this way for a while, which is why I would always laugh whenever some MS fanboy would try to denigrate Linux programmers as a bunch of basement dwellers. I make a better than average living from Linux coding, with multiple job offers right now, even in this horrid economy.
This is also why I have no worries about Microsoft ever killing off Linux. There are far too many companies making far too much money from Linux based products in market niches that MS has no traction in. The embedded and mobile markets are pretty much owned by Linux, and those are pretty much the only tech sectors seeing strong growth right now. If you haven't yet added Linux skills to your resume, do it.
If anyone wants to ask me about the Linux / embedded / open source consulting world, go ahead and post your questions. I'll check back and answer if I can.
The Bolachek Journals
As one of those 'sell outs', I'm curious why you think that? At the heart of the open source ethos is the license under which the software is distributed. As long as the code that is developed is submitted back to the open source community, that ethos is satisfied. How or even if the developer is paid is not really relevant. Indeed, a world in which most commercial software is open source and the developers are paid for their efforts is very much in keeping with our dreams of an open source utopia.
The Bolachek Journals
>or huddled together in Cambridge, Mass. group-houses.
Fandom House was in Somerville, blocks away from Cambridge. And to be clear, most of the people living there a) had worked at BBN at some point and b) earned over $100K/yr in current dollars. (The house on Linnean St. was in Cambridge, true, but I might point out that the basement their was converted into a sauna level with five cold and hot pools, hardly what the OP implies.)
Not so suprising, Red Hat, Canonical, the many many embedded development houses, et.al. are stronger from each others' contributions. And those of us who use Linux can benefit from that. we just have to make sure that things stay open also, for the benefit of all.
The Linux kernel (which isn't explicitly mentioned in the summary) is written in C, as are numerous other Open Source packages that are used in Linux distributions. A purist might say that only the kernel is Linux, but we don't usually talk about GNU/Linux distributions, even here, so expecting others to make the distinction would be patently absurd. KDE is written in C++, as is a lot of other Open Source software including QT. It is also true that a lot of code is in Perl, BASH, SED, AWK, Python, Java, and a host (excuse the pun) of other languages. Certainly you wouldn't expect the guy to name them all right? He said the perception is that we are all C++ programming cultists. Who is most likely to have that misperception? Could it be Windows devs, who know that Windows is mostly C++, and assume everything must be done that way? Who knows? In any case, if you are going to correct someone, at least be right.
Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
..that almost 30% of the developers of such a huge and complex project are involved without direct benefits. Big thanks to all of them!
FTFY.
Haven't they realized by now our parents have died?
We own the house now. Sure, we might still live in the basement, but we own the house.
Get it right, k?
(oh ya, we program in C by the way, C++ is for the programmers who have nicely lit offices)
Be seeing you...
Embedded programming requires a certain mind set. Board support packages, memory organization, interrupt handling schemes, latency management, working around chip set bugs/oddities, reverse engineering, close collaboration with hardware designers for field programmable gate arrays or ASICs, bootstrapping, and system integration are NOT taught in any school I have discovered. The closest I have found is Computer Engineering programs that offer robotics or some other courses/projects that include interfaces to controllers and sensors.
Smart programmers can learn all of this, but it is a very different environment than the application level programming with "managed" languages that most students learn. Compilers often don't work seamlessly. A little machine language (let alone assembly language) is often needed to get development started. If you have never done any assembly language programming, that is a good skill to develop.
This type of vendor documentation is typical:
http://www.xilinx.com/products/boards/ml310/current/reference_designs/base/vxworks/ml310_base_vxworks_bsp_proj_creation.pdf
http://www.nvidia.com/page/purevideo.html
http://forums.nvidia.com/index.php?showtopic=12150
(...) a world in which most commercial software is open source and the developers are paid for their efforts is very much in keeping with our dreams of an open source utopia.
Indeed. The most paid F/OSS developers there are, the best for everyone. If there is demand, F/OSS developers salaries will raise, which will make more people interested in working in the field. The result will be better software for everyone.
I guess we all can dream...
- Human knowledge belongs to the world
There are areas of software where OSS clearly can't compete. If the goal is open source everywhere then OSS philosophy needs to be re-thought. Games for example are still more than 10 years behind.
The real problem is that successful open source funding models do not work in all areas of software. You can't point at the kernel and say SEE LOOK COMMERCIAL SOFTWARE CAN BE OPEN SOURCE when for areas like games and niche business software no similar funding exists. Where is the open source answer to Black OPS? Who is going to fund open source software for real estate agents in the field? Stallman underestimated the world's growing demand for software when he created his movement. He assumed that software would be mostly ran by geeks and at the command line. His plans are completely unrealistic and his philosophy should be dropped. It's fine to use the GPL but expecting that all software be open source eventually is like expecting Marxism to work eventually.
The most paid F/OSS developers there are, the best for everyone. If there is demand, F/OSS developers salaries will raise, which will make more people interested in working in the field. The result will be better software for everyone.
I guess we all can dream...
There has long been demand for open source video editing software and yet none exists. Stop dreaming the sugarcandy mountain crap that Stallman came up with and accept that both open source and proprietary software business models are needed.
As long as the code that is developed is submitted back to the open source community, that ethos is satisfied. How or even if the developer is paid is not really relevant.
That is really the problem. There is no accounting for how software like Black Ops is to be funded. It's like a religion where Open Source is the answer before the question is asked. That might make you feel indignant but doesn't explain how open source is supposed to compete with games that have 50 million dollar budgets.
Gimp actually works OK compared to the competition but the same can not be said for video editors. What is your answer there? Tell users to wait another decade for open source software to get to where proprietary video editing software was in 1999? The open source ideology clearly has problems, it's time to admit it. I think a good balance might be to have the OS open source but the applications proprietary.
It was shown a while back that most of the commits were from Sun employees even though OO has had over a hundred million downloads. If they only charged $5 to fund developers it would be far more a competitor with MS Office.
doing the work, not companies. If it had worked the way he wanted then HURD would not be flatlined.
instead of waiting for software that may never get finished. We've seen how lousy donations are for OSS. Your solution is simple but unrealistic.
Some software is just plain boring to work on and will always attract far less developers than other projects, even if there are an endless amount of users.
As one of those 'sell outs', I'm curious why you think that? At the heart of the open source ethos is the license under which the software is distributed. As long as the code that is developed is submitted back to the open source community, that ethos is satisfied. How or even if the developer is paid is not really relevant. Indeed, a world in which most commercial software is open source and the developers are paid for their efforts is very much in keeping with our dreams of an open source utopia.
YHBT. YHL. HAND.
I would think that with a five digit UID and a paycheck from hacking the kernel, you would be able to recognize this.
Jesus was all right but his disciples were thick and ordinary. -John Lennon
When you're coding on an embedded device that doesn't use the GNU toolchain, there's also a very high chance that your C libraries are so botched or completely missing altogether that you might as well call C a terribly non-portable language. Check out DSPBIOS from TI, endless crap from the FPGA vendors for their "embedded cores", 68K compilers etc... then you get architectures like XMOS which doesn't even have C but instead as XC and there are other platforms with their own "embedded C" super-subsets etc...
With the introduction of C99 and the piss poor support for it, while you can still say you're programming "standard C", it's still year away from getting past implementation interpretation issues and such. It also has naming issues as not all platforms have clearly identified the ABI for all new C features. I recently had a problem with that where I had to define a macro for C99 name handling in my assembler code.
There are two real problems with C++.
- The C++ standard library is a bunch of templates and is just a cludge in general. You either have to write your own (which you do in C or C++ on embedded systems without GNU anyway) or try and use parts of Qt or something similar.
- The ABI is often a wreck. This isn't a problem on embedded systems since you're compiling the whole project for each release anyway. It's not a problem for Linux since Linux distributions will probably rebuild all packages for a new release anyway. Most C++ compilers these days support COM style classes which solidify the ABI a bit, but it's often a good idea that "inter-component" calls are handled using a C API at least for entry points. So if you load a DLL/shared library, you can request the objects you want using an "opaque". On the other hand you could just recompile the project before you release it.
Too many people whine about the C++ ABI issue, that's fine. But it's often stupidity. For large projects you spend thousands of extra programmer hours to save yourself 10 hours of making a more robust installer. While it's a wonderful dream world where you can install a single instance of a library on a computer and you can fix all your problems by replacing that one library when there's a bug found in it. It causes DLL hell (which I've experienced far more on Linux than on Windows). When you install an application, put it in a separate directory and included the libraries it needs with it. After all, an extra 2megs of libraries is nothing next to the 500 megs of graphics you've included with the app.
I for one am looking forward to a decent successor to C or C++. Though I'm pretty sure it'll look more like C# than either of them.
We've known this for years now. Duh!
...isn't actually the bean counting suits, who want to subvert everything in the name of profit. We already know they exist. They're like a force of nature; we might wish they weren't there at all, but it's difficult to be angry with them. They're just following their own nature.
The really tragic thing, however, is all the little people who insist, adamantly and repeatedly, over and over, that what the suits want is somehow positive or beneficial. It's the Good Germans who really murder everything; not the corporations themselves, not capitalism. It's the individuals working 16 hours a day in a four foot cubicle who would defend Capitalism with their dying breath, but who should know better, because of the fact that what the suits want does not benefit said little people, and never will; it will only make their lives worse.
Although it's been said that you have nothing to lose but your chains, that's never going to happen...because the simple fact is that the majority like their chains far too much.
People who get paid to do something very often do more of it than people who don't. In one way or another this applies to all kinds of things from housing construction and soldiering to bookkeeping and practicing medicine. People who are paid to develop software full-time will show up 40 hours a week or more to work on their assignments. People who aren't paid have to find a way to pay their bills first. This probably has something to do with the prodigious output of companies like, say, Microsoft. For instance.
Yes, there is an obvious bias of this article, and an obvious ulterior motive. It's an attack on free software, on open source software, and on the very idea of freedom and liberty for people who use computers, and it's cheerleading for right-wing market-rule policies. The person who posted this wants all programming and all software to only have value in terms of restrictions and profitability. They are no friend of linux, no friend of programmers, no friend of end users, and no friend of ours.
It's a useful thing that so many people are paid to contribute to a
free software program such as Linux, the kernel typically used with
the GNU system. Much of the development of the GNU Compiler
Collection, which I started in the 1980s, is also done by paid
programmers, and we appreciate their contribution.
However, in trying to clear up the misconception that free software
development is done only by volunteers, it spreads another
misconception: that volunteers must be unemployed. Most free programs
are written by volunteers, and these volunteers typically have jobs of
some sort. They contribute to free software in their free time.
If you happen to become unemployed, as so many have due to the insane
deregulation of the banks, using your time to write free software is
one way to draw something positive out of this trouble. But when you
find work again, you won't have to stop contributing.
You can read more about the GNU project at http://www.gnu.org/.