Community Column: Why is Microsoft afraid of the GPL?May 04, 2001, 21:32 (38 Talkback[s])
(Other stories by Anthony Awtrey)
Opinions expressed by contributors to Linux Today's 'Community Column' and Letters to the Editor are not necessarily those of LinuxToday's staff or management.
Editor's Note: This column was run last night in slightly different form. Mr. Awtrey made some corrections we have since included.
On May 3, 2001, John Markoff wrote a story called "Microsoft Is Set to Be Top Foe of Free Code". (http://www.nytimes.com/2001/05/03/technology/03SOFT.html) In that story Mr. Markoff reported that Mr. Craig Mundie, a Vice President of the Microsoft Corporation, would be speaking to the Stern School of Business at New York University. He was reported to have made the argument that "the viral aspect of the G.P.L. poses a threat to the intellectual property of any organization making use of it." I would like to rebut that statement.
People and companies who write software have the right to do with that software as they see fit. Certainly I do not begrudge Microsoft their right to sell licenses to use software they have written, but not all companies that develop software sell it. In fact, many companies that write software only do it to support another product or service. Sometimes people even write software because available commercial versions don't meet even the minimum requirements of use.Written to sell or written to use
A company whose goal is to sell software has no real incentive to sell you a really good product. In fact, it behooves them to leave products lacking in features to provide incentives to upgrade or to influence the choice of other software or services they may provide. In an example of the former, can Mr Mundie defend Microsoft's practice of changing and refusing to document the common document formats (Word .doc, Excel .xls) between releases of Office? Specifically, how does making the older applications unable to easily read the newer formats benefit the customer? Do they expect us to believe this change was done in the customers best interests?
The development of Samba, which provides SMB network services from Unix and Linux systems, illustrates the problem of vendors writing code to influence their customers instead of providing the tools they need to get work done. It is also wonderful example of the GPL and Open Source innovation in action. According to the history document included in the source, Jeremy Allison developed Samba because he could not get Sun's PC-NFS and DEC's Pathworks, which used SMB to communicate with PC's before Microsoft extended the protocol, to run at the same time on his PC.
Microsoft now uses the SMB protocol to provide network file and print services, user authentication, resource browsing and naming services. It has never been easy to get Windows servers to support other vendors protocols like NFS because running non-Microsoft protocols tend to destabilize Microsoft servers. And if Microsoft provided good native support for foreign protocols on their client platform it might allow customers to use other systems as network servers.
By using Linux running Samba it is now possible to completely and inexpensively replace Windows NT servers on most networks as well as providing native services to clients on Novell, Apple and Unix networks. Linux can be used as the glue to bind mixed environments together. This vendor agnostic server platform has been in demand for years, and because it has been developed as a GPL'd application there is little chance for vendors to take that hard won independence and lock it away again.The truth about software development
My company sells Linux consulting services including server and network integration services, development and training. Many of our customers use Linux not because it has no license fees, but because it is stable, secure, reliable and extensible. Most of our customers, like 95% of all companies that either develop software themselves or have software developed for them, only use their custom software internally and therefore the GNU Public License has little or no effect on them.
The transfer of rights the GPL forces on a developer occur when the developer extends an existing, publicly available application licensed under the GNU Public License and then only if the modified code is to be redistributed or sold. If you use a modified application internally and do not redistribute it, there is no requirement to release the modifications you made. It is considered good form to contribute back to the project that provided you the software in some way, but it is by no means a requirement.
If you write something from scratch, even using the GNU software development tools, you are not forced to license the code under the GPL. It's your code after all. The GPL only forces people who modify GPL'd code and then re-release it to provide the source code and the right to modify it further to the same people they provide the modified software to. That's all.
There is no sinister plot to steal intellectual property, just a simple, honorable rule that if you use GPL'd source code as the basis for something new, that you then release the changes you made so someone else can derive the same benefits you did. Besides, no one is making anyone use GPL'd code... but if a company is going to release their code to the world, isn't it better that they release it in such a way that potential competitors can't extend it behind closed doors and profit from it by themselves?Quid Pro Quo
The GPL is only a problem for companies that want to take code that other people have written, modify it and profit from it without giving the improvements back to the development community from which it sprung. There is an Open Source license that provides the freedom to do this called the BSD License which was developed to license software developed at the University of California at Berkeley. Microsoft derived many of its command line tools, such as the ftp program that ships with most versions of Windows, from pre-existing code licensed under the BSD license. If you look inside the 'c:\windows\ftp.exe' program on Windows 95 or Windows 98 you will see this string:
"Copyright (c) 1983 The Regents of the University of California."
The FTP program that Microsoft ships with its operating systems is in fact based on code derived from the BSD version of Unix, thus saving their developers from developing those tools from scratch. If that code had been licensed using the GNU Public License, Microsoft would not have been prevented from profiting from the work of the original developers. They would simply have had to make the source code of the programs available to the same people to whom they distributed the modified software.We're off to see the Wizard...
Only a small percentage of all software written is developed for sale or even for use by the general public. The vast majority of software developed is either for infrastructure purposes (like device drivers or embedded systems) or for custom business applications. Neither of these categories typically result in software that is sold or redistributed in and of itself.
In the case of device drivers or embedded systems, the software is often given away with the purchase of the hardware. Since you generally have to have the hardware to make the code work it poses little or no problems to make the source available. In the case of custom business software the source usually has no meaning outside of the business context it was developed in and since the application is not likely to be redistributed there is no requirement to supply the source code to anyone anyway.
Microsoft is free to do what it wants with the software it writes, but to assume that software licensed under the GPL is bad for everyone because it might be bad for Microsoft's monopoly or the ISV's that support it is wrong. It supposes first that preserving Microsoft is necessary or good, which I would argue has yet to be proven. If Microsoft doesn't like GPL'd code, by all means they should stay away from it. No one is asking that they use or recommend GPL'd code. But arguing that it is bad for everyone makes them seem like the Wizard from the Wizard of Oz screaming, "Ignore the man behind the curtain!" The truth is only painful to people with something to hide. I wonder what truth Microsoft is trying to hide?
Interested in submitting a Community Column or a letter to the editor for publication on Linux Today? Contact the editors with a brief summary of what you'd like to write about (or just mail the letter). Not everything will be accepted, and we do reserve the right to edit submissions.