Kernel Contributor Corbet Says Linux Community Is 'Intimidating' 177
An anonymous reader writes "Key Linux kernel contributor Jonathan Corbet has admitted the developer community can be intimidating and hard to break into. He highlighted the issue during his Linux.conf.au presentation on the Linux kernel. Corbet expressed concern about the exclusivity of the kernel community, but says it's doing well regardless. He said in a period of just over a year, 55,000 individual changes from 2,700 developers (representing 370 employers) were made to the kernel, equaling 2.8 million lines of code. Corbet called the process 'alive and active.'"
difficult? (Score:5, Insightful)
Write good code? (Score:3, Insightful)
You what's actually harder then Getting in the kernel community, Writing Good Kernel Code!
And rightly so (Score:5, Insightful)
The Linux kernel is not some hobbyist tinker toy. It is an extremely serious, mainstream and global-scale project. If it were more inclusive rather than exclusive, there would be MUCH risk in stability and security as I firmly believe that there would be attempts at installing exploitable code within the kernel. These types of problems have already occurred in F/OSS projects all over and we know that there are parties out there who are willing to to to GREAT lengths to accomplish their goals.
With all this, I have little doubt that the present condition is for the best.
Re:sabotage (Score:3, Insightful)
Re:difficult? (Score:5, Insightful)
The larger problem here isn't that the Linux kernel group is exclusive -- though it probably does manage to deny itself (and its users) some good ideas as a result. It's that the FOSS world has developed a dominant monoculture that very definitely marginalizes alternative approaches that, both in the short term and in the long term, retards progress in other areas. Yes, there are FOSS alternatives to Linux, but we have arrived at a state where there is Linux, and then there is everything else. And that "everything else", excepting perhaps the *BSDs which are competitors in the Unix clone space rather than fundamental alternatives, generally lack maturity and application support.
That's only an acceptable state of affairs if you think Unix (and Linux's implementation of Unix) represent some kind of final end state in OS development. This is by no means a criticism of Linux in and of itself -- it's a fine OS and I'm glad to have it -- but in terms both of user choice and advancing the state of the art, it's no more healthy to have Linux as the overwhelmingly dominant player in the FOSS world than it was to have Windows as the overwhelmingly dominant player in the broader PC world.
Rather than fretting about getting into the inner sanctums of Linux development, more would be OS developers should be looking at the alternatives (or starting their own, if they have the vision for it). Most will fail, of course, but somewhere out there is a project that, like Linus Torvald's ambitious little toy *nix kernel all those years ago, will someday be a game changer. And even in failure, one learns a great deal -- perhaps enough that one might later find entry into more established circles easier.
please mod parent up (Score:4, Insightful)
Just wait until you're in the community (Score:5, Insightful)
...then you can really get chewed out by Linus because you should have known better. It's not just from the outside it's a tough crowd all the way, but you also have to remember these people write the most key component of any good server. There are many places where having a developer, even if he's not the world's greatest is better than having none at all. The kernel isn't one of those places, if you can't take the heat then get out of the fire.
Think of it more like chess, the rules are simple but the most effective implementation hard. Hell, I know a couple geeks who built their own OS, but I think the scheduling was just a round robin. Well a lot of bright people have thought quite a lot about it, and the kernel performs to some level. It's like a grandmaster chess player, he can't learn anything from a player ranked below 2000, it'll only be rehashing the same simple ideas and walking into the same traps that people have walked into before.
Of course there's also the asshats that think that just because they know how to write an operating core, they're god's gift to mankind. But, I've run into those in quite a few other areas too...
Re:difficult? (Score:4, Insightful)
"That's only an acceptable state of affairs if you think Unix (and Linux's implementation of Unix) represent some kind of final end state in OS development."
I agree. The problem is that geeks are too hidebound to support truly new things. Why does every successful new language have to use "C" syntax?
In the case of UNIX, there are those who think it's the greatest thing since sliced bread, but since they weren't on earth when it was created they can't differentiate between its good ideas and those that were adopted because of the limitations of that era.
It's a bit like those who believe that black-and-white movies are more artistic just because they're black-and-white. Many of those movies would have been made in color if that had been a feasible option.
It's part of the quality control (Score:5, Insightful)
Unix developers have always had an attitude, but in my experience they have been far more tolerant than Microsoft Developers (who insisted we rewrite all the Winsock2 code Intel was doing for them for free to better suit their revision control system) or that paragon of arrogance, the original SCO. When I worked for Amdahl UTS, one of my coworkers got the comment in his annual review that he "has little tolerance for mediocrity". Problem is, he thought this was a GOOD thing, while his manager was using it as a negative to justify a bare cost of living raise. Yes, they don't suffer fools easily, so make sure you do your homework first and get your facts straight before talking to them. Really, they are a lot like slashdot posters who rush to point out even the most minor mistakes in a post.
Re:That practice is... (Score:5, Insightful)
really fucking annoying.
Re:It's part of the quality control (Score:2, Insightful)
These days many *ARE* getting paid and answer to their bosses for the results of their work. But that is even more reason to have little patience for newbies who don't quite understand what is going on.
Re:difficult? (Score:5, Insightful)
The Loop... (Score:2, Insightful)
Something that I've always found interesting is the whole social structure that permeates different internet projects. In particular -- and I qualify this with nothing but my own paltry observations -- it's exceedingly difficult to break into anything that involves skill (particularly the programming sort) because not only is the existing structure built on skill, but it is also built on familiarity. If, say, Bob is well known for doing 'foo,' and you step in one day after cobbling around your own for a while and demonstrate that you're not half bad at 'foo' yourself, there's an exceedingly good chance that you'll fade into the noise unless Bob (or someone who speaks to Bob quite a bit about 'foo') notices what you've done and says something about it.
At that point (absent of any response), the prospective developer has a few choices -- keep cobbling and work up some more 'foo,' and bring that into the light once it develops, seek out Bob to talk shop that he might let you in on some of the nuances that you may not have seen in development wishlists/buglists/etc., start clamoring over what he/she's already done in (erroneous) hope of getting recognition, or move on to developing 'bar.'
Granted, I haven't done any Linux development yet, but that's what I've been seeing in other things. That whole breaking in process is difficult because those insecurities about people responding underwhelmingly (or negatively) to your work don't really go away, whether you're coding or doing scientific research. It may well benefit the Linux development community only to work with those who have the drive to continue despite those discouraging possibilities, but it won't necessarily be a huge recruitment tool to get people into developing in the first place.
Re:difficult? (Score:4, Insightful)
How do you support this assertion? You seem to be implying that there's only one kernel, but the fact of the matter is that this is only nominally true. There is one kernel stack, yes, but its permutations are almost beyond count. It runs on literally thousands of different hardware devices. Even the major distros all roll their own. So the kernel, while nominally monolithic, varies considerably in practice.
One of the defining characteristics of a monoculture is that it's susceptible to system-wide compromise. In short, if you can hack one instance of the monoculture, you can hack them all. That is arguably untrue of the Linux kernel. There are so many different implementations that systemic compromise becomes almost impossible. Conversely (and almost ironically), the kernel does possess one often overlooked strength of monoculture: As long as the core commonality remains strong, the system at large remains healthy. Small, targeted patches can propagate quickly.
It's peculiar and counter-intuitive, I realise, but experience teaches us that the Linux kernel seems to have few of the weaknesses of a classic monoculture while retaining many of its strengths.
Re:Intimidating... (Score:2, Insightful)
That's not true! (Score:5, Insightful)
The Linux community is very open and egalitarian! *Anyone* can get called an idiot for saying something stupid or posting a retarded patch!
Re:difficult? (Score:4, Insightful)
As an experiment, about a year ago I installed Ubuntu on my PC (complete with proprietary nvidia 3D card), to see if I could:
* set it up so I could install 3D games
* set it up to play MP3 files
* set it up to play DVDs and random MP4 videos
* do the common usery things (read email, browse the web, play YouTube videos)
without using the command line.
The experiment showed it was entirely possible, and indeed - easy. Much easier than installing Windows. Even the nvidia driver installed over the net - Ubuntu simply prompted me "Do you want to install the proprietary nvidia drivers?" after first boot.
Linux doesn't have a "continued dependence on the command line" at least for anything a normal user does. If you complain that administration needs a command line, it does on Windows as well - there are many tasks on Windows Server that can only be accomplished via the command line and enough things on the Windows desktop that at least need hacking the registry.
Perhaps 5 years ago this criticism was valid, but it's not now with supported hardware.