Slashdot Mirror


Top Linux Developers Losing the Will To Code?

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."

40 of 170 comments (clear)

  1. This is Bad? by Rachel+Lucid · · Score: 4, Insightful

    They're probably getting older, too.

    Perhaps the less coding you do the higher you get up in the management ladder is for a reason, after all...

    1. Re:This is Bad? by houghi · · Score: 4, Insightful

      I would say it is the other way around. The higher you get up, the lesser you code.

      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.

      --
      Don't fight for your country, if your country does not fight for you.
  2. will has nothing to do with it by Anonymous Coward · · Score: 5, Insightful

    the talented get promoted to managing because they care about what's happening, how it gets done, and they know what's going on. This doesn't equate to "I don't feel like coding" as the article suggests.

    "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"

    1. Re:will has nothing to do with it by sick_soul · · Score: 2, Insightful

      > Actually writing code can easily be a generic position,
      > easily swappable

      This is what most companies get wrong.
      Coders are not easily swappable, no matter how much policy
      you try to set up: the differences in skill have a
      tremendous impact on the quality of the code, and if a
      more talented supervisor must always veto/fix the code of its
      underlings, it is a waste of time for everyone involved.

      Only good coders should work on the code base in any position.

      Those who also show management skills should get burdened by
      the additional task of actually managing people and
      distributing work, and they will slowly code less and less,
      while the good coders which do not show management skills
      should just code on.

  3. a good or bad thing? by brunascle · · Score: 5, Interesting

    that's odd. the linux.com article covering the same event made it sound like the kernel team thought it was a good thing that there were more developers, and the work was more spread out.

  4. So? by Actually,+I+do+RTFA · · Score: 2, 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.

    --
    Your ad here. Ask me how!
  5. Will? by truthsearch · · Score: 4, Informative

    I read the first page and didn't see anything about them losing their will to code. It seems just the sheer number of innovative contributions means they have more to manage and less to write. This can't be a surprise with so many individuals and companies now contributing.

    1. Re:Will? by Anonymous Coward · · Score: 3, Funny

      I think it's appropriate that a PHP mug has an error on it. I think the next one should have a sql injection attack.

  6. Git by CarpetShark · · Score: 2, Insightful

    Isn't this what Linus said that Git was supposed to fix?

    I wonder are the rest using it... I wonder are the rest even delegating.

    1. Re:Git by CarpetShark · · Score: 4, Informative

      To clarify: Linus gave a talk at google, where he spoke of Git as part of the solution to this problem, and his shear lack of interest in helping "subordinate" (my word, for want of a better one, not his) developers. He said, essentially, that if people don't write proper patches, or if they write patches that conflict with other patches, he doesn't spend time integrating: he throws it back, and says do it again. Likewise, he doesn't manage tons of individual patches; he delegates to others, who spread the load. If the "lieutenants" aren't handling their part, they just need to learn from Linus.

    2. Re:Git by Dan+Ost · · Score: 4, Insightful

      This is actually an example of good management (or, more correctly, management knowing its own limits).

      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?

      --

      *sigh* back to work...
  7. It's just maturation: projects evolve by postbigbang · · Score: 2, Insightful

    New projects open all the time. As the FOSS code base increases, it's easier to move code around. Once one takes on responsibility for a project, the new code vs maintenance code is always going to change. And there are thousands of projects where someone gets bored, moves on, or whatever, where the project then becomes stuck in the mud. SourceForge is full of them. It doesn't mean there's anything wrong, it's the fits-and-spurts of how coding works.

    Nothing to worry about. It's natural.

    --
    ---- Teach Peace. It's Cheaper Than War.
  8. Not loosing the will by realdodgeman · · Score: 2, Interesting

    They are not loosing the will to code. They just have too much other work, like reviewing others code. So they do not have enough time left to code. RTFA. The headline is not reflected in the article itself at all.

    1. Re:Not loosing the will by All+Names+Have+Been · · Score: 4, Funny

      They are not loosing the will to code. They just have too much other work, like reviewing others code. So they do not have enough time left to code. RTFA. The headline is not reflected in the article itself at all.

      I'm loosing the will to spell.

  9. The Mythical Man Month by $RANDOMLUSER · · Score: 4, Interesting
    Described this in 1975. As you add more people to a project, communication takes up more time than coding. From Wikipedia:

    Assigning more programmers to a project running behind schedule will make it even later, due to the time required for the new programmers to learn about the project, as well as the increased communication overhead. When N people have to communicate among themselves (without a hierarchy), as N increases, their output M decreases and can even become negative (i.e. the total work remaining at the end of a day is greater than the total work that had been remaining at the beginning of that day, such as when many bugs are created).

    * Group Intercommunication Formula: n(n 1) / 2
    * Example: 50 developers -> 50(50 1) / 2 = 1225 channels of communication

    --
    No folly is more costly than the folly of intolerant idealism. - Winston Churchill
    1. Re:The Mythical Man Month by flaming-opus · · Score: 4, Insightful

      This assumes that the kernel is a single common software project.

      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.

    2. Re:The Mythical Man Month by CoughDropAddict · · Score: 2, Insightful

      That's exactly why it's totally ridiculous that it is contained in a single source repository!

      Need a newer version of the USB subsystem, or a fix to a driver? Have fun downloading a new version of Linux, which has an ungodly number of changes across the entire kernel.

      People tend to think of monolithic/micro kernel only in terms of run-time technical advantages/disadvantages. But equally important IMO is the impact on development processes. With a good microkernel architecture, it would be totally reasonable to think that you could upgrade an entire subsystem (like USB) without touching the rest of the OS. Each subsystem could be run as an independent project with its own releases, and there could be competition for who can make the best subsystem.

  10. I think the question is more ... by khasim · · Score: 4, Insightful

    ... how has the amount of code they actually approve and that gets into the kernel changed?

    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).

    1. Re:I think the question is more ... by zCyl · · Score: 3, Insightful

      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).

      This of course implies that code is now checked more times and more carefully BEFORE inclusion, which is a win for everyone.
  11. Re:Book needed by fattmatt · · Score: 5, Informative
  12. Re:Book needed by MROD · · Score: 4, Insightful

    The problem is that with almost every minor kernel version revision the driver interface is changed, so any book that goes into print will already be almost worthless by the time it got into the shops.

    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."

    --

    Agrajag: "Oh no, not again!"
  13. Welcome to programming by hikerhat · · Score: 2, Insightful

    This is how it always works. Once you have enough experience doing anything, from building houses to writing code, you start to spend more time sheepherding the less experienced and less time implementing. It's the circle of life. I didn't rtfa.

  14. Re:Should have used Eiffel by ajs318 · · Score: 2, Interesting

    Eiffel? No, they wanted something that would actually run.

    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, you can spend longer trying to write a "demonstrably-correct-first-time" program than you would chasing down bugs in a nearly-right one. Or at least, that's what it feels like.

    --
    Je fume. Tu fumes. Nous fûmes!
  15. Re:Should have used Eiffel by Fujisawa+Sensei · · Score: 3, Insightful

    Perhaps you need to get a little deeper into kernel development to find out why Eiffel is a bad choice:

    • Exceptions in kernel space suck. You can look through AROS ML archives for an example of this.
    • In kernel space you don't have access to the standard C libraries, malloc() for instance.
    • Not only don't you have access to standard C functions, you don't want your memory managed for you, that's the kernel's job.

    In summary languages that do stuff for you behind the scenes suck for kernel development.

    --
    If someone is passing you on the right, you are an asshole for driving in the wrong lane.
  16. Where's the beef? by billsf · · Score: 2, Insightful

    People simply tend to get more managerial as they get older. This extra proofreading, checking and review has resulted in a fantastic product. While BSD is my primary computer interest, I've maintained a Linux box since 2.6.16 to follow the most current developments. I'm running 2.6.22 now and have great respect for the way they use SMP to enhance reliability. Short of a hardware failure, it simply doesn't crash. The way I use a computer, getting an hour uptime out of XP would be rather remarkable.

    BillSF

  17. Antithetical. by wild_berry · · Score: 2, Insightful

    The kernel developers have decided that black-box/proprietary drivers aren't welcome in their kernel and ask that companies submit their drivers as patches to the existing kernel. That's why 52% of the kernel tree is driver code. It also means that the drivers are free-as-in-GPLv2 and can't be withdrawn later on. If they become abandonware, they are freely available to be updated by a third party. I see these as advantages sufficient to support the present Kernel Development method.

    1. Re:Antithetical. by MROD · · Score: 2, Insightful

      I didn't actually mention black-box binary-only drivers or even those not released under the GPL, that's a totally separate issue. This is a maintainability issue and the costs to companies to keep modifying their code almost every time there's a minor kernel version change.

      If a company can assign programming resources once off for a driver project and not have to spend extra resources every few months just because of a change in the kernel interface then they will look far more kindly on the idea of developing a driver, be it GPL'd or not. Remember, Linux is a small player for the hardware people and hence only minimal budget can be allocated to any driver project. Recurring costs (other than for bug fixes) are a major financial barrier.

      --

      Agrajag: "Oh no, not again!"
  18. Management is just another form of coding by Fractal+Dice · · Score: 2, Insightful

    They haven't stopped coding, they just code in a higher language - just as C can take care of all that dirty assembler for you, a human coder can take care of all that dirty C. You just sit back, watch the code flow past, filter it and nudge it in the directions you need it to go. It's bleeding edge technology, it's just the system requirements are a little steep for most of us to assemble - give it a few decades and I'm sure we'll all be coding this way :)

  19. Decaf ! by Marbleless · · Score: 3, Funny
    --
    --I thought I was wrong once, but I was mistaken.
  20. Getting older and coding by mckyj57 · · Score: 4, Insightful

    Programmer burnout is a well-known, if not well understood, phenomenon.

    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.

    1. Re:Getting older and coding by mrdarreng · · Score: 4, Funny

      I just don't *want* to write code any more.

      I feel your pain, brother! I've spent my entire career not wanting to write code. Thankfully, I took a dev position at SCO.
  21. Fundamental Flaws by rAiNsT0rm · · Score: 4, Insightful

    I spend a lot of time online trying to get through to folks on this issue but everyone just blows it off. I have been a Linux user/contributer for over 12 years now and have nothing but the best interests in what I say. The biggest problem is the fact that the only area to have any management and direction is the kernel. The rest is far too chaotic and self-serving to ever become a cohesive system.

    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.

    --
    http://teasphere.wordpress.com - A little spot of tea
    1. Re:Fundamental Flaws by swillden · · Score: 2, Informative

      OS X. In ten years or so a fairly small team has taken BSD and turned it into what it is.

      More like 20 years. OS X is NeXTstep with a facelift and a few years of minor revisions. NeXTstep development began in 1986 and the first release was in 1989. Not only that, but a typical Linux disto is significantly larger than OS X, since it includes a large variety of applications that Apple doesn't include in OS X, and many of which Apple doesn't even make.

      The pace of Linux development is phenomenally fast, in spite of (or perhaps because of?) all of the false starts and dead projects.

      Imagine with the same focus and direction what the huge amount of OSS talent could accomplish?

      With focus and direction, the OSS talent would accomplish far less. When people are working on stuff for fun, they don't like to be told what to do.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    2. Re:Fundamental Flaws by rAiNsT0rm · · Score: 2, Insightful

      And you sir have summed up the exact problem here. You've glossed over the fact that nothing from NeXTstep just showed up magically working on BSD, it had to be coded from the ground up new. The point was it was done, done well, and in fairly short order.

      You honestly believe that 300 half-working yet-another-whatever-app that is just as buggy as the other 299 is better than 1 or 2 excellent apps with more eyes and talent focused on them? There is a point when a million and one false starts gets exasperating for folks to follow. This week it is Compiz, then next you need Beryl, then next week scrap it all and grab Compiz-Fusion, and on and on. That project is actually doing well too... think of all the ones that don't. Every week there is a new hotness, and the program that was #1 for the task last week is already not being developed anymore and another is. That doesn;t help anyone's cause, and the chaos is impossible to hold still long enough to make it truly great.

      So with focus things would be worse eh? Tell that to Canonical/Ubuntu. Because they are the closest thing to my theory so far in Linux and they just got into a ton of Dell's and all over the Internet. Why? Because it is a central, slower moving target. I could code for Sally's-Distro-of-the-Week and my work can be made obsolete when she gets a job, a life, hit by a car, or I can put my effort into a distro with a long-term release, huge support and userbase, stable and clear goal (for the most part), and some oversight. If you took all the talent from small projects like Puppy, DSL, Joe-Sixpack's Distro and got them together on one goal the outcome would be tremendous.

      The problem is ego and tunnelvision. It can be hard to wrangle a bunch of truly talented folks, and sometimes you don't get your way. Now, you just take your ball and go home to create yet-another-half-assed-distro or app. This isn't about FUN it is about being part of something greater, and the fun you sacrifice to be part of it instead of going nowhere by yourself is reaped tenfold when you get to the end and see what a huge impact you *helped* to create. But that satisfaction is delayed and not as instant as the perceived fun you get by having a few hundred people download your app from your .edu webpage and get some direct feedback... you could have a couple million download it and have your name actually be attached to a major project.

      Again, I've heard a thousand people react the way you did... it is the knee-jerk reaction, but I guarantee it is the wrong one. Time will bear it out.

      --
      http://teasphere.wordpress.com - A little spot of tea
    3. Re:Fundamental Flaws by pschmied · · Score: 2, Insightful

      Most software shops have dedicated architects. In many cases, those architects can be blowhards with little practical skills, but a good architect can actually do a lot of good for a project. The same can be said of a good project manager.

      The strength / weakness of the Open Source model is that it collapses these structures into a flatter skill space. On the bright side, coders get to scratch their itch and prove that their employers' architects are simply wankers that hold them back. On the down side, those same architects are marginalized from the Open Source community unless they work for a company that sponsors major Linux development (RedHat, Novell, IBM, etc). The "shut up and code" ethos of Open Source can create major problems in a project. A lot of times, prolific coders aren't your best coders, and are often abysmal architects (not always, though!). Another downside of missing architects in Open Source is that most architects tend to hold positions of power in commercial IT shops. I suspect the poor integration of architects / project managers / etc. into the FOSS world is probably the reason commercial software is as prevalent as it is.

      Think of an olde tyme army that would have had archers, macemen, generals, horsemen, etc. A lot of them were effective because of the separation of tasks and the inherent benefits of combining them. FOSS development tends to lack a lot of those divisions. Consequently, we lose out on some of those modern software development tactics. On the upside we do have a lot of extremely talented foot soldiers.

      There's clearly some happy spot for efficient development. Microsoft isn't it. Neither is FOSS, I believe. But efficiency is not the point of either. Microsoft's goal is to produce stodgy software that doesn't change much. FOSS's "goal" is to spin out ideas rapidly. FOSS has been much more successful by that metric than Microsoft has.

      -Peter

    4. Re:Fundamental Flaws by swillden · · Score: 2, Insightful

      You've glossed over the fact that nothing from NeXTstep just showed up magically working on BSD, it had to be coded from the ground up new.

      I'm not sure whether you're talking about the original development effort or something more recent. Just to be clear, NeXTstep was always on BSD.

      In any case, your rant completely misses the point. You came closest (by virtue of being most wrong) when you said:

      This isn't about FUN it is about being part of something greater, and the fun you sacrifice to be part of it instead of going nowhere by yourself is reaped tenfold when you get to the end and see what a huge impact you *helped* to create.

      There are a lot of OSS developers, and they all have their own reasons, but FUN is a *huge* part of it for most of them. For example, I'm a professional software developer, have been for nearly 20 years, and I often find that the stuff I work on at work isn't all that interesting. So, in the evenings when I'm not busy with all of the things that come with having a life and too many hobbies, I write OSS code. I pick things that I think are interesting and fun and I contribute there.

      There are other motives, of course, and I think it's fantastic that Canonical, IBM, HP, Red Hat, Novell, Sun, MySQL, Trolltech and dozens of other companies are paying people to work on OSS full-time. I think the work that Canonical has done, by providing an intense focus on polishing rough edges, is excellent and very valuable. BUT... that in no way devalues the contributions of random hackers scratching their personal itches, because for all that the full-timers do, it's the random hackers that do 90% of the work, and it's due to the efforts of the random hackers that the guys at Canonical etc., have a diamond they can polish. The polish is useful, and unlikely to come from random itch-scratchers, but it's only polish.

      There simply isn't enough money in the OSS business model to justify full-blown from-scratch development a la Apple and Microsoft. The key to making the whole thing work is all of that chaotic development that you decry. Without that, Canonical is nothing, Red Hat is nothing.

      And you simply *can't* direct, or manage, or focus, the efforts of people who are scratching their own itches, entertaining themselves on their own time. The moment you begin to direct them, their work ceases to be enjoyable and becomes just another form of the same crap they get at the office. To achieve any sort of critical mass, OSS needs both the chaos and the people who grab the chaos and try to order and organize it. Even that is an oversimplification, because even the organization of the software benefits from the chaos of multiple approaches to organization.

      You'd like to force-fit the bazaar into the cathedral, but actually doing it would destroy it. The status quo is better: The bazaar produces all kinds of weird and wacky things and folks from nearby cathedrals cherry-pick the best, polish it up and integrate it into a cohesive whole (and also offer the polished pieces at the bazaar, plus a few of their own).

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    5. Re:Fundamental Flaws by swillden · · Score: 2, Informative

      also want to have "fun" and working on something cool when I write OSS code... but that doesn't mean I can't be working inside of some sort of high-level constraint or with some design/integration in mind

      The only issue I have with this is that it implies that OSS programmers typically aren't working with some overarching design in mind, and that simply isn't true. Spend some time on project mailing lists looking at how many patches get rejected because they don't fit within the architecture and development approach. Successful OSS projects have a ruthless focus on maintainability, which absolutely requires consistent application of well-defined architectural constraints.

      I'm saying there needs to be visionaries with a full view of the big picture and then it actually makes it easier for everyone else from there down.

      People are certainly welcome to try to contribute however they like, but I'll tell you that in my experience pure visionaries are and will be ignored and, IMO, that's a good thing. Even in the corporate world I really dislike "pure" architects, and I've seen countless projects that have been destroyed by them and their cluelessness. Architecture is crucial, but it works best when the architect also implements. I'm an architect, by the way, and a big believer in structure, in having a clear, consistent vision of the desired outcome and in having a person who has the authority to make that vision stick. But that person must also be in the trenches and understand how to work a shovel.

      Within the OSS world, credibility is established by producing functional, tight, bug-free, maintainable code. Visionaries who want to give others the big picture have to first establish themselves as people worth listening to. And that's a good thing, because there are always huge numbers of pure visionaries with conflicting ideas pushing any high-profile project. Even if the developers wanted to listen to them, doing so would ensure that nothing of substance ever got done.

      Linux needs more management and it needs more artists/designers, there are talented folks in these areas who are willing to work just as hard as the coders, and yes, even for free.

      Artists and designers, absolutely. UI design is important, difficult work that most programmers aren't very good at, and most OSS developers are perfectly aware that they can use all the help they can get in that department. Management... no. Not from managers who haven't proved themselves as able developers first, anyway.

      Look at the Linux kernel as an example. It is a very well-managed project, and the leaders don't at this point write very much code at all, because they're too busy managing (which is the topic of TFA). Notice, though, that they became managers/architects by first obtaining the respect of other developers by producing good code. Now that they are leaders, they lead in a way that is very different from the norm in the corporate world. They lead not by telling people what to do, but by giving guidelines for acceptability. Linus will reject patches that violate tenets of the overall architecture -- if you want to get your code into the kernel, you have to produce something that is acceptable to him. Further, OSS managers have to logically justify all of their positions, they can never just state them and enforce them by fiat. That doesn't mean they have to convince everyone, but they have to convince enough people.

      The bottom line, for me, is that what you seem to want simply isn't going to happen. OSS developers aren't going to listen to you just because you say they should. If you can find a way to earn their respect, then maybe they will, and the most direct way to accomplish that is to write a lot of good code. If you can't do that, and you don't have any other way to convince people that you're worth listening to, they won't listen to you. Sorry.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
  22. Re:Should have used Eiffel by ari_j · · Score: 3, Informative

    You wouldn't write a kernel in LISP on top of bare commodity hardware though.

    You're right, you wouldn't. People who spell it the modern way, Lisp, however, would.

  23. This is Good by EmbeddedJanitor · · Score: 2, Interesting
    It is far better to have the more experienced folk checking the contributions of others. This builds a broader base of contrubutors and the more seasoned folk get to ensure that the Good Stuff is getting in to the kernel/whatever.

    Experience does count, and age is not a limitation. There's a myth that older people can't program. At 45 I reckon I can outprogram most youngsters, but it is probably more valuable to be mentoring others. I know a few very active programmers in their 60s and even 70s.

    Old good programmers should not become managers unless they are actually better managers than programmers. Programming is not a science or an art, it is a blue-collar skilled trade. Knowledgable older programmers should be helping out the youngsters.

    --
    Engineering is the art of compromise.
  24. Stop coding, start designing by bug1 · · Score: 2, Insightful

    Speaking from my own experience, i found that what motivates me to code has changed over time.

    First it was the technical challenge;
    Second the challenge was to earn money from my skill (not very successfully)
    The challenge for me now is design.

    I see free software as an art, code is just the medium in which a design is implemented.

    I dont care if my project has fancy features, i dont care if time spent on it can be justified from a commerical perspective. Its just about solving a problem that people (developers) can one day look at and realise its the way it should be.

    Art is really what seperates commercial code from free software, if you spent an hour thinking about a more appropriate variable or function name on a commercial project your boss wouldnt be impressed. But its little things like this (and design) that lower the level of participation, enabling them to get the "many eyes" that improve it.

    Free software programmers are like the artistic painters.
    Commercial programmers are like a signwriter.

    Deadlines can only lessen the quality of code.