Slashdot Log In
Top Linux Developers Losing the Will To Code?
Posted by
CmdrTaco
on Mon Jul 02, 2007 11:19 AM
from the will-hack-for-food dept.
from the will-hack-for-food dept.
E5Rebel noted that Don Marti has a piece that talks about "Core Linux developers are finding themselves managing and checking, rather than coding, as the number of kernel contributors grows and the contributor network becomes more complex."
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.
This is Bad? (Score:4, Insightful)
Perhaps the less coding you do the higher you get up in the management ladder is for a reason, after all...
Re:This is Bad? (Score:5, Insightful)
I also do not see this as a bad thing. One good coder with manager skills or manager with coding skills can be more productive when he manages people.
Parent
Getting older and coding (Score:5, Insightful)
As far as older, I don't think age has much to do with burnout. I started a major open-source project after the age of 40, my first big programming project after a career change. (I am one of the few managers that then became a coder.)
I am now pretty burned out. It isn't that I can't write code -- in fact, I am better than ever. I just don't *want* to write code any more.
Parent
Re:Getting older and coding (Score:4, Funny)
I feel your pain, brother! I've spent my entire career not wanting to write code. Thankfully, I took a dev position at SCO.
Parent
will has nothing to do with it (Score:5, Insightful)
"That's all I do, is read patches these days," he said during a discussion at the Linux Symposium in Ottawa last month.
This doesn't read "I don't want to code" it reads "I haven't time to code"
a good or bad thing? (Score:5, Interesting)
I think the question is more ... (Score:5, Insightful)
Once you become a guru coder, you may write less code yourself, but you may approve more code over all. That would be code written by other people that you check, tell them where the bugs are and they fix the bugs and re-submit the code.
When the code is up to your standards (and the evidence is the flat rate of bugs) then the code is included in the kernel.
There was a time (long ago) when Linus wrote ALL of the code himself. If you look at just that metric, Linus barely writes anything anymore (percentage-wise).
Parent
Re:I think the question is more ... (Score:4, Insightful)
This of course implies that code is now checked more times and more carefully BEFORE inclusion, which is a win for everyone.
Parent
So? (Score:3, Insightful)
This is what happens as projects get bigger. It's not that they lose the "will to code", it's that they spend all their time as managers of other coders. There's more to developing a large codebase than writing the code after all.
Will? (Score:5, Informative)
Git (Score:3, Insightful)
I wonder are the rest using it... I wonder are the rest even delegating.
Re:Git (Score:5, Informative)
Parent
Re:Git (Score:5, Insightful)
Bouncing the patch back to the original author is exactly the correct thing to do. There's no way that Linus can be as familiar with the patch code as the person who wrote it, so why would he think that he could do a better job integrating than the original author?
Parent
It's just maturation: projects evolve (Score:3, Insightful)
Nothing to worry about. It's natural.
The Mythical Man Month (Score:5, Interesting)
Re:The Mythical Man Month (Score:5, Insightful)
It isn't. A few filesystem developers might have to make changes to elevator, or allocator code, but most developers of XXXXfs don't really need to make changes outside of that directory. Developers writing a driver for the XXXX model scsi controller, don't really need to interact with the people mucking with Alsa, or gart, or whatever.
The kernel might be contained in a single source repository, but it's really a few hundred, mostly-independent software projects.
Parent
Welcome to programming (Score:3, Insightful)
Where's the beef? (Score:3, Insightful)
BillSF
Fundamental Flaws (Score:5, Insightful)
Some examples: OS X. In ten years or so a fairly small team has taken BSD and turned it into what it is. In over 12 with Linux I still see many of the same issues and problems persist... why? Because Apple *focuses* their efforts and the entire project is properly managed and steered. Imagine with the same focus and direction what the huge amount of OSS talent could accomplish?
Interoperability. Most applications are one-off programs made with no thought or care as to how it fits in the bigger picture. Unification, interoperability, and consistency are very important.
Fleeting Nature. Projects worked on while in college, hosted on random servers, work/girlfriends/distractions. These all can bring even successful and popular projects down overnight.
What needs to happen is to work under a single focus to create the most perfect distribution possible with clearly defined goals and concepts. Democracy, choice, and chaos have their place and they can be utilized still... just with some oversight and management before it goes live. Once there is a very good foundation (such as how OS X is now) then folks can branch out and work on their own projects and offshoots. I'm not suggesting that all choice needs to be eradicated, just that instead of trying to build a million individual sandcastles on a foundation of Jell-o we could be building a mansion on a sheet of bedrock.
The talent is here, the passion is here, the momentum is here... the oversight and direction is not.
Re:Book needed (Score:5, Informative)
Parent
Re:Book needed (Score:5, Insightful)
This is why the current fluid kernel/driver interface specification is unsustainable and unmanagable in the long term (and why ultimately the kernel development process will bog down).
The solution? Simple, separate the core kernel from the drivers and produce a specification for the interface which only changes with the major kernel version. Then the kernel developers can concentrate on the pure internals of the kernel which no-one but them should need to know about and the work which currently takes place to recode the hundreds of drivers each time there's a tweek to the driver interface could be redirected to more productive efforts... and the patch load should be less as well.
There is a side benefit to this as well, the energy barrier for 3rd parties to write drivers would be lower and hence it would be far more likely that they'd actually write them rather than management seeing the driver maintenance and support costs being too high to bother because of the constant code churn.
I know that there are many people who will veremently disagree with this because of the dogma saying, "the kernel hackers know best about the kernel so they should be the same people as those who write the drivers." There will also be those who believe the dogma of, "but the driver interface needs to change often so as to be Better(tm) so you can't set the interface in stone."
Parent
Re: (Score:3, Interesting)
That's why people still use languages like C. It's quick to get a program together, even if it doesn't do exactly what you wanted first time. You fix the mistakes and try again. Each time you go around the loop, there should be fewer bugs (but Sod's Law says that each one will take longer to find). After just a few generations, you end up with a mostly-usable program.
With all these fancy-arsed "designed so mistakes are impossible" languages
Re:Should have used Eiffel (Score:4, Insightful)
Perhaps you need to get a little deeper into kernel development to find out why Eiffel is a bad choice:
In summary languages that do stuff for you behind the scenes suck for kernel development.
Parent
Re:Should have used Eiffel (Score:4, Informative)
You're right, you wouldn't. People who spell it the modern way, Lisp, however, would [wikipedia.org].
Parent
Re:Not loosing the will (Score:5, Funny)
I'm loosing the will to spell.
Parent