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.'"
The GPL and Linux rock! (Score:2, Interesting)
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
Re: (Score:3)
dd -n 1000 bread
Re: (Score:1)
RTFM
Re: (Score:2)
Copy one thousand blocks of bread to standard output. I think it means feed a thousand people. It should have been written
dd -n 1000 if=/dev/bread
Re: (Score:2)
Copy one thousand blocks of bread to standard output. I think it means feed a thousand people. It should have been written
dd -n 1000 if=/dev/bread
So, googling "feed a thousand people" yields the following quote off Zora Neale Hurston on top:
"If you feed a thousand people you are a nice man with suspicious motives. If you kill a thousand you are a hero. Continue to get them killed by the thousands and you are a great conqueror than which nothing on earth is greater. Oppress them and you are a great ruler. Rob them by law and they are proud and happy if you let them glimpse you occasionally surrounded by the riches that you have trampled out of their h
Re: (Score:2)
dd is so old it doesn't even use dashes on its options...
Re: (Score:1)
Re: (Score:3)
Sincerelly, Future person. ~ ~ (Or did I dream it?)
Lemme' guess... you used neutrinos.
Re: (Score:1)
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.
Re:The GPL and Linux rock! (Score:4, Insightful)
Re: (Score:1)
Re: (Score:2)
Re: (Score:2)
One goal of refactoring is to not change the functionality of the code.
I think Torvalds is completely right here, it's all too easy to let the most convenient/nice way to code something dictate the user experience; which is fine if the user is the programmer (e.g. writing library code). Applications with a complex UI often suffer from this; getting something that works the way the user expects it to often means doing 'dirty' things to the codebase to make it work.
Re: (Score:2)
I had something like this happen with some version of NetBeans. I filed a bug because it was damn near impossible to find "check for update". They had moved it into some incredibly obscure place, because "that's where it was in the code".
Re:a counterpoint on "no regressions" (Score:4, Informative)
Lets prove him wrong! (Score:2)
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*
Re: (Score:2)
rb_funcall(rb_mKernel,rb_intern("puts"), 1, rb_str_new2("Hello World"));
Okay, done, now sit down and enjoy the happy feeling. ...
Re: (Score:2)
Stallman did that already it is called HURD.
I hear next year they will finally be able to have text output on the screen.
Re:Lets prove him wrong! (Score:4, Informative)
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)
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)
I once told a microsoft tech rep that the purpose of Linux was to make Windows better.
Re: (Score:2)
Enlightenment. Today, E is prettier than K or G, uses less resources, and actually runs faster due to cleaner, leaner code. The added benefit is, it doesn't even try to look like Windows - it's to damned pretty to waste it's time trying to look like a wallflower!
I wish a few more top-notch developers would join the E community, and get things rolling along a little faster, but it's already sweet!
Re: (Score:2)
Re: (Score:2)
Just curious - can you have an environment shared on two monitors? I presently run a highly tuned Desktop Cube in Compiz, on a dual-monitor Ubuntu setup. I've read about a way to run Compiz in E17 but haven't tried it. IIRC some of the Compiz functionality was already in E17? I loved E16 back in the day, despite various issues.
Re: (Score:2)
Re: (Score:1)
Re: (Score:2)
In that case Linux has not been very succesfull after all. The value of this rumor...
I have to assume you are trolling... I use Windows, OSX, Linux and iOS on a daily basis and I can tell you that Windows has been steadily improving. In fact right now I'd argue that Win7 is the best consumer operating system going. (And yes I threw up a little in my mouth saying that...)
Re: (Score:1)
So let's see if Ellison's attacks spark a better Java competitor.
Re: (Score:1)
Doing it yourself (Score:5, Informative)
“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.
Re: (Score:2)
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.
Sometimes but not always (Score:2)
I saw that as another symptom of gnu/hurd's failure but not all open source projects are like that.
Re: (Score:3)
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.
A stable device driver API would help the users (Score:5, Insightful)
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.
Re: (Score:1)
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.
Re: (Score:3)
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
Re: (Score:2)
You missed that they don't even get broken.
When the kernel API changes, you have a new operating system. It's 98% the same as the old one, but it's a new one. Might was well have a new name, but a new number will do.
The drivers will continue to work on the old one, which was no less free than the new one. If you want your hardware to work on the new one, you'll need to write drivers for it.
Which, really, is not at all hard once you've done ten or fifteen of them.
Re: (Score:1)
Open sourcing the drivers is by far not enough. Kernel devs only fix drivers accepted in the mainline kernel.
encouraging community involvement??? (Score:2, Informative)
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
Re: (Score:3)
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
Re: (Score:2)
Re: (Score:2)
Wow, I'm not sure which is more shocking about this post: the fact that you seem to think House reflects reality in some way (note: the director of the show describes it more as a philosophical playground than a medi-drama), or the double whammy where you not only attribute Con Kolivas' conflicts with his "thinking he's an expert" but also that "he thinks he's an expert because he's a doctor!" Seriously, wtf?
The Con Kolivas flame war will probably go down as a historic one in kernel-lore, but it is complete
Re: (Score:2)
Read the words alone and don't try to construct some fucking huge mountain between the lines - it should be very clear that I'm talking about an attitude.
From the email exchanges on the kernel list it was flatly stated was that Con expected not to be treated as a newbie in the field because he was a medical doctor and thus should be respected as much as somebody with experience in software
Re: (Score:2)
Yes, you're talking about an attitude, completely unsubstantiated by anything except a fictional tv show and your own (obvious) bias.
Anyway, it's not that hard to dig up an incriminating post from somewhere in the past simply to make the point that somebody is an asshole if you dislike them enough. Surely that would be quite easy to do for Linus or any of the other kernel developers. But, of course, any single post is not the whole story.
I don't really believe your assertion that Con Kolivas "did not use li
Not quite CS graduate level unfortunately (Score:2)
It's called an analogy and was an attempt to make you understand something in one line with an extreme example that is never going to fit exactly - and you should have the reading skills to identify it as that but it appears you wish to pretend to be dumb and use faux misunderstanding as a method to argue. I'd never even seen an episode of House when I read the post from Con
Let it go, Linus... (Score:2)
Re: (Score:2)
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.
Re: (Score:2)
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.
Re: (Score:2)
Would you explain what commit cabal is?
Re: (Score:2)
From TFA:
Re: (Score:2)
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.
The importance of tools? (Score:2)
I don't think tools are all that fundamentally important.
Perhaps it would be more accurate to say "the unimportance of tools".
World's most popular open-source software program (Score:2)
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.
Check sf.net latest project? (Score:1)
Re: (Score:3)
Linus said "probably", because this is the fate of a majority of projects. Also, Stallman didn't just put the idea out there and let it sit. He's been working on it and an organization dedicated to it ever since. It's taken a long long time for Free Software to get as 'mainstream' as it is, and in the mean time, we've gotten plenty of variants on the original theme, like 'Open Source' (which at a practical level isn't really any different).
Re:Kumba ya? (Score:4, Interesting)
All credit to RMS for the license and making projects use it, but the projects themselves succeeded because they're run by people like Linus. The GNU Hurd failed and the GCC was upsurped by the EGCS fork and then conveniently renamed back to GCC after the FSF admitted their project was going nowhere. There's really no support for RMS or the FSF being good at running large projects, they implemented a lot of the command line tools and other simple things but their large projects flopped. If I was to take advice on running projects I'd listen to Linus any day.
That said, I think he's a little bit colored by developing a kernel and running servers where stability is a lot more important than in many other areas. On the desktop it's not that useful if I have a desktop that doesn't do what I want, no matter how stable it is at not doing it. I'm willing to be on the bleeding edge from time to time, as long as there's good communication on just how unstable it is (KDE4, I'm looking at you...)
Re: (Score:2)
"There's really no support for RMS or the FSF being good at running large projects"
The problem is simply because in the society and age we live people still have to work (make money) for a living. So large projects become unfeasible unless you are already rich (see: canonical).
http://www.canonical.com/ [canonical.com]
That and the tools for modifying software and making it still by and large are arcane and not complex enough to offload more everyday design tasks to automation so that users can design their own software. W
Re:Kumba ya? (Score:5, Informative)
Torvalds was always more pragmatic than Stallman. And Stallman is getting more out of touch with reality, not having programmed the last 20 years.
If you're trying to say Stallman is a weirdo, I agree, but there's no need to insult the good man.
Besides that, you don't know what you're talking about. His last commit (at the time of writing) to the emacs source repository was less than a month ago:
http://git.savannah.gnu.org/cgit/emacs.git/log/?qt=committer&q=stallman [gnu.org]
Re: (Score:2)
Bite my ass, faggot. vi rules!
Re:Kumba ya? (Score:4, Interesting)
How is he out of touch with reality? Really, an explanation would be handy to go with the accusation.
Re: (Score:2)
His my way or the highway outlook on software license, for one.
Re:Kumba ya? (Score:5, Insightful)
1) Money-oriented: Larry Ellison, Bill Gates
2) Technology-oriented: Linus Torvalds, James Gosling
3) Socially-oriented: Richard Stallman, and... not many others in this arena
If you judge people in one group by the values of the other, they seem deficient. Torvalds failed to capitalize on his success. Ellison is a bastard. Stallman's head is in the clouds. But they are at or near the top of their own games.
eMacs? hasn't he finished that yet? (Score:1)
You're sure he's not part Indian?
Re: (Score:2)
He edits emacs the way anyone else edits their .cshrc file.
In fact, I think that's how he started.
Only difference is his edits show up in git.
Re: (Score:2)
- He doesn't use a web browser and has no knowledge of what the web is
- He only hacks on Emacs because he uses it as his email client
- He wasn't the least bit involved with the GPL 3 license which I would attribute most of the credit going to Eben Moglen
- His black & white attitude to software
- His unreasonable attitude which most of the time harms his cause more then helps
- His bum like lifestyle which although in the 60s would have been commended now only detracts from his causes
- The fact that he att
Re: (Score:2)
You sound like a guy who is unhappy with the fact that someone you for some not very rational reasons don't like is compassionate about and successful with something he does, so you look for completely unimportant details to smear him.
Re: (Score:2)
Not at all, my concerns are totally to do with how he holds back the FSF by being it's leader.
Where was he when campaigning on anything at all recently? Where was he through the whole GPL 3 process? What has he done to encourage more people to pick up free software recently? How many interviews has he turned down because he insists that the interviewer calls linux, "gnu/linux"? Don't mistake the successful actions of the GPL 1 and 2 from decade prior as the success of today.
You might not think this is impor
Re: (Score:1)
Not at all, my concerns are totally to do with how he holds back the FSF by being it's leader.
Free Software Foundation is as much a political group as anything, they need someone who can be rational and related to which can campaign on important issues. His PETA approach to software just discourages more people then it encourages. Instead of taking a positive approach to free software ideals they've gone on the offensive which we all know that it just results in everyone ignoring you. His child like behaviour, poor attire and refusal to join the internet of today is something which holds back the FSF in terms of encouraging free software ideals to a much wider audience.
If you think RMS does not know his position is radical, then you need to remove your fingers from your eyes and ears. On multiple occasions when he came to France and i could listen to him, he mentionned that and replied that his goal is NOT to be the newcomer's first help to Free Software - but rather the hypothetical, utopian goals the Free software should aim for, in order to keep going in the best direction. Other organizations do have a more practical and easier approach, and do that much better.
Re: (Score:2)
Weather he knows it or not is irrelevant. He's doing more harm to the free software movement then good and shouldn't be in the position of leader of the FSF for the reasons already stated.
Re: (Score:2)
LingNoi answered it instead of me. My addition would be that we still have "linking" mentioned in GPL. How is that relevant for Java/C#/Python/Ruby projects?
1, expecting all software to be free is being out of touch with reality in my book
2, expecting people to use subpar software just because of licensing (see multimedia; has the FSF had any multimedia project ever?)
3, he said he's fine with paying for services, while Software as a Service was already in full swing
Re: (Score:1)
1, expecting all software to be free is being out of touch with reality in my book
The same thing certainly was said in 1750 about all people being considered equal before the law.
Re: (Score:2)
That sounds fine and dandy until you want to move out of your mom's basement.
Re: (Score:1)
Some people try the impossible and stupid, and ultimately it's for later generations to judge their success. When Stallman started FSF, today's state of free software appeared out of touch with reality
Re: (Score:2)
I understand that Stallman and Linus, and the Red Hat emplyees can make a living out of it, but most people can't. There are very few FOSS jobs, and even promising projects (e.g. Synfig, or Pencil) can't get enough donations to keep it going for the developers as a full time job. (And these only survive because people do it on their free time/in their parent's basement etc.) There's no universal business model for FOSS, on the other hand there's an universal business model for proprietary software.
Re: (Score:1)
So? You are free to pursue the short-term advantages. This does not mean other people with different goals in mind are out of touch with reality. They just have different priorities (when FSF, Linux, and RH were young, they could not make a living out out it).
Re: (Score:2)
Just because some people win the lottery, it doesn't everyone can win the lottery at the same time if they try hard enough.
Re: (Score:1)
Whatever dude, it's your life, and theirs.
Re:Kumba ya? (Score:5, Insightful)
Stallman is more in touch with reality than most people. Imagine where BSD could have been now without the constant rape and pillaging of it? The reason it flunked is purely because of the license and that nobody ever gives anything back to the BSD community.
Had Linux been based on the BSD license it would never have taken off like it did.
Re: (Score:3)
Re: (Score:1)
There are an enormous amount of products that build upon BSD but sadly very few ever gives anything back to the original. The same would be true for Linux had it been licensed under a BSD license.
The X window system is a great example of where numerous corporations take what they want without giving much of anything back. Imagine where it would be now if Apple would give something back for all the code they get for free?
BSD is not dead and im not saying it is, i just think it would be a lot bigger if it had
Re: (Score:2)
Name one piece of software which is used by Apple that originally was released with a BSD license that Apple has not subsequently released their modifications of.
Re: (Score:2)
>Frankly, if we had any principles, we should abandon linux (the kernel.) That guy is an amoral bastard. I shiver thinking what he could do with political power...
Don't sweat it. We can always fork Linux if we think the leader of the project tries abuse his powers. He has nothing but reputation to leverage. I suspect he's ok, but at th end of the day, it doesn't really matter.
Re: (Score:2)
Re: (Score:2)
Linus is agreeable and works well with others
Thanks for the laugh. He's abrasive and cocky when it comes to disagreements. Just google for: linus asshole. There are plenty of public examples on the Linux Kernel Mailing List and elsewhere.
He still manages to get people to work for him, though, so at the end of the day he's successful.
Re: (Score:2)
Re: (Score:2)
Is it abrasive and cocky or just straightforward and experienced?
The former. There's no reason in a technical dispute to call people idiots and morons, even if you are right. And if you're wrong, well now you're going to find it very hard to back down.
Your claims that he's "agreeable" is just a joke. He's abrasive, dismissive, and arrogant. There are smart, technical people who don't come across this way when disagreeing. Linus is not one of them.
Re: (Score:2)
That same sentence, written about Bill Gates, would make a lot more sense. At least there are no ruined companies in Torvald's wake. Embrace, extend, extinguish, anyone?
Re: (Score:2)
I think you're both full of feces. I've never seen a box to check regarding my party affiliation when making a donation to any OSS project.
Re: (Score:2)
Giving to charity is the box.
Giving to candidates is not.
Re: (Score:2)
Linux has been my primary OS for over a decade, and I love it!
However, it has never been considered a well-managed project.
The well managed part is the distros, which keep everything in line.
Linus even required the use of proprietary tools to participate! That continued for a long time. Yikes.
Re: (Score:3, Interesting)
Seriously, I got flamed a few weeks back for calling Linus the John Carmack of OSS (which is to say someone who did something revolutionary at one time, but has since mostly been riding reputation, rather than continuing to produce at the same level as in the past.)
Between the FSF and Linus there's been a continual cycle of breakage in APIs and ABIs across the system that make managing the software yourself without some form of package management and toolchain management basically impossible. Combined with
Re: (Score:2)
Took the words out of my mouth. In TFA Linus talks about how proud he is to not break things for users by misguided code improvements, and my first thought was, "Wait, what about glibc?" Fiasco.
I guess coders aren't users, then?
Re: (Score:2)
Linus doesn't write glibc. Glibc is expected to have to respond to kernel changes, and Linus actually discusses changes which will affect glibc before they are released. You are a fucktard. Go kill yourself.
Re: (Score:2)
"Why else would anybody want to contribute to an open source project"
Scratch your own itch, of course.
It is not as if it were difficult to answer.
Now, next?