Microsoft didn't really pioneer open source...did it?
Redmond (WA) - Last week, TG Daily reported on Microsoft’s new blog, called Port 25, produced by its own open-source software labs. Knowing exactly what I was doing, I opened last Friday’s story with this sentence : "In a strange way, Microsoft pioneered the concept of open-source software." This... well, provoked some responses, and we make it our business here to take learned and well-reasoned responses seriously.
Let’s examine the case level-headedly : In the late 1970s, Microsoft’s first products were BASIC interpreters, its "pioneering" product being the first (working) interpreter for the Altair 8800, a kit computer made popular after having been featured in Popular Electronics. In this era of microcomputing, when computers had yet to adopt the functionality of what might pass today for a remote garage door opener, the most useful software that could possibly have been created for a computer, would be a program that would enable other people to decide for themselves just what it is a computer could do. So a BASIC language interpreter enabled the first computer hobbyists to skip programming in binary, and adopt something that looked more like English.
What this enabled, perhaps for the first time in history, was for practitioners of a practical art form which had commercial implications, to meet together on an open playing field and share not only their ideas, but the logic behind them. At this time, Microsoft’s participation was more than passive. Rather than simply catalyze an industry, and then sit back and wait for it to evolve in order for them to assimilate it like a species from science-fiction, Microsoft participated in the creation of a new social endeavor, a mutual understanding among people of like motivation. At college campuses and computer shows, Microsoft - among dozens of other companies at this time, to be fair - actively promoted the practice of sharing programming concepts.
But wait a minute, say some of our readers, that isn’t really the same thing as "open source." One reader, whose screen handle is "cookie," responded to our article thus :
|I couldn’t even read the rest of your article after such a gross misunderstanding. Wow. If MS pioneered open source, the code for *their* BASIC interpreter would have been printed and distributed. That’s the difference so you’ll know it next time you write a bad article. MS had nothing to do with open source, and probably never will. As much as they try to play to the audience (like you, apparently), they still are not even a blip on the open source radar.
Open source is the scientific process that all sciences follow, like medicine, physics, and biology. It includes elements from the scientific method (eg. hypotheses, tests, conclusions), community contribution, incremental work, and, very importantly, peer review. Anyone, including MS, could review any part of the Linux kernel and/or other F/LOSS apps (and they probably do, I wouldn’t be surprised to find a good amount of F/LOSS code in MS products). How do I review any of MS’ code, including their BASIC interpreter that you falsely claim pioneered open source ?
Well, cookie, it’s a shame you didn’t read the rest of the piece, because I think it might have provided some context for you. Nonetheless, I believe the point you were trying to make is this : If Microsoft had truly been interested in the 1970s in creating something resembling today’s open source movement, then it would have been inclined to publish the machine language source code of its BASIC interpreters, for all Microsoft’s supported platforms (Altair, Apple II, TRS-80, IBM PC), enabling others to contribute and build onto them at will. Granted, there wasn’t a thriving Internet at that time (although its prototypes were fully operational), though there was a thriving community of programmers (the original "hackers"), many of whom traveled the country, and many of whom could very well have played a contributory role in such a system. So there’s some validity in your point.
However, the likelihood of Bill Gates and Steve Wozniak sharing their BASIC interpreter code with one another, and the rest of the world in turn, was obviously extremely low. This was the beginning of a competitive enterprise, and both of these individuals, among the other great programmers of the day (Gary Kildall comes to mind), knew that they were germinating the seeds of a new sector of the economy, more than the social circuit. While that might seem on the surface to disprove the original point - that Microsoft, perhaps even unwittingly, helped pioneer open source - let’s remember that the open source software industry is an industry, with commercial players and proprietary interests at stake there as well. As for all scientific processes being "open source" by nature, I have only two words of response : "pharmaceutical... industry."
Gary Kuhn dropped us a line to say the following :
|I hate to pop your balloon, but...
The open-source concept includes open improvability : you know how to improve the system because you know and can get to all of the system. You can even re-compile your open-source system if you like.
Well, open improvability was what Microsoft’s Bill Gates specifically prevented ! Here is an example :
You thought you could add voice recognition to BASIC ? You thought the standard INT 21 calls would let you load the keyboard buffer from Dragon System’s Voice 1000 ?
Well you were mistaken, because Bill Gates "himself" had screwed you. He overwrote the DOS software interrupt transfer addresses immediately when BASIC loaded. And replaced them on exit.
He did NOT give you open access to the INT 21 calls. He slammed the door in your face and SHUT YOU OUT.
If you want to give credit to BASIC for pioneering open-source, why don’t you give credit to GW-BASIC ? GW-BASIC duplicated Bill’s screw-you functionality and obeyed the DOS calls, opening BASIC to contributions from other sources.
And for this Mr "Himself" is the richest man in the world ?
MS was open-source my butt.
Thank you, Gary, for that image that will now be seared in my brain. I get the feeling that Gary had some negative personal experiences with implementing extensions to the BASIC interpreters of the first IBM PCs. If all closed architectures in engineering design could be attributed as personal statements by their designers directed to the rest of the world, then every time I walked into a modern kitchen, with its automatic ice makers that refuse to make ice, and sink faucets that provide infinite accessibility to the same temperature of cold water, I would feel mortally insulted.
But more importantly, the first IBM PCs were built after the period of time to which I was referring, by almost a decade. Still, Gary makes a good point : The open source concept, he says, implies "open improvability" - the notion that someone else can come in and not just build a new layer on top of one’s existing functionality, but improve one’s core functionality as well. This is probably a very valid point, and could very well distinguish today’s open source movement from the first computing conventions. However, I also believe that had it not been for the prototype provided by those first conventions, today’s open source movement would have been much slower to come to fruition.
At the end of last week’s article, we asked whether Microsoft’s motivation toward supporting more interoperability was motivated more by genuine interest in open source, or the need to defend itself against the legal firestorm with which it’s currently faced in Europe. François Cami wrote us with his opinion :
|My experience is that MS will *always* try to look like the nice guy while preparing to strike. A bit like XP looks like a polished OS until the first BSOD, by the way. Maybe this behaviour is so deep-rooted within Microsoft that they cannot act differently or ship products that work instead of pretending to. Anyway, my point is, while Microsoft is launching its Port 25 initiative with all due fanfare, this interview of S. Ballmer [from] Forbes gave me the confirmation that Microsoft had, in fact, not changed at all :
The reason why I do not think Microsoft will launch an all-out software patent war in the US against F/OSS in general, and the Linux kernel specifically, is that this may kill their efforts of making the EU adopt US-style patent laws.
In that Q&A, Steve Ballmer refers to Microsoft’s open source competition as "the other guy," making it clear that at least for now, open source has become the company’s "enemy of the week." Here, François makes a series of valid points, one of which concerns Microsoft’s competitive attitude, which I believe even Ballmer himself might agree with. But the company may have to maintain that open attitude - or, as many would argue, the appearance of one - in order to help maintain the rising tide of support among European regulators for more exclusive software patent laws. However ironic it may seem, the theory here is that Microsoft may have to maintain an appearance of cooperation with EU regulators, if it is to have any hopes of receiving cooperation from them in turn, on an issue which could be dear to Microsoft’s heart.
Finally, we received this response the other day from one of Linux’ founding fathers, Jon "Maddog" Hall :
Your article was published on April 7th, not April 1st.
In addition to the fact that "Free Software" was practiced as early as 1969 when I was a student at Drexel University, I will point out Mr. Gates’ now famous letter chiding people for giving away copies of "his" Basic Interpreter because he "wanted to make money on it".
Your analysis does not hold water.
Every movement in the history of human endeavor is plastered with documents that serve either as manifestos which bring its members together, or as declarations of war which rally the human spirit to action. For open source, one of the latter group is a 1976 letter written by Bill Gates, back when "Micro-Soft" had a hyphen and corporate headquarters was in New Mexico, which is offered by many as proof that the man - or, more literally, the boy - had exclusive capitalist interests from the very beginning. It’s known today as simply the Open Letter to Hobbyists, and it’s a plea from this then-unknown, almost bankrupt, author of BASIC interpreters to the folks who were attending those first conferences, to please refrain from sharing the source code of the interpreters themselves.
Here is a key excerpt from that memorable letter from a bygone era :
|The feedback we have gotten from the hundreds of people who say they are using BASIC has all been positive. Two surprising things are apparent, however, 1) Most of these "users" never bought BASIC (less than 10% of all Altair owners have bought BASIC), and 2) The amount of royalties we have received from sales to hobbyists makes the time spent on Altair BASIC worth less than $2 an hour.
Why is this ? As the majority of hobbyists must be aware, most of you steal your software. Hardware must be paid for, but software is something to share. Who cares if the people who worked on it get paid ?
Is this fair ? One thing you don’t do by stealing software is get back at MITS [the manufacturer of the Altair] for some problem you may have had. MITS doesn’t make money selling software. The royalty paid to us, the manual, the tape and the overhead make it a break-even operation. One thing you do do is prevent good software from being written. Who can afford to do professional work for nothing ? What hobbyist can put 3-man years into programming, finding all bugs, documenting his product and distribute for free ? The fact is, no one besides us has invested a lot of money in hobby software.
This letter was printed at the time in some computer newsletters, mostly because even the first national computer magazines were in the midst of being founded. So to be honest, wide knowledge of the existence of this letter was not until very recently. What everyone who reads this letter should take into account is the magnitude of the difference between the world of 1976 and that of three decades later. While a "free software" movement existed among some college campuses, at a time when people who used computers still wore sterile coats, the extent of its freedom was limited to the extent of computing - which, in 1969, was not very far at all.
There was no software industry in 1976, either ; and in this letter, a young man is asking, why isn’t there one ? The grandson of a banker, the author of this letter is appealing to its readers’ appreciation of the commercial interests behind the germination of a new industry, hoping such appreciation existed. It did. His choice of language was very poor ; since that time, Gates learned how to convey more nebulous meaning with more plastic language. The designs of this one fellow with regard to the potential conquest of new and uncharted territory were perhaps no greater than any other single entrepreneur’s during this period.
It is absolutely true that the model that Gates and other maverick industrialists used at the time to forge the early software industry, focused mainly upon the proprietary interests of its practitioners. If it did not, some might argue, there would never have been a software industry. At the same time, without the clear dividing lines that distinguish what truly belongs to us and what should rightfully belong to the rest of the world, there could not be a viable open source movement either. Because we know what we can share with one another, those who do share are not thieves. But unless we are equally capable of distinguishing what is truly our own, there will be nothing of ours that we can purposefully share before it’s gone. Microsoft did not willingly create the open source industry, nor can it take responsibility for doing so. But its actions had as much to do with making it possible as did those of Wozniak, Kildall, Ed Roberts, and those whose names the world of late has forgotten to share.