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."
That would be Kombucha.
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.
Does that include full 64-bit compliance? If so, Linux fails:
While you guys are at it, you might consider preventing sendto(), etc.
calls from requesting >= 2GB data in one go. Several families have no
restrictions on total size (or even worse, assign the size to a signed
int type and then do a signed comparison as a check). This can result
in all kinds of ugliness when allocating sk_buffs based on that size,
some of which result in kernel panics (due to bad sk_buff tail position)
or heap corruption.
Well, that's not an unreasonable limit, you say?
Yep, because 640K, errr, 2GB should be enough for anyone.
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".
Development seems to be stuck in a loop of infinite recursion.
over 70% paid developers means less than 30% unpaid developers. That means about three paid developers for every unpaid developer. For a project of that size and importance for many companies it is still an impressing number of unpaid developers.
cb
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.
"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...
- I have not seen that attitude expressed in 10 years or more. Most people I know that aren't Linux savvy, but know of it, assume the distro's are created by shirt and tie folk, who work in a nice office with cool things like spreadsheets and deadlines, and project managers! OooOOoooo...
To those of you who earn a paycheck writing the coolest, professional OS out there.. Good for you.. and Thank You!
To those of you who contribute your time and expertise for free.. Thank You! A labour of love is a bitch to cash at the bank.
To those of you who just use Linux..Thank You, you are helping to spread the word at the friend and grandma level.
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.
It's just a way of saying everybody needs to eat.
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.
More like the Cathedral and the other Cathedral.
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.
I think "benefit" is the word you are looking for, but then, what if the fix is for a piece of software I don't use or have never heard of?
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
To obtain maximum Freedom you must follow my rules and use my definition of Freedom! I find the whole thing rather creepy but I guess some people really need a group identity.
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!
http://slashdot.org/comments.pl?sid=1888084&cid=34459018 where metrix007 the troll is trolling someone as he did yourself here:
http://slashdot.org/comments.pl?sid=1897056&cid=34455480
It ought to be very funny, considering metrix007 won't backup his words versus 15 points another poster here made about hosts files use and their benefits.
http://slashdot.org/comments.pl?sid=1888084&cid=34459018 where metrix007 the troll is trolling someone as he did yourself here:
http://slashdot.org/comments.pl?sid=1897056&cid=34455480
It ought to be very funny considering metrix007 won't backup his words versus 15 points another poster here he trolled as he did yourself above who made points about hosts files use and their benefits for both speed and security online. He ran from it and I think you will find it rather amusing for the next time he does this to you I imagine.
What part of your solution is the OS you use??? Unless you're an OS provider (e.g. Microsoft), you have nothing to give away in FOSS.
And you're not giving it away either, even if you were putting it in your OS: it's making your competitors become your developers. If they add to YOUR code released as FOSS, they have to release THEIR code.
So, unless you're the biggest (or close to the biggest) in your area AND your code is in the OS, FOSS is a net benefit. Heck, if you ARE the biggest player, but it's a fragmented market, you STILL benefit more from others being your development team because there are more lines of code coming in for free than going out.
There wasn't any more to your thesis, but that one you did give out was extremely flawed.
If it's niche software and closed, how many eyes are looking at it? Four? Less? Because it's niche, no company wants to put lots of money into it unless they can convert the very few customers into a large revenue stream, therefore either
1) reduce costs massively, ergo no developers and few eyes looking
or
2) make the code crappy, since you have no other option than to buy the upgrade, you're now a revenue stream, ergo, crappy software is their product
At least with FOSS, if you have more than NO developers, you can at least add the eyes of your code monkeys to the list of eyes looking, and option #2 is unavailable.
...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.