Linus' Lessons On Software Dev Management
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.'"
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).
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 capitalists can not help but contributing, since it is in their shorter term self interest. But the day will come when the people will truly be masters of the world, each and every one and computing will be a significant part of how we will do it.
Sincerelly,
Future person.
~
~
(Or did I dream it?)
Breaking the user experience in order to ‘fix’ something is a totally broken concept; you cannot do it.
But if the architecture of a piece of code (a small portion of the product, let's say) is broken, then you might not be able to sustain continued feature development. Refactoring will be *almost* (wiggle room) essential, and that *may well* (more wiggle room) break compatibility in some corner cases.
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...
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
How is he out of touch with reality? Really, an explanation would be handy to go with the accusation.
His my way or the highway outlook on software license, for one.
Gone!
>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.
Some of my favourite people are from th US; Vonnegut, Chomsky, Bill Hicks.
You're sure he's not part Indian?
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.
HTTP/1.1 400
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*
This is my sig. There are many like it, but this one is mine.
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.
Have gnu, will travel.
A couple of weeks ago there was a story about a MS exec joining the Obama administration. Also Bill Gates gives most of his contributions to Democrats. Al Gore sits on Apple's board. When you use Linux, you cut into proprietary software's profits, leaving less money to contribute to Democrats, which helps Republicans.
So in short, Torvalds was always a Republican.
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...)
Live today, because you never know what tomorrow brings
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.
I thought that was what open source was all about, kumba-ya. Why else would anybody want to contribute to an open source project and get nothing in return except for some warm fuzzy feelings.
Of course, people like Linus are counter-open source, they get paid to produce largely closed code (yeah, try and change Linux kernel code, see how far you get putting that back into the community with Linus around).
I don't know there are plenty of successful projects with a BSD or MIT licence. Nobody could keep up with Linux today in a proprietary sandbox. It's the fastest changing codebase in the world. The type of money required to one entity to out-develop linux would be astronomical. The X windows system is still alive even though historically people have tried to make proprietary spinoffs. Also BSD is far from dead, it just has a lot more of a conservative design philosophy which means it is deployed where long term stability is more important than cutting edge features.
“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.
I call it 'The Aristocrats'
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.
Actually amoral might just be what's needed in a politician. Just do what achieves the most with the least amount of effort. Linus is agreeable and works well with others, which when you want to get things done is a more important trait than whatever your take on morality is.
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 a variety of gotchas in compiler/library options which can make your just updated system incompatible with the previously compiled binaries (rare today, but a common occurance when going from 2.0->2.1->2.2->2.3 series glibc, nevermind gcc 2.8.x->2.95->2.96->3.x->4.x compiler toolchains. Added to the old MAKEDEV->devfs->udev fiasco and you have a mess that's only been overlooked because almost nobody bothers to do it themselves, instead relying on distro maintainers to make sure packages JUST WORK, even when they really don't.
As someone who has been trying to put together legacy toolchains for the past few weeks to try and see how legacy code works, let me just say it really sucks ass.
"We"? Why would anyone care what you think about the subject?
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.
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 either way. He regularly calls people (and their patches, or even their methods) "stupid." Any tool that he doesn't use or didn't design is classified as pointless, or brain-dead, regardless of whether it fits someone else's needs just fine.
You don't have to very far to see this in action: http://lkml.indiana.edu/hypermail/linux/kernel/1109.2/author.html
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?
"Windows is like the faint smell of piss in a subway: it's there, and there's nothing you can do about it." - Charlie Br
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.
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?
...seriously, we get it that you don't like CVS.
Advice: on VPS providers
Is it abrasive and cocky or just straightforward and experienced? I did do the Google search and found nothing that can be labeled as asshole. Some of it may not be the most tactful expression, but it is reasoned out and technically oriented which is what hacker-types tend to like. I don't think that saying that something is stupid is being an asshole. Your only an asshole if you can't give a good account as to why it's stupid. If you get offended simply because someone calls your idea stupid then you may be a little too wrapped up in the idea.
I don't think tools are all that fundamentally important.
Perhaps it would be more accurate to say "the unimportance of tools".
Have you read my blog lately?
"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/
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. We do not yet have sophisticated enough tools where end users can actually modify their software easily without having to be programmers. One day we will get there but it's decades and even possibly a century away.
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.
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.
I'm surprised he did an interview at all. Who does he think he is? God?
I can see why you'd say that.
-- LT
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.
I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
- 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 attempts to play "1984" games by rewriting history to make it look like he is the sole reason open/free software took off
These aren't a big deal when looked at by themselves (so please don't bother replying with a breakdown of my points) but when combined you begin to realise that this guy has no idea about the open source environment of today. How can he lead the FSF and encourage more free software advocates when the guy is so far removed?
It's time for him to step down and someone who understands the problems of today step up to lead the FSF. My vote is on Eben Moglen who has already proven himself as a respected member and is a great speaker.
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!
Democracy is for the people; you only vote once per season and we'll do the rest of the work for you don't have to.
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.
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 important however he is the leader of the FSF, if he doesn't want to be successful at that anymore then he should step down so someone better fitted for the title can step up.
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.
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 been under a license that demanded something in return for the free code, something less leech friendly.
HTTP/1.1 400
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.
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.
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.
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.
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
OK, s/programmed/programmed anything useful/
Really? Now you're just being an ass.
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 Kolivas. I could have used Michael Crichton instead to convey the idea, but of course that's not a perfect fit either and is never meant to be.
The entire problem IMHO was lack of understanding and an expectation of getting respect despite that.
It is undeniable that at the time he didn't have the experience in some important areas as that of an average recent computer science graduate and I wish you would not pretend otherwise in order to make some sort of stink about it and pretend it was a big issue instead of a trivial one.
Once again "newbie" was used as shorthand for somebody new to a field and we are all that at some point so that was not meant to be insulting either.
That's why Linus made the "eat your own dog food" comment in the first place! Without that and his ruffled feelings for being treated as if he was new to the area (which he was) there is really nothing to the issue at all! You are making the mistake of pretending that you are Con Kolivas and taking things personally and possibly assuming that Con has portions of your background in CS that he does not. He is a different person and earned his confidence from his undeniable ability in a different field but it doesn't carry over.
In other words one that actually works!
Bite my ass, faggot. vi rules!
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
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.
"When I first heard Daydream Nation it quite frankly scared the living shit out of me." -- Matthew Stearns
That sounds fine and dandy until you want to move out of your mom's basement.
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
"When I first heard Daydream Nation it quite frankly scared the living shit out of me." -- Matthew Stearns
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.
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).
"When I first heard Daydream Nation it quite frankly scared the living shit out of me." -- Matthew Stearns
Just because some people win the lottery, it doesn't everyone can win the lottery at the same time if they try hard enough.
Whatever dude, it's your life, and theirs.
"When I first heard Daydream Nation it quite frankly scared the living shit out of me." -- Matthew Stearns