“There are a lot of reasons why people make their code open source. I believe that one of the strongest original motivations has often been overlooked. Our hagiography tells the tale of how it all started with the quest for software freedom. But contemporaneous with Richard Stallman’s story, other people were taking the same path (releasing source code) for a very different reason: the architecture of Unix.”
didn’t start in the 80s. It started 20+ years earlier.
Software developers have been making source code for software available since the first FORTRAN compiler was passed around in the late nineteen fifties.
The “explosion” of open source in the 80s was due to Unix, but not for the reasons Tim cited. It was due to the dramatic improvement in portability that came about because of the widespread use of C. But more than that, it was about the dramatic improvement in ease of access that came about because of the internet.
A large amount of Unix software was shipped in binary format. One of the make-or-break deals for more than few Unix vendors was whether or not they could get key applications developers to port to and maintain for their distribution. On the other hand, one of the key product differentiators used by Unix vendors was the availability of certain aps only on their platform.
From the summary: “Our hagiography tells the tale of how it all started with the quest for software freedom.”
A tale indeed. No matter how much the world could thank people like RMS (and I personally have great respect for the man), it’s just 1 possible explanation of why people share source code. I’ll give you another: because it’s a natural thing to do.
Let’s go back in time, to when the first mainframes appeared in places like universities or big businesses. Incredible complex machinery (for its time), and many, many new, not yet encountered problems to overcome. Like killing a real living bug to restore the function of a keyboard. Primitive stuff like that.
Now in that environment you get something working: the first full screen text editor, the first spreadsheet, the first Pong-like game, etc. What do you do? Sit on it, in “The code is mine! Don’t steal it!” style? Ofcourse not: you’re gonna want to show it off, show your colleages/fellow students/friends what you’ve just accomplished. The code itself isn’t very relevant. Just what it makes the machine do, and how it does that. In such an environment, sharing code feels natural. For example: think of home-brew BASIC listings published in computer magazines.
Compare source code (today) with the knowledge of how to make fire (in prehistoric times). With that knowledge, many businesses today seem to think they get their advantage by knowing how to make fire, while competitors not (yet) know how to do that.
I think that’s wrong. Once you know how to make fire, share that knowledge. When you do, you still have the advantage. Because when fire is the new thing in town, by the time everybody knows what it is, the first firemaker has moved on. Knows what are good fuels (and what not), how to use it to heat a house, boil water or cook food with it. As long as you keep innovating, you automatically have an advantage in *some* area. Ultimately, making money from that is just a matter of being better than anyone else in *some* area of expertise. You don’t need to lock away source code to stay ahead in ‘your’ part of the market – just keep innovating.
Back to the future: between the extremes of factory-builtin operating systems and web-services, I see a nice middle ground: throw-away software. Basically: store your data wherever you prefer, and when you do something with it: download a piece of software, let it do its thing, and throw it away.
Need a picture resized? Download a ‘resize-picture-thingie’, have it resize your picture, and throw it away. Next time you need it, it may still live in a cache, there may be a new version, or there may be another ‘picture-resize-thingie’. It doesn’t matter as long as it does the job (well enough). I can’t escape the feeling that many people already use their computer this way: install some random program to do a rarely done job, use it for a short time, then uninstall.
Remember: data is big, code is small. In today’s networked world (and with some smart caching), a system that streamlines this process could be very succesful. And: when the exact content of such code snippets becomes less and less relevant, there’s little reason *not* to share them.
> Compare source code (today) with the knowledge of how
> to make fire (in prehistoric times). With that
> knowledge, many businesses today seem to think they get
> their advantage by knowing how to make fire, while
> competitors not (yet) know how to do that.
Neither of us can give an answer, but I’d bet that those who knew how to make fire *did* keep it a secret to gain advantages.
> I think that’s wrong. Once you know how to make fire,
> share that knowledge. When you do, you still have the
> advantage.
This is plain wrong. The advantage was not that you knew how to make fire, but that you were the *only* one who knew and thus people depended on you.
Think about it: If everyone including you knew how to make fire, then… you could make fire. If you were the only one who knew, then you could make fire *and* trade it in exchange for food, clothes, sex, tools, and the help of people who had other valuable skills. You could do so because those people really needed fire to survive a cold winter.
It isn’t a UNIX thing, it’s more a having-an-engineering-background thing. UNIX is just the fad from the latest quarter-century. 🙂
Comparing open source today to sharing code 25+ years ago isn’t a really good comparison. There wasn’t a whole lot of money to be made just from software back then. Machines and languaes were also different enough that porting code wasn’t exactly feasible without an entire rewrite anyway. When programming languages and operating systems became more standard, it allowed software distribution to become a viable business. Keeping the code closed ensured that competitors didn’t steal your tricks. End users didn’t care much because they knew little about the workings of the software anyway. RMS and others wanted to know about the inner workings and were exactly the type of people that could benefit from open source. As computers gained popularity more and more people could actually benefit from open source and therefore more and more people advocated and produced OSS.
Free software actually was a new thing when it arrived because the software landscape was entirely different from previous generations. We didn’t end up with OSS because it had been done before, we ended up with OSS because someone, namely RMS, made it happen. Credit where credit is due.
Comparing open source today to sharing code 25+ years ago isn’t a really good comparison. There wasn’t a whole lot of money to be made just from software back then. Machines and languaes were also different enough that porting code wasn’t exactly feasible without an entire rewrite anyway.
There was a lot of money made ‘just from software’ back then. I made a good living in the 70s selling software to people. My rate for frelancing software in 77 would be about $200 these days, inflation adjusted. That’s a bit over the $175 that I charge now, when I’m freelancing, but I’m not greedy.
Some of us knew how to write portable code, in Fortran no less, in those days, and it wasn’t that much of a rewrite to move it from machine to machine. True, you had to be very careful with numerical algorithms, but that’s what they paid us the bucks for.
When programming languages and operating systems became more standard, it allowed software distribution to become a viable business.
You’re not aware of the large software-only companies from the 60s and 70s, I take it? There were more than a few companies making a lot of money selling software binaries to people.
Free software actually was a new thing when it arrived because the software landscape was entirely different from previous generations.
Every generation says their world is entirely different. It’s never true. The evolution from the IBM dominated landscape of the 60s and 70s through the Unix dominated landscape of the 80s and 90s to the Microsoft dominated landscape of today was slow.
We didn’t end up with OSS because it had been done before, we ended up with OSS because someone, namely RMS, made it happen.
I’m sorry, but I was there, and RMS didn’t make anything happen, except his version of emacs.
He didn’t set up any of the user groups like SHARE (which is still around) that shared software from the 60s on.
He didn’t set up any of the Usenet news groups like comp.sources.* where people were routinely handing out Unix software before he even got around to wanting to do his own OS.
He didn’t set up any of the FTP archives like Simtel.
He wasn’t the one who talked AT&T Bell Labs into licensing the source of Unix to academics for $50.
He had nothing to do with UCB or BSD Unix.
He wasn’t a player in the design, implementation, or promulgation of the Internet, which made the collaboration of geographically dispersed programmers easy andd the distribution of source cheap.
He didn’t even do the first free widely available C compiler.
Give Richard credit for the GPL, one of several dozen open source languages, and for GNU Emacs, my favorite text editor, but don’t give him credit for either the current “open source” landscape, which is due far more to internet, academia, and Bell Labs than it is due to RMS.
Larry Wall probably deserves more credit with respect to jump starting the current “open source” movement than RMS does, because Larry wrote patch.
There was a lot of money made ‘just from software’ back then.
You’re missing my point. There may have been a lot of money to be made individually but it wasn’t the industry it is now. Computers just weren’t popular enough to make that kind of money as an industry until personal computing made it big.
You’re not aware of the large software-only companies from the 60s and 70s, I take it? There were more than a few companies making a lot of money selling software binaries to people.
Who were the end users? They were Government, big business, and the like. Who were the vendors? They were much more specialized, with a lot less overlap, and a lot less to worry about when it came to competition.
Every generation says their world is entirely different. It’s never true. The evolution from the IBM dominated landscape of the 60s and 70s through the Unix dominated landscape of the 80s and 90s to the Microsoft dominated landscape of today was slow.
I think you are blind if you think that the computer industry is anything like what it was 25+ years ago. Computing has progressed rapidly in the last half century and doesn’t even remotely resemble the computing landscape of the 60’s and 70’s. In fact you would be hard pressed to find anyone who predicted that we would be where we are at today with computers. Most people thought it was foolish to have computers in every home, nevermind two or three.
I’m sorry, but I was there, and RMS didn’t make anything happen, except his version of emacs.
Oh really? You can’t even accept the fact that GCC has been one of the most major contributions to free software ever. Maybe you really are blind to what has been happening to software over the years.
He didn’t set up any of the user groups like SHARE (which is still around) that shared software from the 60s on.
Get real. Can you honestly say, with a straight face, that groups like SHARE had/have more of an impact than GPL software? Do you think we would be where we are at with SHARE and without the GPL?
He didn’t set up any of the Usenet news groups like comp.sources.* where people were routinely handing out Unix software before he even got around to wanting to do his own OS.
If you read my post entirely you would see that I addressed that already. Sharing software years ago is not even close to the same as the Free Software movement. Call it precursor or an instigator to modern day Free Software if you want to but it isn’t the same.
He wasn’t the one who talked AT&T Bell Labs into licensing the source of Unix to academics for $50.
You’re right. He licensed his work for free to everyone under the GPL.
He wasn’t a player in the design, implementation, or promulgation of the Internet, which made the collaboration of geographically dispersed programmers easy andd the distribution of source cheap.
I never said he did. In fact while it may have been a necessary precursor to get to the point where we are at today, Free Software didn’t just spring up from nothing because of the internet. In fact RMS used to mail people copies of Emacs.
Larry Wall probably deserves more credit with respect to jump starting the current “open source” movement than RMS does, because Larry wrote patch.
Patch is important but giving more credit to Larry Wall for open source than RMS is a little ridiculous. GCC is a far more complex piece of code and the GPL is by far the most popular free software license. RMS’ inventions pervade almost the entire free software landscape.
You’re missing my point. There may have been a lot of money to be made individually but it wasn’t the industry it is now. Computers just weren’t popular enough to make that kind of money as an industry until personal computing made it big.
Actually you’re missing the history. Thumb through any issue of Datamation from the 70s through the 80s. The money was there, but it was from software sold to commercial users, not from personal computing.
I think you are blind if you think that the computer industry is anything like what it was 25+ years ago. Computing has progressed rapidly in the last half century and doesn’t even remotely resemble the computing landscape of the 60’s and 70’s. In fact you would be hard pressed to find anyone who predicted that we would be where we are at today with computers. Most people thought it was foolish to have computers in every home, nevermind two or three.
I think you’ve confused “computing” with “hardware”. What has progressed in the last 25+ years is the quantity of computer power available for a given price.
25 years ago was 1981. I had three DEC LSI 11s at home and was using them to develop, among other things, Unix software written in C. A consultant I knew had a PDP 11/45 sitting in his basement and was running a data processing software business on it. He sold bookkeeping software and services. I had written and made source available for a relational database, which was distributed via magtape. Even then, what we were doing was just an average part of the computer landscape.
Oh really? You can’t even accept the fact that GCC has been one of the most major contributions to free software ever. Maybe you really are blind to what has been happening to software over the years.
Bad example. Richard wrote the original version of GCC, at a time when there were several other C compilers available in source form. Many non-FSF people contributed to ports to other systems, but eventually GCC stagnated. Then the EGCS project split off and GCC was revitalized, outside of FSF.
If GCC hadn’t been written, one of the other portable C compilers that was already floating around would have gotten all of that attention, instead.
But Richard was just following a very old tradition. FORTRAN became widely popular in its early days because of a freely available FORTRAN compiler. LISP implementations were available since the early 60s. FORTH was always source available. There was a portable PASCAL compiler (in Pascal) with source available in the 70s.
Free Software didn’t just spring up from nothing because of the internet. In fact RMS used to mail people copies of Emacs.
Of course not. free software sprang up from nothing because 7090 users made their Fortran compiler available to each other.
Mailing people copies was something that a lot of people were doing at the time. Actually, other than the “must redistribute source” restriction in the GPL there’s nothing RMS did wasn’t already being widely done.
GCC is a far more complex piece of code and the GPL is by far the most popular free software license. RMS’ inventions pervade almost the entire free software landscape.
Richard didn’t “invent” C, or gcc. He implemented the first version of gcc, basing it conceptually on existing work in retargetable compilers. It wasn’t a very good implementation. He had a huge amount of help.
Fortunately, people who knew something about retargetable compilers rewrote it. Then people who knew something about optimization rewrote it. Now, people who know something about optimization for modern processors are rewriting it yet again.
If you want to credit someone for how widespread gcc is in open software, credit Dennis Ritchie. Actually, since GNU/Linux is just another Unix clone, and none of this stuff would have been available had the source for Unix not been made freely available, by the reasoning your using about ubiquity, Dennis Ritchie deserves all the credit.
Richard did his bit. He wrote the version of emacs that lasted, he wrote the first version of gcc, and he added the idea of “must redistribute source” to an open source license. Those were evolutionary steps in the ongoing growth of open source software.
But the blindness here is not seeing those small steps in the larger, fifty year history of freely available software.
I screwed up the reply. Comment below…
Edited 2006-08-09 15:40
“We didn’t end up with OSS because it had been done before, we ended up with OSS because someone, namely RMS, made it happen.”
RMS didn’t create open source, he created the GPL but the GPL was not the first open source license.
“Credit where credit is due.”
Indeed, and we can credit RMS for a lot of things but creating open source isn’t one of them.
It bothers me that so many people equals open source with the GPL.
RMS didn’t create open source, he created the GPL but the GPL was not the first open source license.
I didn’t say the he created open source in general but his contributions have made open source what it is today. I don’t think we would have the landscape we have today without him. Take away all the GPL software and see what you are left with.
Indeed, and we can credit RMS for a lot of things but creating open source isn’t one of them.
It bothers me that so many people equals open source with the GPL.
It bothers me when people want to lump the GPL in with everything else like it is some kind of minor development just because it wasn’t the first OSS license. It has made a much bigger impact than any of the other licenses.
I didn’t say the he created open source in general but his contributions have made open source what it is today. I don’t think we would have the landscape we have today without him. Take away all the GPL software and see what you are left with.
Probably very little difference. One of the other C compilers would have been the basis of the common tool chain. A lot of other projects would be BSD licensed but pretty much in the same place as they are now. RedHat and Novell would be selling distros based on BSD instead of GNU. Apache would still be under the Apache license. Larry Wall would have still written and made PERL available, leading to Ruby and Python. et, cetera
It bothers me when people want to lump the GPL in with everything else like it is some kind of minor development just because it wasn’t the first OSS license. It has made a much bigger impact than any of the other licenses.
It bothers me when people make the impact claim, since if there hadn’t been a BSD there wouldn’t have been a base for Stallman to start from so there wouldn’t have been a platform for all that GNUware to have been developed on.
You can make a better case that the most important aspect of the current open software landscape is the delay in the UCB/AT&T settlement, since Linus says he wouldn’t have started on Linux if that had been settled earlier. Without a Linux kernel, there’d be no GNU platform and all of that energy would have gone into BSD instead.
Probably very little difference. One of the other C compilers would have been the basis of the common tool chain. A lot of other projects would be BSD licensed but pretty much in the same place as they are now. RedHat and Novell would be selling distros based on BSD instead of GNU. Apache would still be under the Apache license. Larry Wall would have still written and made PERL available, leading to Ruby and Python. et, cetera
That entire paragraph is full of assumptions. If BSD could have created the kind of free software landscape that we have today then why isn’t it nearly as big as Linux is today? After all, BSD has been around longer.
It bothers me when people make the impact claim, since if there hadn’t been a BSD there wouldn’t have been a base for Stallman to start from so there wouldn’t have been a platform for all that GNUware to have been developed on.
You could say the same thing about anything involving computers. They are evolutionary, so without having an OS to target obviously you couldn’t create free software to run on it. That’s not a real argument. My argument is that RMS is responsible for the free software environment that we have today more than anyone here is giving him credit for.
You can make a better case that the most important aspect of the current open software landscape is the delay in the UCB/AT&T settlement, since Linus says he wouldn’t have started on Linux if that had been settled earlier. Without a Linux kernel, there’d be no GNU platform and all of that energy would have gone into BSD instead.
That’s a commonly held belief with pretty much no merit. At worst we would be using GNU with a BSD kernel.
Why does no one want to admit that the GPL license itself had quite an effect on shaping the open source landscape? The GPL forces all software vendors to share code. Code development progresses much more rapidly than BSD licensed code because most vendors don’t want to share code and they won’t if they don’t have to.
with the Scientific community – they shared info and built on each others ideas.
Code just became another string to the scientific sharing ethic
All that pondering resembles what I get when talking about science.
There are a lot of devotee of one great scientist or another. It is OK, most of them were really very, very smart, but when they argue that without this or that specific scientist we could not get where we are I have to disagree.
Yes, could had take more time, but the progress, watched as a whole, is an unstoppable process. Once it starts, usually by something was needed, didn’t fit well or was a kind of “if it” exercise, most of times something little, sometimes by someting that at first sight seemed little, is not a question of who but when.
Read the history of science and get conscious about how many times the same thing were developed almost at same time by two or more independent scientists or were rediscovered a bit later because the first ‘hit’ was unknown.
I’m not trying to lower the value of the innovation or discovering, far from that, but instead to put it under the perspective of human being knowledge development.
I have a lot of respect to RMS and his achivements, as I have to what Dennis Ritchie and the guys of Bell Labs did. I even think that GPL2 is the most valuable open source license, but, as Cloudy was pointing out, if I understood it, the whole process started way before RMS. The same could be applied, at some extent, to the Relativity or Quantum Theory or anything else.
You could arque that some things could be a bit different, like driving cars with right wheel, use another language (even computer language) or even play cricket instead of baseball (sorry, couldn’t resist). Really, it doesn’t matter that much because, after all, the most important things are the ideas behind and not the way we use to communicate them.
“Take away all the GPL software and see what you are left with. ”
We’re left with the BSD’s, Apache, XFree, Xorg, Perl, Python, Ruby to name but a few.