Become a fan of Slashdot on Facebook


Forgot your password?
Open Source Software Linux

Why Linux Is Not Attracting Young Developers 742

judeancodersfront writes "Jonathan Corbet recently pointed out at the Linux Foundation Collaboration Summit that the Linux kernel team was getting older and not attracting young developers. This article suggests the Linux kernel no longer has the same appeal to young open source developers that it did 10 years ago. Could it be that the massive code base and declining sense of community from corporate involvement has driven young open source programmers elsewhere?"
This discussion has been archived. No new comments can be posted.

Why Linux Is Not Attracting Young Developers

Comments Filter:
  • by mayberry42 ( 1604077 ) on Sunday April 18, 2010 @01:34PM (#31888180)
    would also imply more experienced developers. And that's not (necessarily) a bad thing.
  • bad attitudes (Score:5, Insightful)

    by Anonymous Coward on Sunday April 18, 2010 @01:36PM (#31888190)

    Maybe it's because a lot of devs from the 90s were and are quite rude due to their lack of social skills. Most people don't put up with that kind of crap.

  • by Nimey ( 114278 ) on Sunday April 18, 2010 @01:40PM (#31888236) Homepage Journal

    if you're a CS student at many .us universities, Microsoft will give you free-as-in-beer software, including but not limited to Visual Studio and Windows Server.

    First one's free, etc. Good way to get them hooked.

  • by Geirzinho ( 1068316 ) on Sunday April 18, 2010 @01:41PM (#31888242)

    Could it be that since Linux has become somewhat mainstream kernel developement is considered a "solved problem" to young programmers looking for an interesing project? Maybe new programmers are tackling other open source problems instead.

  • Talent (Score:4, Insightful)

    by Nerdfest ( 867930 ) on Sunday April 18, 2010 @01:41PM (#31888244)
    Could it be that there's not as many young coders that have the skills required? We've been trying for years to dumb down development and this may be part of the result. Perhaps if the kernel was written in PHP and javascript ...

    Wow, I sound like a cranky old man.
  • by demonlapin ( 527802 ) on Sunday April 18, 2010 @01:44PM (#31888294) Homepage Journal
    Or perhaps that there are opportunities - the Android and iTunes app stores - that weren't available ten or fifteen years ago.
  • by Anonymous Coward on Sunday April 18, 2010 @01:51PM (#31888352)

    All the snotty elitest attitudes you find in 'linux communities'.

    Add in that windows and macos are 'good enough' and not nearly as much of a problem as they used to be.

    And it's really no suprise that nobody wants to help out the linux devs do anything.

    The older linux communities and devs... For so long they acted like THEY were the only ones that matter. Hey the world ignored your brilliance and you're now largely irrevelant. Good job!

    But hey... at least you got to be rude and talk down to alot of people for not having your experience and skills. That's something right?

  • Nope... (Score:1, Insightful)

    by Anonymous Coward on Sunday April 18, 2010 @01:51PM (#31888360)

    Nope, it's RMS' involvement and the insane GPL, Linux, and anything-else zealots that make, at the surface, the Linux kernel appear to be a group of crazy nutjobs.

    Seriously, mark me troll, but as a young developer, I can tell you that's why myself and at least 10 other people I know didn't get involved - that isn't to say the kernel really IS maintained by a bunch of crazy nutjobs, but having those people as part of the community reduces the legitimacy of it and makes it seem like it's no fun to contribute to.

    Just my $0.02

  • Age is the reason (Score:5, Insightful)

    by taleman ( 147513 ) on Sunday April 18, 2010 @01:52PM (#31888372) Homepage

    Perhaps age difference itself is the reason. Young persons may not like the 20 years older hackers. And old wizened developers may dislike young whippersnappers.

  • by khasim ( 1285 ) <> on Sunday April 18, 2010 @01:53PM (#31888386)

    If you're right out of college, would you have the experience to work on the kernel IN ITS CURRENT STATE?

    The kernel has come a LONG way since Linus first started it back in his college days.

    The real question should be whether developers how have never touched the kernel before are joining the kernel team. Not how old they are.

  • by krelian ( 525362 ) on Sunday April 18, 2010 @01:55PM (#31888402)

    Contributing to and old and large code is much more difficult than contributing to a small one. Getting your head around a large code base is no small task and documentation is often lacking. Even if the code is well commented it could be very difficult to understand the overall design of the software and how things interact with each other.

  • by Anonymous Coward on Sunday April 18, 2010 @01:55PM (#31888412)

    as corporate acceptance and utilization of OSS for application development grows

    I wish I worked for one of those.. FOSS has pretty much been declared the enemy where I work.. with a company wide initiative to destroy anything FOSS without even bothering to consider it might be ok to use. The rational being that even if we are 99% sure we are good to use it.. it's not worth it due to the risk...

    This suing big companies over GPL violations sounded awesome on the outside.. but I think has done a lot of damage to acceptance of FOSS at large companies. Smaller companies can still roll the dice.. but if you're a big juicy enterprise with lots of money to lose.. just not worth it.

  • Experienced developers can also equate to engrained behaviours and beliefs, styles and approaches and isn't necessarily always the best thing.
  • by Anonymous Coward on Sunday April 18, 2010 @01:59PM (#31888448)

    Well what are you waiting for? Grab the Linux kernel source and get crackin' sonny.

  • Re:Maybe.. (Score:1, Insightful)

    by Anonymous Coward on Sunday April 18, 2010 @02:00PM (#31888462)

    > Oh wait, that's HAM radio.

    It's ham radio. Ham is not an acronym.

  • by aepervius ( 535155 ) on Sunday April 18, 2010 @02:04PM (#31888504)
    25 years ago when I started it was a literal *TURN* in technology. We got personal computer (Amiga, Comodore, Thomson, Atari) to not only to play , but also to *program* and show off other. Heck even on my first PC I cracked Ultima 5 because the disk stopped working , and found out which instruction NOP to go on (it had a very weak encryption using a XOR increased by 3 every byte). I digress but let us see basically many nerd, and by that I mean a lot of nerd, even non-nerd, started programming took a taste of it, then went on open source etc... Alot of oldies from mainframe are also part of that group. Nowadays ? *ALL* system are either closed , or too complicated to really go on (remember how easy it was to use CGA or even later mode 10h?) , and among the young nerd I know not many really start programming. There you have it. That in my opinion is alone to make people which would be interested into programming less numerous. And tehrefore less young people interested into open source. Naturally I might be wrong and just be a grumpy old man "it was better inmy old day, now off from my lawn".But it looks that way to my anecdotal viewpoint.
  • by The Abused Developer ( 1730734 ) on Sunday April 18, 2010 @02:05PM (#31888518)
    that's all folks - the youngsters are much more socially connected and skilled than we were at their age; also, they get the clue of the social context much better than we did 15 years ago. And what they see is a career in an unregulated domain, totally havoc and chaotic, where the abuse and the overwork is the norm. there is no career path marks to follow and nobody can tell you where you going to be in 2 or 3 years. A continuously changing professional knowledge baggage is not attractive, its consequence is obvious - your whole time life should be allocated for keeping up. The dreamland of computing is not anymore there - the harsh reality has taken its place and young people are not stupid; they want to be able to enjoy their life normally instead to enslave to the corporate. 15 years ago the Linux and the Open Source was started with lots of fuel from people keeping strong to a beautiful idealism - this is gone; they are not to blame - myself I have respect for a generation who has the power of the dignity and the will to say NO! STOP! this is my life! - we should all do the same.If a profession takes away your life - forget it, it's just not wort it.
  • by PPH ( 736903 ) on Sunday April 18, 2010 @02:06PM (#31888532)

    First, it takes a certain amount of financial security before most people are willing to contribute their time to any effort. I think this is true for everything from the Linux kernel to Habitat for Humanity projects.

    Second, this greybeard phenomena is occurring throughout not only the entire s/w industry, but other technical fields in the USA as well. Not enough CS majors, engineers, scientists, etc. Math literacy is suffering and practically every company is screaming for more H1B visas. Or just sending the work offshore.

    Finally, some of the noteworthy exceptions to this trend (Microsoft, for example. But also many other big corporations) have an ulterior motive behind keeping their staff green. Hire CS grads straight out of college, put them on a couple of projects and get them built. Once your developers start to get some industry experience and a peek at the big picture of the company, they'll start to second guess management decisions. Out the door with them and bring in some fresh meat.

  • Re:bad attitudes (Score:5, Insightful)

    by mc moss ( 1163007 ) on Sunday April 18, 2010 @02:06PM (#31888534)

    I know a few people who have been turned away from Linux whenever seeking help online from linux users. The whole "you're stupid if you can't figure it out" attitude by some users is really off-putting.

  • by alexschmidt ( 1026034 ) on Sunday April 18, 2010 @02:06PM (#31888536)
    Who the *&^% wants to work for free?? The motivated young developers I've met lately want to code games (XNA et al) or mobile apps, especially the iPhone. I've met very very few young developers who are really motivated to develop open source programs. I can't say I blame them. Regarding Linux the OS, what's left to be solved? Does the core Linux group really need any help? Can anyone really make a meaningful contribution to Linux anymore? People want to go where the action is. And that isn't Linux.
  • by khasim ( 1285 ) <> on Sunday April 18, 2010 @02:10PM (#31888580)

    "Show me the code!"

    Experienced developers can also equate to engrained behaviours and beliefs, styles and approaches and isn't necessarily always the best thing.

    Who cares how they got there as long as their code can be demonstrated to be as good or better than the other approaches?

    It's the results that matter.

    If some college kid can get better results than coders who have been working on the kernel for 20 years, then that's great.

  • by Magic5Ball ( 188725 ) on Sunday April 18, 2010 @02:12PM (#31888592)

    The bigger problem appears that CS programs now focus on teaching tools and how to Google as opposed to thinking or problem solving, in order to meet perceived industry demand. In industry, I've had to teach too many youngling graduates about basic data structure and database concepts, memory and hardware addressing, protocol encapsulation, AAA, synchronous vs asynchronous operation, and other fundamentals which would be needed to understand why things such as kernels are implemented as they are. The way in which FOSS support forums and listservs generally respond to noob developer and user questions--some variation of RTFS without providing a way of understanding which documentation to read--does not invite exploration of concepts embedded in the current software architecture, let alone ways to identify entry points into interesting sub-components. This is a barrier since popular CS program tools to which students are exposed, such as RHEL, gcc, etc. are provided as finished products in the same way as Access or BOS.

    Separately, I have a dream where all of the Alans Cox get together to write an operating system.

  • by TheRaven64 ( 641858 ) on Sunday April 18, 2010 @02:19PM (#31888656) Journal

    Probably not. Of all of the open source kernels available, Linux is the one that I'd be least interested in working on. For interesting features and clean design, I'd look at FreeBSD. For code quality, I'd look at OpenBSD. For interesting research type things I'd look at something like Coyotos or HURD (which does exist, is doing cool stuff, can run most POSIXy code, but isn't a mainstream OS), or something more esoteric like SqueakNOS. For something with a beautiful design that's relevant to modern platforms, I'd look at Symbian (nice kernel, shame about the userland).

    Linux? It's become the antithesis of the UNIX idea of doing one thing and doing it well. For any given problem, Linux is probably okay. It's probably not the best solution, but it will do, and it has the advantage that it's a workable-but-not-ideal solution everywhere you want to use it. But exciting to work on? Absolutely not. The code is good in places, but horrible in others. There's no overall coherent design, bits are tacked on, different architectures implement the same thing in different ways without bothering with any kind of platform-independent abstractions.

  • by Hrunting ( 2191 ) on Sunday April 18, 2010 @02:20PM (#31888670) Homepage

    I know from my limited work patching the kernel, this is the biggest barrier for me (and I'm an experienced C programmer). The code is clean. Individual parts are relatively self-documenting, but there's little documentation about subsystems. There's little documentation about why things are done certain ways. Many kernel systems (e.g. network drivers) are part of larger abstracted systems designed to reduce the amount of duplicate logic, but these abstract systems either aren't documented at all or, due to the rapid pace of kernel development, have out-of-date documentation. Furthermore, when people do have questions, they're directed to the kernel mailing lists, which are overwhelming and, dare I say, unfriendly to the new developer. The mailing list archives are littered with unanswered questions and reprimands from older developers to newer developers just trying to contribute.

    Some on the kernel development team may like it that way because it keeps out the uneducated and let's them maintain their way of doing things. I think that's why we're also seeing the fragmentation of Linux development as larger corporations that count on Linux pull the source in house where they can introduce new staff to it in a more friendly way. Of course, when they do that, oftentimes, the work doesn't make it back into the mainline kernel, so that's really a detriment to the kernel itself.

  • Re:bad attitudes (Score:2, Insightful)

    by Anonymous Coward on Sunday April 18, 2010 @02:20PM (#31888672)
    Good grief, what a little asshat you are. You say kernel has "very poorly designed set of interfaces and is a nightmare to program for.." but then you go on to explain you really have no idea what the fuck you are talking about? Maybe you should learn how to write code before you comment on writing code? Fucking noob.
  • Re:bad attitudes (Score:2, Insightful)

    by Nekomusume ( 956306 ) on Sunday April 18, 2010 @02:22PM (#31888688)

    I made some forays into linux a while back for an ftp box, and dealing with the community could be rather painful.
    The community has managed to develop a rather vocal core of self-righteous twits, in addition to the more subdued sane people, who probably outnumber them.

  • by kabloom ( 755503 ) on Sunday April 18, 2010 @02:25PM (#31888714) Homepage

    I think it's the fact that students these days are now first taught to program in Java, and very few spend any time gaining experience in C. I'm TA'ing a class in database internals this semester, and the class project is to implement a simple DBMS in C/C++, and about half the class is having a hard time because they're unfamiliar with the C++ programming. (And if you ask them to eschew OOP to program in straight C, there are probably even less people who could handle it.) The skills just aren't as common as they once were.

  • by node 3 ( 115640 ) on Sunday April 18, 2010 @02:29PM (#31888742)

    This is the reason I don't contribute. It's like suddenly being handed the US economy and saying "fix it!"

    Are you kidding? Everybody seems to think they are more than qualified to tell you what's wrong with the US economy and that they know exactly how to fix it.

  • by shutdown -p now ( 807394 ) on Sunday April 18, 2010 @02:38PM (#31888814) Journal

    Most software development on Linux is driven by developers - they are the guys in charge. If UI designer tells them to do such and such, and they do not like it (excuses vary; e.g. "this is dumbing down to idiot level", or "this is not elegant"), they tell him to GTFO. Knowing this, UI designers often don't even bother.

  • by postmortem ( 906676 ) on Sunday April 18, 2010 @02:41PM (#31888832) Journal

    It is simply that they follow path of less resistance.

    Neither dealing with makefiles or coding in low level language that uses pointers are too interesting to young developers, in fact most younger developers/ new grads struggle with makefiles. At best they know how to write make file that compiles single project without external dependencies.

    Same with pointers, less and less courses offer C/C++ coding. Even if they do, it is not sufficient to get involved in huge project.

    So environment is not too interesting, it is actually too difficult for most young developers as these things are not covered too much at class. Let's not forget other thing - laziness - learning all this is not easy. There are other easier devel. env. that do most of work for the developer.

  • by Bigjeff5 ( 1143585 ) on Sunday April 18, 2010 @02:43PM (#31888842)

    If some college kid can get better results than coders who have been working on the kernel for 20 years, then that's great.

    Thing is, that is very rare at this stage of Linux maturity.

    Hence fewer and fewer young new developers working on the Linux kernel each year. At this point, most of the new kernel developers who actually contribute are going to be experienced developers from other areas who have decided to work on the kernel, and young developers will need to work on smaller, less complicated projects to build experience.

    Linus was able to start the Linux kernel because he was bright and nobody else was doing it. He got it to work, and work pretty well, but it was nowhere near as good as it could have been. Every year since then the experience needed to be able to work on the kernel has grown. This is not some arbitrary level they are setting; as the quality of the code improves, the quality needed in order to contribute to the project increases. Quality code generally comes from experience in dealing with the myriad of programming pitfalls one experiences throughout the years. Linus and the other early kernel developers have simply grown with the project; they are much better programmers than they were when they started out, so they move right along with it.

  • by Anonymous Coward on Sunday April 18, 2010 @02:43PM (#31888844)

    When I started using computer it was with 8 bit processors. You had to drop down to assembly code if you wanted to do anything useful, at least for the high performance parts of your program. Even the normal environment you had to give cryptic low level commands to load or save a program from tape/disk.

    Now the hardware is hidden under 20 layers of abstractions so that you can go a day without even seeing a command, just pointing and clicking and using applications.

    And it seems that all the schools are teaching now are applications. I guess it is easier.

    I think that every person that takes computer science in school should have to build and program a simple little computer, learn how even a simple little computer is useful. They could use a pic or arduino processor as the CPU. They should also have to build and / or / xor gates from discrete components and build them upto at least a half adder. This could be done with some software.

  • by mosel-saar-ruwer ( 732341 ) on Sunday April 18, 2010 @02:46PM (#31888870)
    Have any of you guys ever looked at a picture of the Linux kernel []?

    My best guess [and I am not trying to be facetious] is that unless you were in on kernel development in the very early days [so that you had some hope of learning it when it was still tractable], then the thing has gotten so big now [what is it - like 20,000 files which get compiled in the basic kernel?], and the learning curve has gotten so steep, that no new developers have any realistic hope of grokking it anymore.

    Seriously - at this point, just learning the kernel would be akin to a 6- or 8-year PhD project [in something like a Department of Archaeology, studying ancient Egyptian hieroglyphics].
  • by flajann ( 658201 ) <[ed.xmg] [ta] [llehctim.derf]> on Sunday April 18, 2010 @02:49PM (#31888886) Homepage Journal
    I've been writing code for over 30 years, and there is no way some fresh college grad can come even close. Nope. They may be more up on the latest whiz-bang pattern or "programming methodology", or can work "wonders" with the latest IDEs or what not, but when it comes down to what counts, they are *lost*.

    I still use Emacs and the command-line proudly. I find big bloaty IDEs like Eclipse get in the way and demand a lot of attention to themselves, taking away from the development process. And why? Just so I can get some silly name-completion? BFD. If you know the code, the name-completion crap won't really add much to your productivity.

    I can (and do) configure web servers from command-line all the time. I create wonderful scripts that do specific routine tasks for me. And you know what? It works. It's lightweight. And easy for me to maintain. And document for someone else to use.

    Most of the young developers and sys-admins I've been running into lately are completely clueless about the command-line. They expect bloaty web interfaces and resource-consuming IDEs to "hold their hand" and do what they otherwise cannot do.

    What a waste. And what a loss.

  • by jellomizer ( 103300 ) on Sunday April 18, 2010 @02:51PM (#31888908)

    In a way but, I think it is a case Linux isn't as "Sexy" as it use to be. Back in the days of the 90's When Linux first came out. A lot of its young developers were looking for more of an adult OS to work with. DOS and Windows 3.1 were quite flimsy in the OS Department. Even WIndows 95 and 98 were just a slight better. For real computing you needed Unix or VMS. Linux offered us a way to use a Unix like system, and we found that compared to the Windows and Mac platform at the time it was that much better in terms of stability, security and performance and it being free (as in beer) helped. And so they Loved their new found OS and wanted to support it and make it grow.

    However nowadays Windows for consumer use is running with the NT Kernel, making it much better in stability and performance even in security, windows is now a grown up OS. (if it is better or worse then Linux is an other debate)

    As well durring the past 10 years. When Microsoft was still stuck with XP. Linux development didn't really do to much to get ahead. They had a chance to trounce the evil Microsoft and in my opinion they blew it. The timing of the GPL 3 was one thing, For linux to grow and be more popular we needed TiVoization we should have a bunch of Linux enabled smart phones, Linux developers didn't understand end users... They made it good for Grandma and Advanced Users but left out a big middle. Still troubles with Sound, and Video Drivers heck even Cut and Paste are still a problem.

    When commercial development came across to Linux such as IBM it changed the shape and direction for Linux. It moved to a cheap way for big companies to run their servers, and get some good press at the same time.

    Young programmers are interested in Games, Mobile Devices, Internet based applications and social media... Young programmers during my day were interested in Games, Web Sites, Server Side applications, and Desktop software. So my generation we a better fit for Linux then the current one is.

    Also with all the stuff that is we are bombarded with on the media getting outraged that software is free or not just doesn't seem like a big thing to put a fuss about anymore. And in a bad echonomy kids are focusing on jobs that will make them money... If they want experience don't wast your time supporting open source get an internship heck you may get paid and it looks better on your resume.

    Employers today don't care to much about open source development... At my place we often use it as a way to weed out people for hiring, (And this is from a C level boss who chose to have Linux as his only OS) Why because you have to do code that isn't fun or interesting all the time.

  • Stupid Java... (Score:2, Insightful)

    by Exry ( 1515287 ) on Sunday April 18, 2010 @02:55PM (#31888960)
    I want to learn C, but I must teach myself as there are no available classes to take in my school. And this is troublesome, especially when I need some sort of push on the back to actually do these tedious learning-tasks... My school only offer courses in Java...
  • by gandhi_2 ( 1108023 ) on Sunday April 18, 2010 @02:59PM (#31888976) Homepage

    Maybe it's because there are basically ZERO jobs in most places for real hard-core CS. What few jobs DO exist require the ability to produce actual usable products...applications programming, especially web where the ability to hand-code a balanced search tree won't help at all. Ask a Flash "developer" about registers and instructions on the stack.

    My college changed the first 3 CS classes to Python instead of C++ because it's easier. Then when they get to Data Structures, they've gotta learn C++ for the first time, at the same time.

    Now queue the arguments about the logic skills that HR doesn't care about. Colleges all over the nation (and other nations I'm sure) already crank out degrees no job market asked for....I'm not sure I can blame the CS depts for trying to stay relevant.

  • Re:bad attitudes (Score:3, Insightful)

    by Manip ( 656104 ) on Sunday April 18, 2010 @03:17PM (#31889114)

    This. You ask for help they direct you to a generic one page man page without the information you requested. You offer a suggestion and they tell you to provide a patch, fair enough, and then when you ask for assistance with making a patch you cannot get any (even documentation).

    If you are lucky enough to actually provide a patch they often don't even want to import it into the main codebase because the feature isn't useful to them or it would just take too much work. All you get is "branch it off."

    Frankly and depressingly I find closed source developers to be much more helpful and even willing to accept suggestions and help than elitist open source jerks.

  • by Zedrick ( 764028 ) on Sunday April 18, 2010 @03:21PM (#31889146)
    And the biggest problem is that very few people grow up with a C64 or an Amiga nowadays. They don't have any reason to learn how a computer actually works (or what a computer is), if they're just put in front of a computer that can load a game into the OS with a double-click. No reason to actually learn anything if that "just works".
  • by gbjbaanb ( 229885 ) on Sunday April 18, 2010 @03:22PM (#31889158)


    and now they've graduated they find the world has moved on and everyone wants C# developers. Ho hum, ever was the way.

    See, if they're taught them computing fundamentals, they'd be able to enter any job and quickly learn whatever language/framework/system that company uses. Every company I've ever worked at had their own frameworks in place anyway, so no matter what you learn in college, you still have to learn something new when you become employed.

    Otherwise, if colleges really wanted to teach graduates something that would allow them to get entry-level jobs, they'd teach Word, Excel, Outlook and Powerpoint.

    My computer course was maths, but also Prolog, Simula, Pascal, Concurrent Euclid, C, and assembler. I think the idea was to teach a range of languages suited for different tasks. I commend this idea to colleges around the world, though in keeping with modernity, I'd do C (of course), Python, Javascript, C#, assembler and openGL.

  • Re:bad attitudes (Score:2, Insightful)

    by jadedoto ( 1242580 ) on Sunday April 18, 2010 @03:25PM (#31889178)
    The life of software is very much in its documentation and how the future programmers who touch it will use it. If millions of people are "harassing" the programmer, maybe that speaks volumes about their code. Good code is self-documenting, and where necessary, accompanied by verbose commenting. An superbly fast algorithm is near useless to anyone but the original coder if it is so obfuscated and ill-documented that nobody else can understand it.
  • by Runaway1956 ( 1322357 ) on Sunday April 18, 2010 @03:30PM (#31889218) Homepage Journal

    I scrolled down a ways. I don't think anyone has hit on the underlying reason.

    About 15 years ago, MS started giving their products away for free, or very nearly free, to the education system. Schools ate it up. 80%+ of all schools in the US teach kids on MS systems. That goes for elementary, high school, and college. The kids learn how to do things the fast and easy way, and the Microsoft way.

    Today's young developers learned the MS way, and they aren't about to go wandering into the open source ways of doing things, unless there is some really big incentive. And, the fact is, Linux really isn't high profile and high dollar, like MS.

    In short, last decade's monopoly is paying off for MS today.

  • by Gerzel ( 240421 ) <(moc.liamg) (ta) (terrefyllorb)> on Sunday April 18, 2010 @03:33PM (#31889246) Journal

    Still new developers are REQUIRED to keep the projects going.

    Also it would be nice to know if the number of linux developers in total is staying the same, shrinking or growing? In other words are older developers attracted to Linux or is Linux just keeping its current developers who are aging?

    Another bit of data I'd like to see if anyone out there has it is where the young developers are going?

    Knowing information about where developers are developing and why would be very useful to many many people.

  • by cpghost ( 719344 ) on Sunday April 18, 2010 @03:35PM (#31889276) Homepage

    The Linux GUI is still ugly. There's still a "non-graphical mindset" in the Linux community. This is totally alien to anybody under 30 (40? 50?)

    Eh.. Pardon me? What exactly has the GUI to do with the kernel? Most kernel development I've been involved with in embedded devices and all kinds of different kernels and microkernels used a serial console for development... to hardware-test stuff that was written on an emulator. Even writing to something like memory mapped video (e.g. 0xb8000 on PC-like hardware) is luxury at this level, and VESA-consoles is nearly unheard of! Sorry, but GUI is something for application developers, and simply doesn't belong in the kernel. If good ole text / serial consoles are alien to young people, maybe those young people should learn to use them, before even considering writing system software. That's the easiest part of the learning curve anyway.

  • by SanityInAnarchy ( 655584 ) <> on Sunday April 18, 2010 @03:41PM (#31889320) Journal

    My college changed the first 3 CS classes to Python instead of C++ because it's easier. Then when they get to Data Structures, they've gotta learn C++ for the first time, at the same time.

    I've seen nothing in my current Data Structures course that couldn't be done in Python. Am I missing something?

  • by Junta ( 36770 ) on Sunday April 18, 2010 @03:42PM (#31889330)

    I'm not a kernel developer, but I've poked around specific parts of the kernel for various reasons. You do not have to even think about the existence of most of the code to work an a particular segment. Hell, I've created small kernel modules that compiled against a kernel without even having kernel source on my system.

    It might be strictly monolithic in overall architecture, but from a development standpoint much of it isn't meaningfully that different from a modular implementation. Most of the differences manifest at runtime, not at development time.

  • by ShinmaWa ( 449201 ) on Sunday April 18, 2010 @03:49PM (#31889386)

    I still use Emacs proudly. I find big bloaty IDEs like Eclipse get in the way

    Really, the only thing you are saying here is that you like YOUR big, bloaty thing over someone else's big, bloaty thing. There's really nothing insightful about that at all.

    You have a set of tools you are comfortable with, and others have theirs. Each have their merits and each have their drawbacks. What is new is not necessarily an improvement and what is old is not necessarily the best. To discard either out of hand on their "whiz-bangedness" or "tried-and-truedness" rather than on its merits is the mark of a fool.

  • by outZider ( 165286 ) on Sunday April 18, 2010 @03:50PM (#31889388) Homepage

    You know, I can hate Linux with the best of them, but.. I know that in Ubuntu, when you are in Firefox, and the first time you browse to a Flash site, it goes, "hey, want to install flash?", and it installs Flash once you click yes.

    I'm failing to see the difficulty of that.

  • by Anonymous Coward on Sunday April 18, 2010 @03:55PM (#31889428)

    You are confused. One minute you claim long winded text entry for 30 years beat tools designed to replace the drudgy or trivial stuff is better, then you claim you write noddy script to toy server duties. A developer, as it a real developer and not some perl dweeb, doesn't touch server admin. So what is it? I suspect you're a low skilled UNIX package user that's been using packages for your job, but you dabble in code for trainee level work.

    IDEs have a place, they can get the cruft out of the way, if you're development time is cheap, you're not a real developer. Get back to your 10 line "scripts".

  • by Magic5Ball ( 188725 ) on Sunday April 18, 2010 @04:03PM (#31889490)

    > Maybe it's because there are basically ZERO jobs in most places for real hard-core CS.

    There are close to zero jobs for hard-core anything, but that's not the goal of earning or producing a BA/BSc in CS.

    The most important goal of a university degree program is to teach students how to think critically, how to evaluate and apply information, and how to perceive and act professionally outside themselves. Theoretical knowledge is helpful not because industry does a lot of relational algebra or computability analysis directly, but because CS graduates should be able to make a critical business case that an Oracle implementation would be better/worse than a Sybase implementation for a particular use.

    Local technical/trade school graduates can and should easily out implement degree holders in identical fields. If the post-secondary education market is segmented ideally, CS graduates should be have the knowledge and conceptual tools to run rings around technical graduates in terms of understanding and designing principles and solutions in a broader corporate or societal context. As it stands, recent crops of technical graduates seem to understand more about both what they're doing locally, how they got there, and why they're doing it in the community, than the CS graduates who seem weak with both theory and implementation. Some of my colleagues have been seeking out CCNAs, biologists, and ex-military officers, and training them to program because they have better tools to understand systems and business context than recent CS graduates (who /should/ be able to apply the "science" part of their tools to figure it out).

    Relating this back to the Linux kernel, good luck finding a recent CS graduate who understands that MPLS exists, let alone one who can grok the concept (let alone specifications) well enough to understand why Linux will want to support MPLS if it wants not to be locked out of an important part of the enterprise market relating to the current network neutrality debate. (Incidentally, I've pointed some international relations friends at the Wikipedia page who understood the consequences immediately.)

    Perhaps there should be a return from quantity to quality in undergraduate CS programs.

  • by mswhippingboy ( 754599 ) on Sunday April 18, 2010 @04:07PM (#31889530)

    All the action is on mobile devices, and Linux on a mobile device is like pounding a screw.

    Umm.. better tell that to the Android developers. Android 1.5 is based on Linux Kernel 2.6.27.

  • by Junta ( 36770 ) on Sunday April 18, 2010 @04:11PM (#31889570)

    One of the side effects of open source development is that you get a slightly different driver for every device, instead of generic drivers.

    This is the case for every OS. Some things are done generically (i.e. AHCI driver can support a number of SATA chips without a lot of drawback), others that could be done generically are generally crappy when accessed via generic interfaces (i.e. VBE graphics vs. specific GPU drivers), and others are simply impossible to write generic drivers for once firmware services stop (i.e. most SAS controllers, sound cards, etc). WHQL does *not* limit the number of drivers, and simply formalizes the 'write once, debug everywhere' reality that any platform of that variety endures at the driver level. Apple's approach alleviates them of a lot of that, but their drivers are no less specialized than anyone else, just fewer of them.

    All the action is on mobile devices, and Linux on a mobile device is like pounding a screw

    While I could see QNX and the like as appropriate for the embedded space, Linux is very popular and viable in the embedded space. The vast majority of non-iPhone smartphones are Linux based. That's not to say they all do it well or in a manner that would fit with many people's view of embedded systems, but it's not Linux that causes that parting from the sensibilities of embedded, it's attracting app developers that are too bad/lazy to write good code in an embedded context.

    The Linux GUI is still ugly.

    *The* Linux GUI is an interesting statement. GUIs on Linux range from Android, to Xorg, to Luna in WebUI, to Tivos. If you want to be strict about it,*Linux* isn't about GUI development, it's about the foundation an entire system including a GUI needs. This isn't anti-GUI, this is simply a matter of platform prerequisites. FYI, I'm under 30 and I very very very much appreciate the CLI and not having to carry the burden of GUIs on thousands of headless systems I manage day to day.

    Linux failed on the desktop.

    It didn't fail on *my* desktop. It didn't fail on the mobile device market (it has an order of magnitude larger share than Windows Mobile). In terms of who wants to work on server architecture, the answer would be obviously some people, as a lot of critical effort and money is invested in that space software-wise.

  • by Exitar ( 809068 ) on Sunday April 18, 2010 @04:20PM (#31889634)

    And how many young developers does HURD attract?

  • by kroyd ( 29866 ) on Sunday April 18, 2010 @04:20PM (#31889636)
    Browsing through this thread I can't help but recognise the same old arguments: "It is too hard to use for casual users", "it is no fun", "windows is good enough", "developers want to make money", "the gui is ugly" and so on. These arguments are not new, you would find the exact same arguments if you look at old slashdot stories.

    The reality is (as usual) quite different, and the old arguments have nothing to do with the kernel anyway. Look at the latest statistics of who actually writes the kernel: []. From this paper it is clear that the rate of changes has increased quite a bit, and that the latest Linux release probably had something like 1800 different contributors. If you go back 5 years that number is just 400, so the assumption that there are "no new developers" is clearly false. What the first article is really about is that there are "no new subtree maintainers", but that should hardly surprise anyone. The Linux kernel is a huge pyramid (similar to a big corporation in a way), the people on the bottom of the pyramid are not the ones who get sent to the kernel summit, and the people on the top tend to like it there. I doubt that the _average_ age of all the Linux kernel developers have changed all that much in the last 5 years, it might even have gone down a bit, as more of the development is done in China, Japan and India these days.

    Linux on the desktop might not be growing as quickly as some might hope, but it keeps growing faster and faster in almost every other market segment. When was the last time you heard about a new mobile phone, set-up box, web-service or computer science project which was not based on Linux? Sure, Microsoft and Apple might launch their new products now and then, but they are tiny compared to the rest of the market.

  • by Blakey Rat ( 99501 ) on Sunday April 18, 2010 @04:26PM (#31889690)

    Separately, I have a dream where all of the Alans Cox get together to write an operating system.

    Yeah, they'd spend 5 years perfecting every single line of code for the USB subsystem. Meanwhile, nobody cares because the optimizations from those 5 years were completely leap-frogged by hardware improvements, and normal people want an OS that they can use to get shit done.

    Sometimes I think the concept of "pragmatism" is entirely absent from this field.

  • Windows Won - (Score:1, Insightful)

    by Anonymous Coward on Sunday April 18, 2010 @04:26PM (#31889696)

    Unless you're running an old clunker or an extremely low-power portable, or you don't have any other OS available, there's no good reason for Average Joe Sixpack to run Linux.

    Now, Linux is seen as an antiquated, arcane operating system - because it is. The codebase is an incomprehensible train wreck that just keeps getting bigger. There's still no real cohesion to the whole thing. And guess what? To all you 'rebel without a clue' types, it will never, ever be popular no matter how free it is.

    Ten years ago there was a real risk at Microsoft that Linux could displace Windows as a major desktop operating system. As a server operating system (one of the only things Linux does well) it already had. The stability of Windows was lagging miles behind pretty much every breed of Linux, and projects like Wine threatened to bring Windows applications to the platform. Usability was also improving by leaps and bounds, and a lack thereof has always been a major obstacle to Linux adoption. It really seemed like Linux was going to have an impact on the desktop market.

    But ten years later, Windows has improved dramatically. Windows emulation is a joke. Improving usability resulted in a too-little-too-late scenario where it was only after Linux had been definitively beaten that it became usable enough for someone with almost zero prior knowledge of the operating system to install and run it, and it's still very, very far from where it should be in that arena. The best part is how the drive to make Linux more usable caused so much friction between people that actually wanted a usable OS and script kiddies that wanted to be 'elite'. (In every single area of the Linux community, snobs have always been a huge obstacle to progress.)

    Windows won. OSX isn't far behind. Both of them leave Linux in the dust because they know what's important. The extra effort that has to be committed to get most programs working isn't worth it for everyday use. The OSS community has zero expertise in interface building and user friendliness, nor do they have any interest in it. There are no standards, and any attempt to implement them would be seen as draconian, 'corporate', and wrong. Everything that could possibly make Linux competitive as an operating system has and will continue to be ignored by people who have no idea what the average user wants out of an operating system, because they're so used to working with crippleware that they no longer see it as a handicap. The only reason you will ever want to run Linux is if you have no other option. Full stop.

    And this is why the developer base is aging and dwindling like it is now. It has no future. The project is far, far past its prime. Academics will still use it as a cheap substitute for UNIX, and it will still have a home on your repair discs, but the year of the Linux desktop will never arrive. If you guys were smart, you'd abandon it and start over, or maybe migrate over to a project with a sensible kernel architecture.

  • by Bigjeff5 ( 1143585 ) on Sunday April 18, 2010 @04:32PM (#31889740)

    While that sets you apart from many of us, it also reveals Windows on your desktop. Why?

    I don't use monitors on my Unix servers...

    I don't know if you know this, but nobody puts monitors on Windows servers either. A dedicated monitor for a server of any kind is generally absurd. Usually the most you can expect is a KVM console in a server rack, for those cases where you're troubleshooting a network issue or something else has gone very wrong.

    Yeah, I know it's hyperbole, but after your "putty" comment above, it's a fail.

    I don't see why, putty is a pretty popular remote terminal app, I work with a few guys who use a windows port to remote into DCS machines from their windows boxes. Or are you saying it's a fail because he might be accessing a CLI from a GUI? That's pretty retarded, GUIs are wonderful things for certain things, CLI is just more efficient if you know the commands and their syntax.

    Since we're playing the age game for some reason, I'm 26, and I don't play games any more. ;) I gave up Linux because I didn't need it for work, and the GUI is still utter shit compared to a version of Windows that is a decade old, never mind trying to compare it to a modern version of Windows or OSX.

  • by kgo ( 1741558 ) on Sunday April 18, 2010 @04:48PM (#31889862) Homepage

    So did you write a new manpage for futex(2). ;-)

    (Maybe that'd be a good way for a newbie to start contributing. Adding documentation and updating manpages as they get to know the kernel, and scoring cred that way. Of course most developers hate writing docs.)

  • by Bigjeff5 ( 1143585 ) on Sunday April 18, 2010 @04:59PM (#31889942)

    ...the thing that I have found increasingly unattractive about FOSS in general is that it all too often becomes an exercise in cliquishness and faddishness to the exclusion of actually serving users...

    (emphasis mine)

    You've just hit the nail on the head - FOSS comes from a Unix culture, and Unix has never been concerned about the end user. In the Unix world, the System Administrator is the end user, so the entire thing is geared toward making things easier from an administrative point of view. This is why everything is command line based, everything is kept in plain-text config files, etc. Linux obviously inherited this from Unix, and FOSS has inherited this from Linux. Only the rare project like and others that are plainly and obviously intended for people who are not going to be willing or able to modify the software have any kind of focus on serving the user.

    Case in point, look at GUIs in Linux. KDE gives you a billion options, GNOME gives you three. For heaven's sake, is there no middle ground? And neither one of them look as nice as OSX or Windows, though they do now seem to be competing with a version of Windows that is almost a decade old.

    Seriously, this is why only nerds and masochists use Linux. For anybody who doesn't feel like spending all of their time tweaking the operating system, they just use Windows or OSX. There is nothing Linux can do that either of those can't, am I supposed to torture myself just to save 50 bucks on the price of a computer? Get real.

    That turned into a bit of an anti-Linux rant, but it all comes down to the fact that people are going to develop for the systems they use. If more people want to use Windows, more people are going to develop for Windows. Add to that a barrier to entry of 4 million lines of code, and it's no wonder new developers are shunning the Linux kernel.

  • by centuren ( 106470 ) on Sunday April 18, 2010 @05:03PM (#31889976) Homepage Journal

    would also imply more experienced developers. And that's not (necessarily) a bad thing.

    The suggestion that "the Linux kernel no longer has the same appeal to young open source developers that it did 10 years ago" is a statement that shields an assumption: the Linux kernel is losing young developers to other, similar projects.

    The article points out the iPhone has had more success attracting younger developers than the Linux kernel, which makes me wonder how anyone possibly thought that might sound anything other than idiotic along side concepts such as "declining sense of community".

    Writing apps for the iPhone is not the same as developing an OS kernel's code base in practically any way. It often draws a furore when I point this out, but all areas that fall under the umbrella name "Computer Science" are not equal. A web developer is not an Apache developer. An iPhone app developer is not an iPhone OS kernel developer (or any other kernel developer). Of course, I'm not making a broad statement that web or iPhone app developers don't have the capacity to be skilled programmers in other areas. I'm just pointing the obvious: iPhone apps do not have the learning curve and project scope that a kernel project has, and yes, less talented programmers can find a place more easily wherever learning curves and language complexities/nuances are lower/less/fewer.

    10 years ago, there weren't as many developers, nor were there as many platforms, toolkits, IDEs, SDKs, etc. Apple, behind the iPhone, has every reason to do as much as possible to make it as easy as possible for as many people as possible to produce software for their platform (subject to their approval, of course), since available applications are so important to young platforms and/or OS's. The Linux kernel project does not have cause to do the same, and let's hope it never does. The only proper way to judge the interest in the Linux kernel project with young developers is to compare it to how well other kernel projects are attracting young developers. Or, at the very least, compare it to projects that deal with a similar area and scope.

  • by w0mprat ( 1317953 ) on Sunday April 18, 2010 @05:06PM (#31890002)

    And the biggest problem is that very few people grow up with a C64 or an Amiga nowadays. They don't have any reason to learn how a computer actually works (or what a computer is), if they're just put in front of a computer that can load a game into the OS with a double-click. No reason to actually learn anything if that "just works".

    And the next generation of gadgets kids will grow up with won't even have root access to their computing devices. *cough* iPad *cough*.

  • "My best guess [and I am not trying to be facetious] is that unless you were in on kernel development in the very early days [so that you had some hope of learning it when it was still tractable], then the thing has gotten so big now [what is it - like 20,000 files which get compiled in the basic kernel?], and the learning curve has gotten so steep, that no new developers have any realistic hope of grokking it anymore. "

    One of my problems with Linus Torvald's "Linux Rules Everything" goal was that this is precisely what would happen. The Linux kernel, in trying to make it all things to all people, would become huge, bloated, and lose the performance edge it once had. The problem with making Linux a desktop kernel AND a server kernel AND an embedded kernel AND... hell, whatever other job you want to throw it at... is that it becomes a big, bloated jack of all trades, and master of none.

    In addition, Linux was born in an era where Unix was super expensive... well beyond the means of a home user... and so was revolutionary if you wanted a powerful, other-than-Microsoft OS. Now Apple has largely stolen whatever thunder desktop Linux was building in the early 2000's. By the time OS X 10.2 rolled around, I saw as many iBooks and Powerbooks at Linux gatherings as I did Linux itself. Apple really IS desktop Unix now, not Linux. There's a lot of money in Apple products and services. Apple is also cooler to an audience that's more broad. Doing Apple software... for the Mac, iPhone, whatever... is something that rings with both geeks and the general gadget using public. Linux? Outside of a LUG, people are going to go "What?". When OS X went big, Linux lost whatever chance it had in gaining general mindshare.

  • by Anonymous Coward on Sunday April 18, 2010 @05:19PM (#31890110)

    Yeah... sorry. In-depth documentation written by a novice is worse than no documentation at all. Not only that, it will take about one hundred times the amount of time to write. Kernel developers should be writing the majority of it. It's simple work ethic, little different from maintaining code quality, and is beneficial for other reasons, such as aiding in design (documentation before code).

  • by Sir_Lewk ( 967686 ) < minus herbivore> on Sunday April 18, 2010 @05:22PM (#31890120)

    Yes. A good Data Structures class.

    A data structures class shouldn't only tell you how to create a linked list, or a binary search tree, or a hashtable. It should also teach why why and when. Part of understanding why and when involves understanding how exactly those things work. Granted, that part is common sense and/or comes naturally to some people, but it is a entry level course, don't expect to be challenged that much.

  • by Anonymous Coward on Sunday April 18, 2010 @05:27PM (#31890164)

    Your code just went tits up. Where is it broken? Oh its in that cut&pasted blob that you do not know how it works.

    I have worked with people who do just that. They keep c&p'ing code until it works. MASSIVE mess that has tons of side effects. You become afraid to change anything as you have no way to properly test it. Fix one bug 3 come crawling out of the woodwork because that 1 bug was there on purpose because it made the other 3 not happen. Yet you do not know that as the guy who did it left 3 years ago.

    THAT is what is wrong with cut and pasting code. You end up with code that you have no idea how it works. That is fine for a prototype. But put it into production and you will hate every second of it someday. I assure you this. Code reuse becomes nill and you end up with bugs cut and pasted 20 times in your code.

    Cut and paste is your friend and enemy use him with care.

  • by micheas ( 231635 ) on Sunday April 18, 2010 @05:33PM (#31890208) Homepage Journal

    I wonder what percentage of the kernel is 'bloat' or code that's needed to maintain backwards compatibility.

    almost none.

    the vast majority of the bloat is the device drivers.

  • Re:One factor (Score:2, Insightful)

    by mswhippingboy ( 754599 ) on Sunday April 18, 2010 @06:03PM (#31890392)

    Kids today don't have no desire for accomplishment. They don't want to make anything, or do anything, they just want to have stuff. Stuff which requires only a minimum of effort.

    I don't buy this.
    I heard the same thing from older folks when I was growing up and yet, my generation managed to produce the likes of Bill Gates, Steve Jobs, Larry Ellison and many of today's biggest ego-maniacal douche-bags.
    I think it's quite natural for young people to not find their way until they are in their mid to late twenties.
    Often it takes holding their first born child in their arms to shock them into the reality that life is hard and they better get on the stick or their kids won't have the luxury of -

    no desire for accomplishment. They don't want to make anything, or do anything, they just want to have stuff. Stuff which requires only a minimum of effort.

  • by BitZtream ( 692029 ) on Sunday April 18, 2010 @06:03PM (#31890394)

    A developer, as it a real developer and not some perl dweeb, doesn't touch server admin.

    The best C developers I know, are or were admins at one point.

    Writing software for servers is a fuckton easier when you actually understand what a server does and what goes on from the admin point of view.

    A decent developer that understands administration if FAR better than some hot coder that doesn't have the security insight of a gnat.

    You know at those 'BIG' sites you see on the Internet ... facebook, wikipedia, myspace, google ... guess what ... All of their senior level developers ... regularly play admin as well to deal with large problems.

    I'm going to have to wager that you are a developer with no admin experience and little actual development experience since you don't recognize something thats pretty common.

  • by Bodrius ( 191265 ) on Sunday April 18, 2010 @06:09PM (#31890440) Homepage

    I'm not sure how that answers the original question - what part of the internals of data structures cannot be taught in Python or other high level languages?

    Or are you saying that really understanding data structures requires unsafe pointer arithmetic?

  • by Bodrius ( 191265 ) on Sunday April 18, 2010 @06:43PM (#31890712) Homepage

    I don't get why this is marked as 'Troll'.

    I don't quite agree with the AC, but he has a legitimate point: design documentation *should* be written by the developers who authored and understand the design, and not by someone reverse engineering the system after the fact.

    When we are talking about a large uncodumented system-level codebase, any newcomer is by defintion a 'novice', will spend an inordinate amount of time trying to determine *intent* out of the code, and will likely get many such guesses wrong. On most software shops, this would be discarded as a horrible idea because you simply have better options.

    Still, I'd disagree with the poster that for OSS documentation-by-API-user "is worse than no documentation at all".

    Having a novice contribute such documentation could force developers more experienced on that area to review it, encourage them to correct it or even replace it with their own, and at the very least highlight the fact there is a documentation gap.

  • by Anonymous Coward on Sunday April 18, 2010 @06:44PM (#31890720)

    It's delusional because these anecdotes are about as useful as hearing that someone won the lottery, and an entire generation of students being taught that they should make themselves into professional lottery players.

  • Re:Linux is new? (Score:5, Insightful)

    by Blakey Rat ( 99501 ) on Sunday April 18, 2010 @06:45PM (#31890722)

    I can do so many more things in a lot less time at the command line than with a GUI - even web browsing (love links).

    1) You can do a tiny subset of the things you can with a GUI in less time
    2) But the things the GUI can do that the CLI can't, you can't do at all
    3) And the things you can do on the CLI faster, you can still do in the GUI pretty damned fast (assuming you're adept at using one)

    When people say "oh the CLI is great, it's all I need", that's a good way to tell that that person doesn't compose music, edit photos, layout pages, edit video, etc etc etc. If all you do with your life is copy and rename text files, then sure: use the CLI. But that's a pretty sad life.

  • by wed128 ( 722152 ) <.woodrowdouglass. .at.> on Sunday April 18, 2010 @07:20PM (#31890932)

    There's nothing unsafe about pointer arithmetic, unless you do things in a lazy way and don't think things through. As long as you design your objects ahead of time, and make sure to cover all of your edge cases, you'll be fine.

    I think a major problem with modern CS education is that students are taught that pointer math is "unsafe", and end up afraid to even try it. Maybe this is why so much software ends up getting written in java or c#, and my 3 GHz Core 2 doesn't feel any faster then the 2ghz Athlon I had 8 years ago...

  • by dgatwood ( 11270 ) on Sunday April 18, 2010 @08:01PM (#31891164) Homepage Journal

    That's certainly a big part of it. The Linux kernel is moderately mature, so there's not a lot of low hanging fruit for a new developer to pick. Things like embedded hardware drivers require special hardware that most people don't have/want/need, which tends to put a damper on people doing work in that space (again, unless they work for Montavista or somebody). The graphics subsystem requires fairly specialized knowledge that most new devs (and most old devs who don't work for ATI, NVIDIA, or Intel) don't have and can't feasibly get, so that's not likely to be a big draw. And so on. It's all about working on a small niche of a niche, which is fine as long as you care about that particular niche, but most people aren't particularly into making Linux run on a toaster or microwave, so....

    Another big reason is that Mac OS X took a lot of the wind out of Linux's sails. In years past, most of the laptops I saw at geek conferences were random PCs running Linux. These days, though their server boxes still run Linux, their development laptops are often Macs running Mac OS X, maybe with Linux in a VM, but usually not. A lot of those same sorts of people used to be occasional Linux kernel dabblers back when they ran Linux. Now, not so much. Similarly, a lot of the young CS students are often running Mac OS X in their dorm rooms instead of Linux, which means there's less exposure. Fewer geek users = fewer new potential developers.

  • by Sir_Lewk ( 967686 ) < minus herbivore> on Sunday April 18, 2010 @08:08PM (#31891210)

    This is a very good point. What's more is that if there is ever a time when you shouldn't be relying on your language to keep you save, it's in a data structures class. You shouldn't ever need your language to keep you safe if you are doing it correctly.

  • by tsm_sf ( 545316 ) on Sunday April 18, 2010 @09:57PM (#31891890) Journal
    GIMP does not support CMYK. A play in one act.

    Man 1: But GIMP does support CMYK.

    Man 2: Not well enough for my needs.

    Man 1: You don't really need that level of support.

    Man 2 [to himself]: wtf?

  • by Goalie_Ca ( 584234 ) on Monday April 19, 2010 @12:37AM (#31892754)
    many college profs never had real jobs and so they wouldn't know what one looked like.
  • Linux is at a local maximum. You can't really make it much better at being a Unix-workalike general-purpose system in any hugely interesting ways, and if you want to do really interesting operating-systems work you have to go for a radical redesign that breaks with the Unix Way and abandons backwards compatibility.

  • by qc_dk ( 734452 ) on Monday April 19, 2010 @04:59AM (#31893762)

    There's nothing unsafe about pointer arithmetic, unless you do things in a lazy way and don't think things through.

    There's nothing unsafe about juggling alligators on a tight-rope made of razor wire over a tub of acid, unless you do things in a lazy way and don't think things through.

Don't tell me how hard you work. Tell me how much you get done. -- James J. Ling