I'm going to talk about four aspects of free software
So, I'm going to start my little story about free software with a computer called the DEC PDP-6. This was a machine created by the nice people at Digital Equipment Corp and was co-opted by major universities to make video games.
Well, and a few other things too. But in particular I want to talk about the MIT AI lab and the culture around it. There were geeks at MIT long before there were computers at MIT, and they congregated in the Tech Model Railroad Club, which was known for building intricate model railroads, and here they are hooking the trains up to a PDP-1 (an older version of the PDP-6) but they were also known for such admirable activities, such as learning the beeps and bleeps that pay phones use to authorize calls and playing or singing them back into the phone to get free phone calls.
The tmrc was also known for inventing really clever ways of lock picking, really clever ways to break into places, and also writing really clever computer software.
So, that's the environment that this guy sort of wandered into. Does anyone know who this is?
Right, he's the guy who wrote the reading for this week. Raise your hand if you did the reading.
OK, can anyone tell me who Richard Stallman is?
Yes, so he was a physics undergrad at Harvard who fell in love with this hacker culture at MIT, which by the time he got there was no longer really the model railroad club, but the AI Lab.
The source code for the operating system (what little there was) was freely available. I should say code in this case is the recipe for what the computer is supposed to do, and it's not important what these mean but you have to compile it, and then run it, and then you get to see what happens.
if (users_is_frustrated) {
Show.BlueScreen(); die();
}
So back on the PDP-6, you could go to DEC and ask them for the source code, and they'd give it to you. And this is what we mean when we say open source. So people would write their own add-ons and customizations and if anyone wanted access to those, they could have them too. And no one made a big deal about whether software was free, because it just was.
But then one day this guy from Carnegie Mellon named Brian Reed who wrote a program called scribe which was actually pretty good, and he says it was kind of a precursor to HTML, but he sold it to a company called UniLogic who then charged people money and installed "time bombs" that caused the software to expire and everyone was like "whuuuu?"
But they ignored it, and fewer people used it than would have otherwise. You notice you don't hear much about scribe today. And the hackers at MIT moved on from the PDP-6 to the PDP-10. And it was good.
But then the PDP-10 was discontinued and in its place: lots of new machines like the VAX and they were all fancy new computers with fancy new operating systems. And the source code was available, but there was a catch. The catch was that if you wanted to use the software you had to sign an NDA.
This was not in line with the hacker ethic at MIT. They were used to picking things apart and then sharing the pieces with other hackers. It was a culture that was trying to erase boundaries not build them up.
Richard Stallman is pissed. There is cool new hardware out there, but he can't use it without comprimising his principles. This is about 1983 now, and he hatches a plan. He sends an email out to the UNIX newsgroups, announcing that he's going to create a new operating system and give it away for free.
And he does it. Or at least starts to. He writes a text editor called Emacs, a compiler GCC and a debugger called GDB, and these tools let him and his compatriots get started writing other stuff, all under the banner of the GNU project, which stands for GNU's Not UNIX. Which of course is a really geeky name because GNU is in the definition of itself, which is circular, but geeks like circles.
And while they were doing this, Stallman was refining his idea of what free software really is. He decided that there were four important freedoms for software.
So this highlights our first motivation for why people use free software. You have freedom to do whatever you want with your software.
And this forms the basis for Stallman's "General Public License" which is also known as the GNU GPL. It has all of these four freedoms... but with an interesting twist. You can redistribute the software (changed or unchanged) but only if you agree to pass on the same freedoms to the people you give it to.
So is that total freedom?
Other licenses like the BSD license and the MIT license don't have this clause, and it allows companies to take that code and use it in their products.
So a small band of motley software hackers writes software for 10 years. Some of it is quite popular in the UNIX world, but they fail to deliver the most basic piece: the kernel. And a little company starts selling a proprietary operating system and a bigger company starts putting it on personal computers, and a third company makes a personal computer that actually works, and the free software freaks are relegated to a tiny corner of history.
Well, not quite. In 1991 a finnish computer science geek sends a message to a mailing list announcing a pet project of his.
And this is Linux. It's freely available under the same terms that Stallman gave his software away, and it's that important little piece of the OS: the kernel. There's a big difference in philosophy here. Richard Stallman says
I'm doing a free operating system.
Linus Torvalds says
I'm doing a (free) operating system.
So this reveals another motive that people have for participating in free software. Stallman wants to be free to do whatever he wants with his software, but Linus is more concerned with having fun stuff to hack on.
So Linux is released and more and more people start hacking on it and it gets pretty popular and pretty good, but another company releases a proprietary operating system (which basically just means it's not free, that you don't get some of the four freedoms I listed). And so a certain proprietary operating system catches on, and Linux is relegated to a relatively small corner of the market.
Let's fast forward a bit to 1998. The company that basically invented the web browser was basically being trounced by Microsoft, and they were desparate for a way to regain the market. So they made a desparate move.
They open sourced their web browser.
An interesting thing happened here. lots of people had access to the code, lots of people started using it, and they found out: it sucked. It was slow, it was buggy, and people complained, they filed bugs, and some of them were so annoyed with these buts that they just downloaded the source code and fixed the bugs themselves.
So this is another free software motive. Stallman wanted freedom. Linus wanted fun stuff to hack on, but a lot of contributors to free software just want to use good software that works. And the contribute code to help their software work better.
So that's about all the history I am going to go in depth on. I just want to run really quickly through some of the more recent open source history:
In the late 90's Oracle, IBM and Corel start supporting Linux.
Intel and Netscape invest in Red Hat, who was one of the first companies to be successful selling Linux
by 1999 Linux has a quarter of the server market and some small fraction of the desktop market.
In 2000 IBM devotes 1 billion dollars to supporting Linux
Sun releases Star Office under GPL
Half of the Fortune 2500 use open source software. a quarter in production
Wal-Mart starts selling Linux PCs
Dell starts selling Linux Servers
2004 - Novell buys SuSE and Ximian