Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Why Linux Is Not Attracting Young Developers

Soulskill posted more than 3 years ago | from the beards-are-going-out-of-style dept.

Open Source 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?"

cancel ×

742 comments

Sorry! There are no comments related to the filter you selected.

older developers... (5, Insightful)

mayberry42 (1604077) | more than 3 years ago | (#31888180)

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

Re:older developers... (5, Interesting)

adosch (1397357) | more than 3 years ago | (#31888278)

I agree with that. I've noticed a big divide in developers of the 21st century coming out of college; there's a lot less focus on lower-level development and hardware interaction in schools/colleges than there were in the 80's and 90's. I think there's a more general focus on high level languages at best (e.g. python, web frameworks, al la .Net, java-this-and-that, ect.) that work 'on' an hardware/development architecture, not 'with' it.

I also wouldn't say there is a lack of support for the Linux kernel, but Linus is still a full-time driver of changes/additions in the kernel and with him, comes his ego and experience. Rightfully so, but we've seen it drive away brilliant maintainers and contributors in the past decade.

Re:older developers... (5, Insightful)

Magic5Ball (188725) | more than 3 years ago | (#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.

Experienced developers = mature code. (2, Insightful)

khasim (1285) | more than 3 years ago | (#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.

Re:Experienced developers = mature code. (1, Insightful)

Richard_at_work (517087) | more than 3 years ago | (#31888442)

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

What does Linus always say? (2, Insightful)

khasim (1285) | more than 3 years ago | (#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.

Re:older developers... (0)

Anonymous Coward | more than 3 years ago | (#31888416)

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

Until they retire or croak. And then lack of replacements will be a very bad thing.

(Captcha: recruit. I think the captcha generator is becoming sentient or something.)

Re:older developers... (0)

Anonymous Coward | more than 3 years ago | (#31888432)

Yes, but new programmers have a different mindset, more apt at exploring and not attached to any particular style or way of doing things, meaning younger developers have a higher chance at pushing boundaries and being more revolutionary in their processes and products.

bad attitudes (5, Insightful)

Anonymous Coward | more than 3 years ago | (#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.

Re:bad attitudes (5, Insightful)

mc moss (1163007) | more than 3 years ago | (#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.

Re:bad attitudes (3, Informative)

briggsl (1475399) | more than 3 years ago | (#31888626)

I've tried to get involved in the development of the kernel and been hounded out because I asked questions.

What sort of development community is it if you can't ask someone who's written a section of code "What does this function do?"

Re:bad attitudes (1, Interesting)

AdmiralXyz (1378985) | more than 3 years ago | (#31888612)

Current college student ("young developer") speaking: I second this absolutely. I've contributed to a few open-source projects and once thought about getting involved with the kernel, but took one look at lkml and said "Fuck that". Maybe I just need to approach it again with an open mind, but it seemed to me like an endless battle of egos to get $PET_SEGMENT_OF_CODE approved. The fact that the kernel has a very poorly designed set of interfaces and is a nightmare to program for (at least, this is what I've heard- feel free to enlighten me if I'm wrong) doesn't help.

Re:bad attitudes (2, Insightful)

Anonymous Coward | more than 3 years ago | (#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 (2, Insightful)

Nekomusume (956306) | more than 3 years ago | (#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.

Maybe.. (3, Funny)

seth_hartbecke (27500) | more than 3 years ago | (#31888198)

Maybe we should drop the code requirement.

Oh wait, that's HAM radio.

Re:Maybe.. (1, Insightful)

Anonymous Coward | more than 3 years ago | (#31888462)

> Oh wait, that's HAM radio.

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

Proprietary App Platforms Won (5, Funny)

Anonymous Coward | more than 3 years ago | (#31888204)

Dear Old People,

We're busy building iphone, android, facebook and twitter apps, with the delusion of a multi-million dollar payday.

BTW, thanks for all the open source stuff we're using.

Signed,

Young Developers

Re:Proprietary App Platforms Won (1, Flamebait)

clang_jangle (975789) | more than 3 years ago | (#31888562)

Dear Old People,

We're busy copying and pasting together iphone, android, facebook and twitter apps, with the delusion of a multi-million dollar payday.

BTW, thanks for all the open source stuff we're using.

Signed,
Young Developers

Fixed.

reverence and awe (5, Interesting)

LordHatrus (763508) | more than 3 years ago | (#31888206)

I've seen a lot of promising college-aged open source devs that seem to have an overwhelming reverence and awe towards the kernel, thinking it far too complicated for them to work on with their own programming abilities. In reality, most of them could pick up the kernel and figure it out quite quickly, but they'll never convince themselves of that.

Re:reverence and awe (0)

Anonymous Coward | more than 3 years ago | (#31888640)

That's how I feel :(

I think I need to figure out where to start and what exactly I can do

Re:reverence and awe (2, Informative)

Neuroelectronic (643221) | more than 3 years ago | (#31888654)

The 2.6 kernel contains approximately 4 million lines of code.

Depends on young.. (1)

Anrego (830717) | more than 3 years ago | (#31888208)

If you're talking high school and university students.. then yeah.. probably..

If you're talking people working as programmers.. then I think a big part of it is the scarier and scarier policies big (and sometimes even small) dev shops are putting on what people do with their free time.

And if it's not that.. it's the fear of legal action and who owns ideas and skills. There is often a lot of overlap in what people do at work and what people contribute to at home.. and this is becoming a thinner and thinner rope to walk across.

And I know a whole bunch of people are going to reply with their interpretation of what you own vs what your employer owns.. but when it comes to your career.. a lot of people start getting wary even if they probably are in their right.. and I think that takes away a lot of the fun and leads to people simply "not bothering"

Linux? Yawn... boring... (2, Interesting)

itsybitsy (149808) | more than 3 years ago | (#31888212)

Could it be that the Linux Kernel isn't state of the art anymore? Linux is boring... it's bloated... it's no wonder that young blood aren't interested in developing it, they want to do something really cool and cutting edge to light their careers on fire!

Re:Linux? Yawn... boring... (4, Insightful)

demonlapin (527802) | more than 3 years ago | (#31888294)

Or perhaps that there are opportunities - the Android and iTunes app stores - that weren't available ten or fifteen years ago.

Re:Linux? Yawn... boring... (1)

confused one (671304) | more than 3 years ago | (#31888490)

Mod this guy insightful. This is exactly what I was thinking... There are more exciting mobile platforms available now, which likely attract the attention of the younger crowd. Damn, I'm getting old too...

Re:Linux? Yawn... boring... (0, Redundant)

node 3 (115640) | more than 3 years ago | (#31888604)

Mod this guy insightful. This is exactly what I was thinking...

Mod this guy insightful...

Re:Linux? Yawn... boring... (0)

Anonymous Coward | more than 3 years ago | (#31888530)

what do you mean 'or perhaps'.

you literally provided an example for the parent, not a counter argument.

Re:Linux? Yawn... boring... (1)

abigor (540274) | more than 3 years ago | (#31888424)

Are you joking? I can't tell.

Re:Linux? Yawn... boring... (4, Insightful)

TheRaven64 (641858) | more than 3 years ago | (#31888656)

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.

Re:Linux? Yawn... boring... (4, Interesting)

Angst Badger (8636) | more than 3 years ago | (#31888560)

Could it be that the Linux Kernel isn't state of the art anymore? Linux is boring... it's bloated... it's no wonder that young blood aren't interested in developing it, they want to do something really cool and cutting edge to light their careers on fire!

I can't speak for the "young blood", being about to turn 40 in a few months and well past the age when I thought "lighting my career on fire" was a worthwhile goal, but I'd certainly agree that the kernel is boring. Part of it is definitely the emphasis on business applications; my interest in free software was always driven by what I wanted to do with it on my own time for my own edification, not to pursue wealth for myself or my employer. An even greater part of it, though, is that operating systems just aren't that damn interesting by themselves as long as they do what they're supposed to do, which is to provide a platform for actual applications. No one owns a computer to run an operating system any more than anyone owns a car to use tires. The OS is incidental to what users (and most programmers) want to use a computer for.

To be perfectly frank -- and to expand the scope beyond the operating system -- 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, to say nothing of just plain rudeness. The lkml is notorious for its rudeness (though it's a garden of civility compared to its OpenBSD counterpart). Any number of application projects are focused more on being proving grounds for a particular design methodology and/or programming language of the week than on delivering a good application to end users -- witness the gazillion projects whose name prominently features its implementation language, a detail that only the developers or would-be developers could possibly care about.

The end result is that FOSS projects all too often go out of their way to diminish their value and degree of interest to anyone outside their current circle of developers. Add to this the other common flaws of FOSS -- lack of decent (or any) documentation and poor or eccentric user interfaces -- and it's no wonder that, despite considerable strides over the last twenty years, most FOSS projects, Linux included, remain niche products at best.

Scratching an itch is fine, but when that itch is so narrowly defined as to be your itch and no one else's, no one else can be blamed for not giving a hoot. Follow that with an insistence that it would scratch someone else's itch if only they were hip and smart enough to itch like you, and you have a perfect methodology for achieving irrelevance.

Re:Linux? Yawn... boring... (1)

pspahn (1175617) | more than 3 years ago | (#31888664)

Yeah, you're right.

users not programmers (0, Troll)

Anonymous Coward | more than 3 years ago | (#31888220)

What I am noticing in general is that young computer users are just using computers (games, chat, internet), not programming them.

young developers are leaning to... (-1, Flamebait)

Anonymous Coward | more than 3 years ago | (#31888222)

...developing on iPhone. Sorry Linux fanboys and Apple haters but the truth is the truth.

Microsoft Dreamspark (2, Insightful)

Nimey (114278) | more than 3 years ago | (#31888236)

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.

Re:Microsoft Dreamspark (1)

negRo_slim (636783) | more than 3 years ago | (#31888420)

They give the software to any student; CS or otherwise.

All you need is a valid student e-mail...

Re:Microsoft Dreamspark (1)

Nimey (114278) | more than 3 years ago | (#31888526)

Heh. Evidently possessing a .edu email address is all you need. I'm not a student anymore and just got accepted into their program.

Re:Microsoft Dreamspark (1)

chaosite (930734) | more than 3 years ago | (#31888474)

I get MSDNAA at the Technion (.il ... )

Visual Studio, Windows 7, Server, and so on...

Re:Microsoft Dreamspark (0)

Anonymous Coward | more than 3 years ago | (#31888564)

First hit is always free.

Re:Microsoft Dreamspark (1)

shutdown -p now (807394) | more than 3 years ago | (#31888588)

But wait, Linux is free as well, always was. Same for all development tools. Something is missing from your argument there.

Re:Microsoft Dreamspark (1)

mehrotra.akash (1539473) | more than 3 years ago | (#31888610)

Even later you can use the Express editions for free and they can be used for commercial software as well

Dreamspark software cannot be used for commercial projects

Ballcrushers (1)

SgtChaireBourne (457691) | more than 3 years ago | (#31888666)

And at most junior colleges, there are posers on the engineering staff and IT departments manning the labs that actively hunt down students that aren't toeing the Microsoft line. They come down on those students softly at first increasingly hard until the student knuckles under or quits. Often it's just simple bullshit that is enough, such as putting it off indefinitely with kindly sounding blow-off phrases: "sure, we'll look at linux later, if there is time", ensuring that there never is time. Or other bullshit like "start with Windows and when you have proved yourself, you can try other systems", or still more shit like "why, yes, we teach both Windows and Linux" while actually cutting out all non-MS systems and languages except for leaving a handful of electives with NO hands-on lab work. They also find all kinds of ways to break any non-MS packages that the faculty forced them to install. "Oops, sorry, that last upgrade must have erased it. We'll get right on that next month."

Some places even relegate all non-MS technologies to a tiny handful of elective course, only available in the final year, which the student might not even have time for even if the interest and motivation have not been rubbed out.

The problem is not a joke. It's not just kernel developers we are not producing, but programmers, system administrators and software engineers. There are almost no new people coming into the workforce with even a basic knowledge of correct design or methods. Even the big names [acm.org] are noticing this, but they're isolated far enough at the top that they miss sight of the fundamental staffing problems that have allowed Microsoft products anywhere near campus.

Considered a solved problem? (5, Insightful)

Geirzinho (1068316) | more than 3 years ago | (#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.

The Linux devs don't consider it solved (1)

judeancodersfront (1760122) | more than 3 years ago | (#31888552)

hence Greg KH's hope that retired boomers will help them out.

Re:Considered a solved problem? (1)

TalmerS (1690052) | more than 3 years ago | (#31888584)

Yes, the kernal is stable, but it's the GUI and other user friendly stuff that are now required to make Linux mainstream. Kids used to Windoze expect GUI based apps in Linux, and if such as app doesn't exist then perhaps they write one.

Talent (4, Insightful)

Nerdfest (867930) | more than 3 years ago | (#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.

Re:Talent (1)

AnonymousClown (1788472) | more than 3 years ago | (#31888550)

CS students are still learning 'C', OS & compiler development, datastructures, etc....

Now, let's hurry up and get some pudding before they run out and Matlock comes on!

Re:Talent (0)

Anonymous Coward | more than 3 years ago | (#31888572)

Perhaps if C# or Java were comprehensive enough to write OSs... OK. lets give bleeding edge technology a break.. how about C++? How about abstracting out C and using something that delivers productivity?

P.S. You can commute to work on your tractor all day long, cranky old man:)

Re:Talent (1)

mechanyx (960689) | more than 3 years ago | (#31888634)

I don't know anything about C# but I thought Java was: http://jnode.org/ [jnode.org]

Re:Talent (0)

Anonymous Coward | more than 3 years ago | (#31888660)

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

Don't give em' any ideas.....

Linux has gotten big and boring, but I don't think it's just community:

These days you find the community centered on the BSD'ish projects, DragonFlyBSD is a good one for community, FreeBSD isn't quite as tight-knit, but it's still a better community.

The BSD people tend to be older than linux punks, I don't think it's strictly a community thing.

I observe the kids don't remember the days of DOS "pr. processor" licensing as well as the other Microsoft hand-cuff shenanigans (or IBM's for that matter) because of this, it's not as strong a motivator.

Much like feminism, Open source has become the "norm", you don't see many young women burning bras either.

linux should be like HURD (1, Interesting)

Zurk (37028) | more than 3 years ago | (#31888248)

linux should become more modular ... dare say like HURD where individual contributors can own their own slice completely and implement it the way they want as plugin modules rather than monolithic blocks. yes i know about the whole kernel wars but linux grown up. its time for it to be a microkernel and attract developers for long term viability. a monolithic block of code was fine to bootstrap it but not anymore. we have multicore processors with fat pipes ... things microkernels were built for. ipc overhead is negligible if your ipc is your L3 cache.

Re:linux should be like HURD (1)

CRCulver (715279) | more than 3 years ago | (#31888350)

On one hand, if Linux is seen as old school and people are choosing to develop projects that offer some new technical innovation, than it is a pity that HURD isn't getting more lovin'. On the other hand, I've always been turned off to getting involved in HURD because the current lead developers don't seem to have any direction. How many times have they changed the microkernel since doing away with GNU Mach?

Re:linux should be like HURD (0)

Anonymous Coward | more than 3 years ago | (#31888388)

you mean linux should be more like plan 9, where file servers
(in the kernel or otherwise) can be added by anybody with a
simple, consistent file-base interface. bonus: kernel file servers
can pass data with no copy.

exactly. more exokernish. (1)

Zurk (37028) | more than 3 years ago | (#31888484)

right. it should be something between an exokernel and a microkernel. abstract out device drivers but keep core stuff in the microkernel like cpu drivers and memory access. something where people can own the device but not screw around with the machine itself. the usb userspace driver model is a great example. now if we can only abstract out everything without ending up with HURD like idiots running the show.

Re:exactly. more exokernish. (1)

CRCulver (715279) | more than 3 years ago | (#31888600)

If CPUs can be hotpluggable, then why put their drivers in the core instead of treating them like any other device?

Re:linux should be like HURD (1)

Max Littlemore (1001285) | more than 3 years ago | (#31888422)

Yeah. L4 FTW!!!

Re:linux should be like HURD (1)

CRCulver (715279) | more than 3 years ago | (#31888512)

Except that the GNU Hurd developers are no longer passionate about L4. From the Wikipedia article [wikipedia.org] :

From 2004 onward, various efforts were launched to port the Hurd to more modern microkernels. The L4 microkernel was the original choice in 2004, but progress slowed to a halt. Nevertheless, during 2005, Hurd developer Neal Walfield finished the initial memory management framework for the L4/Hurd port, and Marcus Brinkmann ported essential parts of glibc; namely, getting the process startup code working, allowing programs to run, thus allowing the first user programs (trivial ones such as the hello world program in C) to run. Since 2005, most of the developers' time has gone into thinking about Coyotos (EROS successor). In 2006, Marcus Brinkmann and associates met with Jonathan Shapiro (a primary architect of the Coyotos Operating System) to aid in and discuss the use of the Coyotos kernel for GNU/Hurd. These discussions continued into 2007, but progress was slow. In April 2009, Shapiro announced that work on the Coyotos project had ceased. As of 2008, Neal Walfield is working on the Viengoos microkernel as an alternative to GNU Mach or L4.

Re:linux should be like HURD (1, Insightful)

Anonymous Coward | more than 3 years ago | (#31888448)

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

Re:linux should be like HURD (1)

Compaqt (1758360) | more than 3 years ago | (#31888646)

Yeah, I'd love for HURD to pick up steam.

For those who don't know, HURD is the official GNU kernel.

http://www.gnu.org/software/hurd/hurd.html [gnu.org]

I've been checking into the status of HURD for ever since I heard of free software. It's been slower than watching paint dry.

But I still hold out hope for rapid progress when it starts to get a footing. The one big advantage is its modularity and extensibility. I'd like to think that would mean we'd get a more responsive free desktop one day without the burdens of big-iron Linux.

It's because Windows IS easier for a greenhorn (0, Troll)

Necreia (954727) | more than 3 years ago | (#31888262)

Young developers are typically interested in Game Development of some form. C# & DirectX[XNA] is worlds easier than the (usual) counterpart of C++ & OpenGL. It's a sad direction, but it's the result of 'path of least resistance'. They are typically not aware of the engines/options actually available when they are newbies.

Where did they go, George? (4, Interesting)

nhytefall (1415959) | more than 3 years ago | (#31888264)

Could it be that the massive code base and declining sense of community from corporate involvement has driven young open source programmers elsewhere?

Nah, they have all just decided to get paid, rather than work for free... (end.sarcasm)

In all seriousness, a lot of the new generation of programmers are starting out in large corporations, as a means to repay student debt, get themselves established - and are able to do that code work in the open-source world, as corporate acceptance and utilization of OSS for application development grows. This, unfortunately, comes with a flipside - those same developers are not available to do the work the hobbyists were doing a few years back, leading to the perception that the OSS movement is losing developers. The movement actually isn't losing developers - more and more of them are just being absorbed by NDA's :)

Either that, or they have all decided to start writing flash games for Adult Swim.

Re:Where did they go, George? (1, Insightful)

Anonymous Coward | more than 3 years ago | (#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.

Re:Where did they go, George? (0)

Anonymous Coward | more than 3 years ago | (#31888428)

The NDA thing is not very far off. I am not exactly a "young" developer anymore but the company I work for claims to own anything I develop during my tenure there.

The Young want results (2, Interesting)

Anonymous Coward | more than 3 years ago | (#31888288)

Linux is now mature and nearly unchanging. A young programer isn't going to be able to leave any mark on it. Mobile is the active space where new things are being designed and developed. In enough time that will mature and they will move somewhere else.

I'm Mac. I'm PC. I'm Linux. (0)

Anonymous Coward | more than 3 years ago | (#31888290)

This sums it up nicely, methinks.

http://ajayu.memi.umss.edu.bo/rho/files/21/143/im-linux.jpg

Younger people are not as intelligent. (0)

Anonymous Coward | more than 3 years ago | (#31888338)

In my experience the US educational system just keeps declining. Kids are not very intelligent these days. I couldn't C code my way out of a wet paper bag, let alone create a kernel device driver for a peice of hardware.

Re:Younger people are not as intelligent. (2, Funny)

imikedaman (1268650) | more than 3 years ago | (#31888566)

How did anyone make Linux in the first place if they didn't learn about it in school? You know what, I'm not even sure why I bothered replying to this...

The real reason is... (1, Insightful)

Anonymous Coward | more than 3 years ago | (#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... (1, Insightful)

Anonymous Coward | more than 3 years ago | (#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

Re:Nope... (1)

chaosite (930734) | more than 3 years ago | (#31888502)

... WTF does RMS have to do with the kernel?

Re:Nope... (0)

Anonymous Coward | more than 3 years ago | (#31888582)

Not his involvement with the kernel - with the community. Believe it or not, people who just get introduced to Linux don't get that the community isn't all part of the entire process. So no, RMS doesn't write the kernel, but have you seen some of the crap he says? Do you think his flames might not chase off a few young developers?

Age is the reason (5, Insightful)

taleman (147513) | more than 3 years ago | (#31888372)

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.

Now YOU may be on to something.... (1)

AnonymousClown (1788472) | more than 3 years ago | (#31888528)

It may be a generational thing.

I was watching a documentary about FOSS and they talked about Stallman and interviewed him. The dude's a hippy: plane and simple. A lot of the FOSS/Linux guys are from the late 60s early 70s generation.

Colleges are still teaching C, OS, compiler development, etc... but the what the young folks are interested in are the iPhone/iTouch applications, social networking, and other modern problems and ideas. Younger folks are interest in handheld devices because that's what they're using. Desktops are for office drone work. Servers are commodity old hat technology that's been done to death already.

Unix/Linux is an old antiquated idea. Sure, Linux is the metal interface right now but when technology permits it (quantum computing for one), Linux will become irrelevant to future hardware, along with Windows.

Kids are looking to the future. Linux is really the past.

facebook devs (0)

Anonymous Coward | more than 3 years ago | (#31888382)

Here's a question to anyone who works at facebook and is willing to reply (even anon):

What is the ratio of engineers at facebook who could work on low-level internal and open source code [facebook.com] like HipHop, Thrift, memcached, etc., to engineers who work on features like Superpoke and other higher-level features/systems?

Is there much crossover, if so how, if not why?

Linux sucks (-1, Troll)

Anonymous Coward | more than 3 years ago | (#31888392)

It just isn't ready, yet.

Let me know when you're almost as good as XP, then we can talk.

What about the barrier to entry? (5, Insightful)

krelian (525362) | more than 3 years ago | (#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.

Re:What about the barrier to entry? (5, Funny)

jadedoto (1242580) | more than 3 years ago | (#31888458)

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

Re:What about the barrier to entry? (0)

Anonymous Coward | more than 3 years ago | (#31888608)

Exactly. Monolithic kernel doesn't really seem to be the best idea.

Re:What about the barrier to entry? (4, Insightful)

Hrunting (2191) | more than 3 years ago | (#31888670)

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.

Complexity. (3, Interesting)

Anonymous Coward | more than 3 years ago | (#31888418)

I'm an intermediate-level programmer, with more than 4 years of practical experience coding C, even more experience learning theoretical computer science concepts, have been using linux for 9 years, AND my top leisure-time activity is to devote time and energy towards learning more about computers and important software systems.

The linux kernel is super complex. This is not due to poor design (comparatively to other popular OS's, anyway) but a programmer must still contend with this. The level of uberness one must achieve (still considerably above my capacity) to participate in kernel hacking is intimidating to say the least.

Documentation, while plentiful, is almost always in ascii form (vastly inefficient to illustrate such things as dependencies and the form and use of data structures) and mostly found in the code. There are decent enough books, but most of those I've read always provide a narrow window into individual concepts, as opposed to bird's eye views, or surveys of overall architecture. Maybe I'm out of the loop with the best books (pretty likely) but the interest has certainly been there, and every time I've bent towards the possibility of playing around with the kernel, the sheer complexity of the task and difficulty in finding information to answer my questions has made me shy away and towards simpler things. It's not 'too' hard, but it certainly is 'definitely' hard, even for enthusiasts with a healthy mind and great curiosity.

If effort was as widespread in making documentation as it is in making top code, I'm sure many more people would dabble, and talk about it.

Times have changed (1)

achten (1032738) | more than 3 years ago | (#31888434)

There must be higher number of people in the field as compared to like 1990 or so, but there is a greater choice available. Coupled with the spin/hype it leads people towards popular fields/technologies. I do not think linux/kernel people do the kind of "evangelism" that gets done elsewhere.

Linux is new? (1)

johnsonlam (912562) | more than 3 years ago | (#31888438)

Anyone notice Linux share the same syntax of UNIX? Do you know how old UNIX is? To start Linux even old people like me need to know some history of XENIX, UNIX, SCO, NFS ... some of those things remain unformatted text base, console type (not VT100). GUI is good, but the back is still those things, that why Mac OSX hide them all. Linux need to clean up those history and simplified those things.

Now that this has come up, (1)

mehrotra.akash (1539473) | more than 3 years ago | (#31888454)

Could someone suggest where should one get started off from?
I have an average level of experience with simple c/c++ , Java and Python programming, but how should I apply that knowledge towards OS development,etc
Any suggestions?

Several reasons (1)

nawitus (1621237) | more than 3 years ago | (#31888460)

One reason is that Linux is mostly written in C, which is not something that most young developers are familiar with. They're usually familiar with higher level languages like Java or Python. Another is that developing the linux kernel requires high technical knowledge on things that young developers are not familiar with anymore, as programming tends to be more and more abstracted nowadays.

Here's my odd take (-1, Offtopic)

Rooked_One (591287) | more than 3 years ago | (#31888480)

Since Linux has strived over the last 10 years to be more windows like, and very sadly, Microsoft has pushed out openGL support, it makes for less coding opportunities since most games (which are a very prime attraction to the PC) are now DirectX.

Quake was a huge reason to run linux 10 years ago... It performed better on worse hardware, and it was fun to set up a linux box to achieve that. It gave you a sense of accomplishment. Now a core 2 duo will power everything and more giving linux no advantage in gaming over windows. Plus windows has better drivers for DirectX that most games use anyways.

Linux will always have its place in the enterprise environment, to run VM's, and whatnot, but even there it is dying with no performance differences because of the horsepower. I set up storage for enterprises (mostly iSCSI) and VMWare is the most popular choice for people who know what they are doing. People who just get an expensive array and don't know what to do with it present out LUNs to windows... a waste if you ask me.

That was just my early morning two cents, so take it for what it's worth from your typical INTP... nothing (unless you get it) :)

Motivation to not do Linux development (0)

Anonymous Coward | more than 3 years ago | (#31888494)

I would have loved to help out, but unless there is an IDE and platform that will make Linux development rapid, it is a waste of my time. At this point, I will become a Windows or Mac OS developer and not a Linux developer because:
- I produce twice as much functionality with better quality in the same amount of time using Windows and Mac OS development tools
- Windows and Mac OS are already easier to develop for, easier to install, and more stable as a development environment. I do not need to rebuilt my stuff and waste hours for 15 different versions of the same platform. I do not need to do custom builds and rebuilds of hundreds of components that I would be using and waste weeks.
- I will actually enjoy using the product that I am working on
- Configuration will not feel like a waste of time
- Lack of third level development support for components will not make tough problems waste months, but would rather take a day or two to resolve
- I will deal with a community that seeks to answer tough technical questions, rather than ignore them and look for easy ones to make fun of
- I will get payed more

Re:Motivation to not do Linux development (1)

Cheesy Fool (530943) | more than 3 years ago | (#31888648)

Have you actually ever developed anything before?

Because you're having a laugh if you think that developing on Windows or Mac means that you won't run into any of the problems you mention.

Kernel Boys Club (0)

Anonymous Coward | more than 3 years ago | (#31888500)

The few steps I've taken in that direction were met with skepticism and arrogance. The Kernel Boys Club is hard to break into and they've headed in the same direction for years. It's time for some fresh blood and fresh ideas. They remind me of the guy that's always at Karaoke Night carrying a handkerchief like he's Pavarotti.

I have an easier explanation (4, Insightful)

aepervius (535155) | more than 3 years ago | (#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.

I forgot to finish off (1)

aepervius (535155) | more than 3 years ago | (#31888590)

Now consider again from my previous post about barrier of entry that you go from being a young programmer to programming into the linux kernel (no docs etc...). That is even a worst situation. IMHO we will only see medium to older programmer into the linux kernel.

Programming job bad reputation (5, Insightful)

The Abused Developer (1730734) | more than 3 years ago | (#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.

Sam (1)

res2216firestar (1669714) | more than 3 years ago | (#31888524)

Well, as a young dev myself, I'm more interested in coding apps, and in reaching stable platforms that real people use, like Windows. I'm no open source purist, although I do put everything I make under GPL because I think people should have the freedom to improve on my ideas. I'm not one of those lured by iPhone development: I do object to their awful restrictions on apps and totalitarian management of the development ecosystem, but I'm not bothered by a platform being closed source. For some additional insight, I'm kind of glad 80's computer nerds working at Red Hat are coding the OS: If Linux development was anything like one of my projects, it would broken every few revisions, have something major wrong that I don't really care about each release, requiring a major fix by a second rate coder within a few days, which happens to be when I'm out with friends and can't commit a new release. Leave the platform to the professionals.

A couple of things going on here (5, Insightful)

PPH (736903) | more than 3 years ago | (#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.

Alright, I'll be the mean one.... (2, Insightful)

alexschmidt (1026034) | more than 3 years ago | (#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.

It's in the distributions (1)

hessian (467078) | more than 3 years ago | (#31888568)

Linux itself is well established and basically a fulfillment of the UNIX idea, borrowing from other flavors of UNIX (yes, I know Linux is not UNIX). The real world is going on with specialized distributions, and distributions specialized for tools like FreeNAS (which is BSD, but you get the idea).

Design choices (0, Offtopic)

Wowsers (1151731) | more than 3 years ago | (#31888602)

Speaking for myself, I grew up mostly with Windows, did some machine language programming, C, and C++, Pascal, and eventually settled on Delphi RAD (souped up Pascal). The problem with Linux is there are many languages to choose from, who knows which GUI would help out for the GUI side of application design and make design a bit simpler for a newbie (like Delphi or Visual Basic), choice of QT, Gnome or KDE and so on.

As Linux is different to Windows, being able to pick one to start with would be good. At that point I will hear someone shout Mono, but that's in some small part mixed up with Microsoft and don't want any part of that any more.

It's the range of choices and thinking about it, the possibility of ending up designing something with dependencies which as a newbie you've never encountered.

It's all really daunting to a new comer to programming in Linux, and why I've not really progressed in it, even though I have an idea for an application to design.

Linux is but a piece of the puzzle (1)

wayward_bruce (988607) | more than 3 years ago | (#31888606)

Let's not forget that Linux is just a component of the entire GNU/Linux (I know, I know) system. The accompanying software has grown considerably: GNOME, KDE, browsers, various programming languages and environments, utilities, networking tools, etc. all siphon the interest of a young developer into other areas. Linux is, for all its good and bad sides, stable and feature-full. It's not very tasty to hack on unless you have specific interest in OS internals. So while Linux might be losing the influx of fresh blood, there's still lots of energy around it.

Maybe because the kernel is "done" (1)

DalDei (1032670) | more than 3 years ago | (#31888618)

Ok I know thats a teaser. No software is ever "done" ... but really, whats left in the kernal that *has* to be done? Sure there can be improvements and tweeks and supporting new devices, but thats all hard work and "engineering". Its not "sexy". I do agree that more people coming out of collage are more focused on higher levels of software, which I dont really think is 'a good thing' but OTOH is not to be unexpected. Much like people dont focus on building their own hardware or improving the C compiler much anymore. Whens the last time you heard the masses asking to make the assembler better ? When I was in collage (80's) it was an exciting challenge to write my own device driver or kernel module ... why ? I think because thats where the "edge" of development was. There were not a lot of "apps", if you wanted to do something new you had to go all the way down to the kernal level. Just to get a file to copy from one system to the other I had to write a network driver ! Nowadays the edge has moved. If your working on a GUI app you dont have to hack the kernel, if you working on a new Web (N+1) App you dont need to write your own device driver. Its already done.

My take (1)

Andrew Sterian (182) | more than 3 years ago | (#31888678)

I'm not young but I tried to get into kernel driver development (out of necessity, not so much itch-scratching) and was thoroughly frustrated by:

1) Lack of useful documentation
2) Constant churn in the kernel

I wanted to allocate memory in a driver. Lots of memory (64MB on an embedded system). I read all of LDD (latest revision) and tried everything: memory mapping, kalloc, vmalloc, ioremap, etc. etc. Nothing worked, and the book was so i386-centric that on my ARM system the explanations didn't really make sense. Eventually (we're talking several DAYS) I made something work using mmap.

And don't get me started on interrupts. Where do they even start? Where's the interrupt handler? WTF is the difference between a hard interrupt, a soft interrupt, and a virtual interrupt? I spent DAYS trying to figure out the exact sequence of code that represents travel from the hardware event to the final driver code (because it was necessary in this case) and had to give up. Interrupts are just magic.

And yes, I can read source (and I did).

As for churn, it seems like every week there's a new scheduler, a new memory allocation strategy, a new filesystem, etc. etc. QUIT IT! Is it really improving things that much? Every major system that gets replaced in the kernel obsoletes a bunch of code that now has to be rewritten to keep up. Worse, it makes whatever documentation there is (e.g., LDD) out of date. It was no fun reading parts of LDD only to look at the actual 2.6.24 source and see that parts of the book were already out-of-date (I can't remember what now).

If the kernel devs are only interested in itch-scratching then their numbers will continue to dwindle and Linux will fade in favor of a system where people actually do hard work: proper documentation.

IPhone? (0)

Anonymous Coward | more than 3 years ago | (#31888680)

Wouldn't you rather be writing code for the latest sexiest thing rather than your father's OS?

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>