Why Linux Is Not Attracting Young Developers
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?"
would also imply more experienced developers. And that's not (necessarily) a bad thing.
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.
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
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.
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.
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.
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.
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.
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.
Have gnu, will travel.
One only has to remember what things were like with Linux 10 years ago, in the year 2000, to know why the interest just isn't as strong today.
At the time, it had a massive advantage over the Windows 98 platform, which was the common desktop at the time -- it crashed constantly and required formatting every few months, and was vulnerable to total crap like TCP/IP flooding, running unlimitedly powerful .vbs scripts, typing "con con" into a console, and giving IE basically Admin access to your system through ActiveX. Doing anything from zipping a file to hex editing to writing code to making simple video and sound files required outright piracy and the use of horrible freeware -- friendly, open source, cross-platform apps and web apps weren't common. Winamp was a shining example of a great, free program back then, and it wasn't open source and came bundled with AOL crapware.
Linux, on the other hand was rock solid. It didn't crash, it had anything you needed readily available and installable. Need a web server, an IDE, a hex editor, an image editor more advanced than mspaint, PERL, an audio player, an IRC client or anything else? It was there, no running keygens or installing adware. Same with using existing things like ICQ, IRC, the web, usenet, etc. And they were actually competitive in terms of friendliness compared to what was on the Windows platform. You could also script them no problem from a totally OP command line.
But it was a terrible pain to install for a young amateur compared to just popping a LiveCD today. Have fun partitioning your HD with raw fdisk (cfdisk if lucky) and setting up XFree86 by hand to see any graphics. Try setting up non-PNP ISA devices with screwy drivers -- often you had to go hardware swapping for something specific, like a $10 Crystal Sound card. Try rebuilding the Kernel with an ALSA patch to get that to run. Try not using a packaging system for anything -- RPM was terrible at the time, you were better off just compiling things.
But socially, if you could pull it off, you were pretty elite. You had a solid, invulnerable, insanely powerful OS with every tool you'd want at your hands. It was rebellious against the suits and it had the promise of an open source world. The programming was much better -- OpenGL was way, way easier to write for than DirectX 6, which was just nasty, and was cross-platform to boot. The internet population was far more technical at the time and also respected it. Social networking / multimedia was years away from being mainstream at the time. Anyone who ran Linux wasn't a 'n00b' or a 'lamer' on primitive web forums, Usenet, IRC, etc.
Today? Windows XP/Vista/7 has been comparatively stable and isn't nearly as vulnerable, unless you're just stupid. There's mountains of OSS software out there for every task that runs under Windows, if it wasn't built to run under Windows. No one cares that you run Linux, and will just get frustrated if you can't run the 10% of things a PC can. Ten years ago, the biggest PC game -- Quake 3 -- ran great under Linux, but try getting MWF2 to run under it today.
So there's no real motivation to get into it now -- it doesn't have the appeal comparatively it did 10 years ago.
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].
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.
The
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".
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.
Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager