In the world of FUD (Fear, Uncertainty and Doubt), it appears that SCO's CEO Darl McBride is planning on being right up there with certain political figures in his tactics. In a letter sent by SCO and later published on the OSAIA (Open Source and Industry Alliance) web site, McBride charges the open source movement with being everything from a blight on the economy to downright un-American, and he calls for congress to come in and save his company...oops, I mean save the economy for all good Americans.
As somebody who has been involved in writing quite a bit of software (and not a small amount of it that has been sold), I have to take extreme umbrage with just about everything this guy has said in his missive to Congress.
McBride's arguments tend to center around the idea that open source is bad for the economy and that by allowing it to continue (and specifically, by allowing the GPL to stand), the US economy will suffer irreparable harm. He specifically claims that the country will suffer economically (through loss of tax revenues and jobs), technologically (by being forced to compete with free software), and on national security grounds (due to ready access to advanced technologies for which nobody is legally responsible).
In each of these points, he takes the opportunity to point out why his company is at the heart of these issues, usually by parroting the misinformation that the technological innovations "owned" by his company are at the heart of all of these threats.
So, what of it? Isn't he right? Isn't there a threat to the vibrant and financially significant software market by these open source projects? Don't they just steal technology from the rich companies and give it to the poor? Aren't they anti-competitive?
Of course not.
Yes, open source is a transformative force which is allowing some companies, governments, and individuals to make more efficient use of their time and money by collaborating on the development of software and leveraging the developments of others (legally) to create useful works free of charge.
The internet as an anti-competitive force
The same arguments can be made (and have been made) about the Internet. By providing a nearly ubiquitous computer network, accessible to tens of millions of people at their homes and workplaces, we have undermined a great number of industries and companies, forcing them to change their businesses or go out of business altogether. Take, as an example, companies that made their money by selling CD-ROMs containing government information. For years, the only way to get your hands on the USDA's nutritional information was to buy an expensive CD-ROM from a company that provided the data. These companies paid almost nothing for the data, because it had been funded by taxpayers. In turn, the companies charged quite a bit of money (as I recall it was a few hundred dollars per dataset) to send it to you on CD-ROM. Now, you can get the whole thing (and back issues) on the Internet for free, just click and download.
So, what of those companies that funded their employee's children's education and braces by bilking the public for unnecessary fees? They've gone by the wayside or adapted themselves to do things more generally beneficial to the economy. Part of this is just about the continued increase in efficiency of the world's data. The more information that is exposed to the world, the more efficient we get at accessing it, and the US Government generates a lot of information on our behalf.
Open source development as an anti-competitive force
So, back to the arguments by Mr. McBride that open source is anti-competitive and un-American. I'll bring the government back in here, because when I worked for NCSA, I worked on a project that involved creating internet communication software for use by scientists for collaborative work. This effort was funded completely by a grant from the US Federal Government as part of the NSF funding of the supercomputing center there. No, it wasn't Netscape (which came from NCSA a few years later and was funded entirely by Illinois state funds, requiring that the product was licensed when used for commercial purposes). The software was NCSA Telnet, a product that allowed Macintoshes and PCs to communicate with UNIX and other systems over TCP/IP. This product, since it was developed entirely with federal funds, was required to be entirely in the public domain. Anyone could take the source code and do with it whatever they wished, including sell it. For a few years, it was the most widely used Macintosh TCP/IP application in the world and eventually was taken by InterCon Systems as its primary product. During that time, while InterCon was developing a commercial version and selling it to anyone willing to pay $495, the rest of the TCP/IP industry on the Macintosh was giving away NCSA Telnet for free. In fact, for the first few months we were selling exactly the same software that you could get for free for $495. Now, we did some extraordinary things with it over time and I think anyone looking at the 1995 source code of TCP/Connect and comparing it to the 1988 source code of NCSA Telnet would be hard-pressed to find anything other than a fleeting resemblance, but in the early days it was hard to miss.
So, what does this have to do with open source? Just about everything. NCSA's work wasn't covered by the dreaded GPL, which is the target of many of McBride's complaints, and that was how we were able to develop proprietary code while continuing to use the core of NCSA Telnet in our software. However, neither is all of the work that is out there in open source land. McBride is correct that Linux is under the GPL, but FreeBSD (popular with many ISPs, people who like their software secure, and companies like Microsoft and Apple) is not. It is a UNIX-type operating system that is completely free for use, re-use, and incorporation into other products. You may modify it at will and keep your modifications to yourself (or give them back to the community if you wish) and sell it for financial gain. It works under the same principles as many other open source products, such as the X Windows System (the primary windowing system for computers running Linux among other UNIXes). When SCO sold desktop UNIX (which I can't find on their site now), they used to include X Windows in the package, there's some irony for you. So, in these cases, which are similar to most of the products that are "freed" by virtue of being funded by the Feds, commercial entities are free to use the products with impunity.
So, what about the GPL? OK, I'm no big fan of the GPL. Partially because I know some of the folks involved in its inception and think that they are anti- capitalist hypocrites, and partially because I think that if you are going to give something away, you should just go ahead and give it away. However, I'm not going to say that the GPL is all bad. Take, for example, what I think is the greatest GPL'd software that is currently available-GCC. For those of you unfamiliar with this corner of the world, GCC is a computer language compiler for the C and C++ languages (the two most commonly used languages in the world today for development of serious software like operating systems). When a new computer chip (a CPU or other chip that can run code), it is necessary for that chip to have some way to be programmed by software developers or it is going to go nowhere... enter GCC. In the past, before GCC, most of the compilers were manufactured by either companies that did nothing by create compilers or by companies that created chips. This made life difficult for small companies looking to innovate with new chips, because their choices for ensuring adoption of their chips came down to the following:
- Build a compiler from scratch for your swanky new chip
- Convince (such as with money) a compiler company to support your new chip
- or, make your new chip emulate somebody else's old chip so well that existing compilers can be used. Clearly, option number one would provide you with the most flexibility, but create a good compiler is an expensive and time-consuming effort and should not be entered into lightly by small companies with quick timelines. Option two is fine if you have a lot of bribery money sitting around and you are willing to give another company early access to your chip designs so that they can design the compiler accordingly. Option three works if you are willing to limit your innovation to things that can be done within the context of another manufacturer's model, but it is going to severely limit your ability to innovate.
Enter GCC. With GCC, anyone who has a new chip can go out and make modifications to the source code to add support for their new instruction set or execution model. It's not necessarily going to be easy, but it is a lot more efficient than "rolling your own." What is the price of doing this? You must agree to either use it internally only or you must make your changes available to the rest of the world if you decide to make your new compilers available to the rest of the world-- that's how the GPL works. Considering that most of the CPU manufacturers would like to see other people create better compilers for their chips instead of holding the responsibility for creating the perfect compiler every time, it is a philosophy embraced by many manufacturers, including those like IBM, Motorola, and Intel that have their own expensive optimizing compilers. In the end of the day, this particular GPL'd program works great.
Thousands of lines of code
So, what is McBride trying to protect? Well, first I'd say his pocketbook, but that would be mean. In his letter to congress, he mentions the "thousands of lines of code" that have been purloined by the Linux community. I did a quick search of the web and found that the Linux Kernel itself (not counting all of the other software) contains over 1.8 million lines of code (as of 2000). I would assume that McBride would have used "tens of thousands", "hundreds of thousands" or even "millions" in referring to the number of lines of code if he felt that it could be backed up by his legal and technical folks. Instead, we're left feeling that these lines of code are indeed in the thousands of lines realm and may not be all that significant in the grand scheme of things.
Why the secrecy?
Next question for Mr. McBride is why his company has been so secretive in describing which lines of code have been incorporated into Linux. It is clear that whatever code is incorporated into the GPL'd source is (by license) freely available to anyone who wants to look at it, but that hasn't stopped SCO from evading nearly every attempt to request a specific list of code that has been incorporated "illegally"--according to the company.
This leads us to just one conclusion. With thousands of people out there willing to "make this right," the last thing that SCO wants to do is to create an environment where the Linux community can program around this legal problem. Usually, if somebody is violating your copyright, your can demand that they stop using the copyrighted code. In the case of Linux, this would require the removal of the offending SCO code and its replacement with code that wasn't owned by SCO, but did very similar things. Chances are (based on the existence of FreeBSD and other really-free UNIX-type operating systems) that this operation would take less than a month including testing time and that it would create a version of Linux completely free of copyright claims by SCO. Which is, of course, the problem for SCO. If they tell people what is in violation and those violations are fixed, all of the users can mitigate the problem by replacing the offending software with newer software, thus obviating the need to give cash to SCO, eliminating the FUD altogether and sending SCOs stock into the tank.
If you can come up with another explanation, I'd encourage submitting a comment here, because I've racked my brain and not been able to figure it out.
Of efficiency and ingenuity In closing (thanks for staying with us here, I know that this one has been long), just a comment about efficiency and ingenuity. McBride's major claim to congress is that America will be left behind if open source is allowed to flourish and that by not protecting his company's "right" to exist and demand payment from everybody using Linux, that the innovation that powers the technology economy will die out. This logic can hardly be more flawed. As McBride points out in his own letter to congress, his company had not developed or innovated the software in question, it was developed by AT&T, much of it in the 1970's and 1980's. The work by SCO is aimed at not increasing innovation but stifling it.
Further, his claims that the software industry will die out due to open source is ridiculous, and is the same kind of bunk that comes from every company that wants protection of their outdated ideas. Innovation ofttimes finds its way into the public through commerce, and that's the case even without having to stand on the shoulders of GPL'd source code. There are plenty of platforms out there that don't require the use of GPL source and thus provide an option for people who don't want to develop everything from scratch and need a leg up on the development process.
If something is truly innovative, people will pay for it. SCO's products aren't, and people generally don't willingly pay for them.