Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Software Linux

Linus' Lessons On Software Dev Management 132

Esther Schindler writes "In this interview with Steven Vaughan-Nichols, Linus Torvalds shares hard-won wisdom about managing software development projects, including encouraging community involvement, the importance of programming tools, and ensuring the project stays on track. For instance, regarding getting people to contribute to your project, he says, 'If you start off with some "kumba-ya feeling" where you think people from all the world are going to come together to make a better world by working together on your project, you probably won't be going very far.'"
This discussion has been archived. No new comments can be posted.

Linus' Lessons On Software Dev Management

Comments Filter:
  • by Anonymous Coward

    It's really great, this whole Linux and GNU thing! Even if Linus isn't about kumba-ya, (Although he is, and one day he will rip his disguise off and laugh like a super-villain to reveal a t-shirt with the hammer and sickle. Mark my words, he's a closet commie, right in our midst.) ...whoa that was a long winded parenthesis. What I was going to say, was that the ingenious thing about this whole FOSS thing is that it is a building block of future anarcho-socialist utopia and at the same time the greedy capita

    • dd -n 1000 bread

    • Can't tell if trolling, communist, or just plain conspiracy theorist.
    • Sincerelly, Future person. ~ ~ (Or did I dream it?)

      Lemme' guess... you used neutrinos.

      • Lemme' guess... you used neutrinos.

        I don't know. Or... I think saying that I'm from the future may not be completely accurate, at least for some definitions of me. It may well be completely false for most definitions of anything. I'll try to clarify things a bit more later.

    • by WorBlux ( 1751716 ) on Monday September 26, 2011 @03:40PM (#37519856)
      Making social change by actually building alternatives that are more useful and meet the needs on consumers better than existing alternatives. Yes, that's just so evil. Not really, if fact its really the only moral way to create a social change. But actually I think you overestimate the scope of the conspiracy. OSS is a scheme to allow all software developers to own the means of production, and be able to compete and operate without worrying all the anti-competitive and anti-value crap that copyright protection brings with it.
    • The bright and shining future! Now with less anonymity!
  • I say we all start the a software project based on the kumba-ya feeling and come together from all over the world by working together on it. WHO'S WITH ME!?!

    ...

    Anyone?

    ...

    *crickets*


    • rb_funcall(rb_mKernel,rb_intern("puts"), 1, rb_str_new2("Hello World"));

      Okay, done, now sit down and enjoy the happy feeling. ...

    • Stallman did that already it is called HURD.

      I hear next year they will finally be able to have text output on the screen.

      • by Jonner ( 189691 ) on Monday September 26, 2011 @04:44PM (#37520556)

        Stallman did that already it is called HURD.

        I hear next year they will finally be able to have text output on the screen.

        Stallman knew that you have to be willing to write the software yourself long before Linus came along. Emacs, GCC, GlibC and various other GNU components didn't magically appear from the community. They were begun and advanced by RMS and other GNU people for years, laying the ground work for Linux's success.

        HURD turned out to be over-ambitious in comparison to those other core components and once Linux came out, the need for it went away. I wonder if GNU/kFreeBSD would have emerged sooner if it hadn't been for Linux. While most of the GNU components were designed in a similar way to the Unix components they replaced, HURD is based on ideas radically different from traditional Unix kernels which still haven't proven themselves practical in general. Linux, on the other hand, was designed very much like traditional Unix kernels, ironically in direct contrast with the Minix one it most directly replaced.

  • Fighting Evil (Score:4, Insightful)

    by PPH ( 736903 ) on Monday September 26, 2011 @02:56PM (#37519362)

    If you start off with some "kumba-ya feeling" where you think people from all the world are going to come together to make a better world by working together on your project, you probably won't be going very far.

    A common enemy is always a better motivator than soft fuzzy stuff. The Soviets got us to the moon, bitter divorcees are better in bed than single women, and vi wouldn't be half as good if it wasn't for emacs.

    Thanks, Mr. Gates.

    • Re:Fighting Evil (Score:5, Interesting)

      by H0p313ss ( 811249 ) on Monday September 26, 2011 @03:02PM (#37519424)

      I once told a microsoft tech rep that the purpose of Linux was to make Windows better.

    • by Tablizer ( 95088 )

      So let's see if Ellison's attacks spark a better Java competitor.

      • Perhaps the return of Inferno and the Dis VM? It was the original competitor of Java and we could always dream about it having a comeback (perhaps with an update of Limbo to Go or similar). There is already the Android variant replacing the Dalvik VM with Inferno (the Hellaphone)...
  • Doing it yourself (Score:5, Informative)

    by MonsterTrimble ( 1205334 ) <monstertrimble.hotmail@com> on Monday September 26, 2011 @03:32PM (#37519758)
    FTFA:

    “The first thing is thinking that you can throw things out there and ask people to help,” when it comes to open-source software development, he says. “That's not how it works. You make it public, and then you assume that you'll have to do all the work, and ask people to come up with suggestions of what you should do, not what they should do. Maybe they'll start helping eventually, but you should start off with the assumption that you're going to be the one maintaining it and ready to do all the work.”

    That is probably the most true statement I have ever read with regards to crowd-sourcing. You have to be willing to do it all yourself with input from others.

    • by blair1q ( 305137 )

      Except the converse is often true.

      Just try helping on many open source projects.

      You'll get the hand. They don't want help. They just want egoboo.

      • I got that in an eventual reply a couple of months after offering to help revive one of the abandoned gnu tools. By then I'd got something from opensolaris to do a better job anyway.
        I saw that as another symptom of gnu/hurd's failure but not all open source projects are like that.
      • If you start off submitting safe bug fixes, generally they will be mainlined quickly and the maintainer will be greatful. If you start off by suggesting large modifications to the functionality or structure of the project, they're going to be rightly skeptical.

        Oh, and if you bother to ask on IRC whether you can be one of the "developers" like you are applying for a job, you're probably going to be met with blank stares.

  • by Anonymous Coward on Monday September 26, 2011 @03:34PM (#37519778)

    Breaking the user experience in order to ‘fix’ something is a totally broken concept; you cannot do it. If you break the user experience, you may feel that you have ‘fixed’ something in the code, but if you fixed it by breaking the user, you just violated that second point; you thought the code was more important than the user. Which is not true.”

    Hmm. So this doesn't count everytime the Kernel APIs change and a bunch of device drivers get broken? IMHO it's the users that get hurt by the lack of stable kernel APIs since the original developers are the only people that have the skills, source and tools to make the fix - if they are still interested.

    • Breaking the user experience in order to ‘fix’ something is a totally broken concept; you cannot do it. If you break the user experience, you may feel that you have ‘fixed’ something in the code, but if you fixed it by breaking the user, you just violated that second point; you thought the code was more important than the user. Which is not true.”

      Hmm. So this doesn't count everytime the Kernel APIs change and a bunch of device drivers get broken? IMHO it's the users that get hurt by the lack of stable kernel APIs since the original developers are the only people that have the skills, source and tools to make the fix - if they are still interested.

      In kernel GPL device drivers will never be broken, due to Kernel API changes. As they will also be changed when an API changes.

    • Breaking the user experience in order to ‘fix’ something is a totally broken concept; you cannot do it. If you break the user experience, you may feel that you have ‘fixed’ something in the code, but if you fixed it by breaking the user, you just violated that second point; you thought the code was more important than the user. Which is not true.”

      Hmm. So this doesn't count everytime the Kernel APIs change and a bunch of device drivers get broken? IMHO it's the users that get hurt by the lack of stable kernel APIs since the original developers are the only people that have the skills, source and tools to make the fix - if they are still interested.

      That's not a contradiction so much as it's a compromise, a concession to the fact that the world is bigger and more complex than we might wish, and to the fact that there are many users with different -- and even competing -- requirements.

      In this case, it's trading off the ability of the code to change as needed to support the needs of all users better against the need of a subset of users for the ABI to remain stable so that specific third-party drivers will continue to work. It's also a way of goading

  • by Anonymous Coward

    In this interview with Steven Vaughan-Nichols, Linus Torvalds shares hard-won wisdom about managing software development projects, encouraging community involvement

    I spit water onto my screen when I read those last three words. Linus may be a great programmer, but the Linux kernel development community most certainly formed in spite of his attitude toward his own community, not because of it. Patches that make it across his desk are either accepted or rejected, with nary a hint of explanation or rationale e

    • His attitude is decidedly so to make people think twice about their code.

      If you want to take up a core developer, wouldn't you want her/him to be able to make solid, sane decisions using their own brain?

      Real coders don't expect to be spoon-fed. Linus knows this, and so do the rest of us... well most of us.

      Yes his attitude may seem ballsy and rude at most times, but at least he is honest about the process, the code and the people. I'd rather have that than a sneaky cheese making false promises under pretense

  • ...seriously, we get it that you don't like CVS.
    • No kidding. He's smart enough to know that it's different tools for different jobs. CVS is wrong for him, which is fine. It's usually worked well for me because of different requirements, a different environment, and thus a different workflow.

      • It's usually worked well for me because of different requirements, a different environment, and thus a different workflow.

        I think his point was that CVS encourages a "commit cabal" workflow; and it's the "commit cabal" workflow which he thinks is detrimental to an open-source project.

        • Would you explain what commit cabal is?

          • From http://en.wikipedia.org/wiki/Cabal [wikipedia.org]:

            A cabal is a group of people united in some close design together, usually to promote their private views and/or interests in a church, state, or other community, often by intrigue. Cabals are sometimes secret societies composed of a few designing persons.... The use of this term usually carries strong connotations of shadowy corners, back rooms and insidious influence; a cabal is more evil and selective than, say, a faction, which is simply selfish...

            From TFA:

            Beside

        • That may be true, but I've never worked with a group large or varied enough in skill where everyone didn't have cvs commit access. So this has never come up.

          I totally accept that CVS doesn't work for him or for open-source projects. It's the whole "if you use CVS you're stupid" thing that seems a bit narrow minded. In some environments it is perfectly fine.

          Cheers.

  • Linus quoted in the interview:

    I don't think tools are all that fundamentally important.

    Perhaps it would be more accurate to say "the unimportance of tools".

  • The world's most popular open-source software program isn't "the Linux operating system" but most likely "cat".

    Calling an OS a mere program and attributing it to one person shows you really don't know a lot about the stuff you're writing about.
  • What is the latest project on sourceforge? Have you guys checked it out? The project starter may still have some kumba-ya feeling, so let's share the feeling together among us!

There are two ways to write error-free programs; only the third one works.

Working...