Linus Torvalds: GPLv2 ‘A Big Part’ of Why Linux Spread, Companies Getting Involved ‘Hugely Important’

Trying to look at the bigger picture, Torvalds now thinks the period in early 1992 — when Linux switched to using the Gnu Public License version 2 (GPLv2) — was especially important. He recalls, “It wasn’t the original license, but I’m convinced it’s a big part of why Linux became so widespread. Not everybody loves the GPL, and I’ve had my own issues with the FSF [Free Software Foundation], but I do think the GPLv2 has been a huge deal, and people shouldn’t dismiss the licensing issues.”

He adds:

“I think the companies getting involved has been hugely important — and that may sound so obvious as to be trite and stupid, but some corners of the open-source community have been fairly negative to any commercial involvement.”

Read More:

Some Gr8 points from the Book – Just for Fun by Linus Torvalds

  • It takes design & good taste to be simple.
  • The act of delving into someone’s passion would be akin to “invading his soul”.
  • In the American version of the game, you draw the enemy lines and the skill rests on one side’s ability to be divisive. European politicians tend to win by demonstrating they can foster cooperation.
  • “FO OF” is the hexadecimal representation of the first two bytes of an illegal instruction sequence that made Pentium CPU lock up.
  • Golden Rules: Number One: “Do unto others as you would want them to do unto you.” If you follow that rule, you will always know how to behave in any situation. Number Two is “Be proud of what you do.” Number Three: “And have fun doing it.”
  • First Survival. Second your place in the social order. And then entertainment. The three things that make us do the things we do.

Linus says, “Start Small”

Nobody should start to undertake a large project. You start with a small _trivial_ project, and you should never expect it to get large. If you do, you’ll just overdesign and generally think it is more important than it likely is at that stage. Or worse, you might be scared away by the sheer size of the work you envision.

So start small, and think about the details. Don’t think about some big picture and fancy design. If it doesn’t solve some fairly immediate need, it’s almost certainly over-designed. And don’t expect people to jump in and help you. That’s not how these things work. You need to get something half-way _useful_ first, and then others will say “hey, that _almost_ works for me”, and they’ll get involved in the project.

And if there is anything I’ve learnt from Linux, it’s that projects have a life of their own, and you should _not_ try to enforce your “vision” too strongly on them. Most often you’re wrong anyway, and if you’re not flexible and willing to take input from others (and willing to change direction when it turned out your vision was flawed), you’ll never get anything good done.

In other words, be willing to admit your mistakes, and don’t expect to get anywhere big in any kind of short timeframe. I’ve been doing Linux for thirteen years, and I expect to do it for quite some time still. If I had _expected_ to do something that big, I’d never have started. It started out small and insignificant, and that’s how I thought about it.