Source Code and Patents: Both or Neither - Part 2
March 27, 2002
In another, he blames Microsoft (Nasdaq: MSFT) for pioneering the concept of proprietary software, after which an announcer, her voice quavering with ever-increasing horror, reads portions of Bill Gates' famous 1976 "Open Letter to Hobbyists" (in which he complained about people stealing Microsoft software).
That scene sums up a common attitude: Intellectual property is a bad thing, and Microsoft is evil for guarding it.
But if we want to get Microsoft (and other companies) to release source code, we need a way to protect the intellectual property behind it.
In the Beginning
One of the most famous cases of a company revealing source code -- with no intention of releasing any other intellectual property rights -- is the BIOS of the original IBM (NYSE: IBM) PC.
IBM included a full source code listing with the Technical Reference manual that it published in 1981. Yet the code was certainly copyrighted, and IBM only intended it to act as complete documentation for the BIOS interfaces.
That is how Phoenix used it when it produced its first BIOS. The upstart company's action launched the PC clone industry and showed, a) how source code can be revealed without losing intellectual property rights, and b) how source code nonetheless can be useful.
As I discussed in part 1 of this article, copyright on source code doesn't really matter much because it does not protect the ideas behind the source code. Those ideas are protected by patents.
Legal Mumbo Jumbo
People often roll their eyes at software patents. One flaw is that patents are supposed to be issued for obvious "inventions." Less discussed is the fact that software patents are written in confusing legalese.
I once was offered a consulting job by a former Microsoft coworker. It involved reading patents that had been run through the legal mill, translating them back into programmer-speak, then sitting down with the programmers to make sure the translations matched the original ideas.
The fact that this was necessary shows that software patents defeat one of the main purposes of patents, which is to make knowledge available to everyone once the patent expires. What patents really need to include is the source code that implements the invention.
What's the Use?
As Lawrence Lessig has pointed out, software companies are trying a finesse move. Unlike the text of a book or an invention, they are copyrighting and patenting their code without revealing exactly what it is they are copyrighting and patenting, since they don't reveal the source code that truly determines how the software operates.
Lessig says he wants copyright to expire after 10 years, but I think what he really wants is for patents to expire after 10 years. Keep in mind that patents are a double-edged sword; you have to release details of your invention to get protection, but at a certain point the protection stops.
There is a sentiment these days that if you have a clever idea you should be able to monetize it forever, but that's not the way patents work, and it's not the way intellectual property in general should work.
The government could solve two problems -- the reluctance of companies to release source code and the incomprehensibility of patents -- with a law stating that protecting the intellectual property of a piece of software requires releasing the source code.
I said "protecting the intellectual property" rather than patenting because it is possible that the current patent system is too heavyweight. You want something that addresses what copyright does not, protecting the ideas -- the algorithms and data structures -- without worrying about the code itself. What might be needed is a "patent lite," which would consist of just some source code and an explanation, minus the confusing legalese.
In any case, if this system were in place, Microsoft could release Internet Explorer source code with the assurance that nobody could steal its key algorithms and data structures -- because they would be patented.
The company also could copyright its code if it wished to do so, but I doubt that anybody could commit a meaningful copyright violation without also committing a more serious patent violation. Instead, the code could serve as an example of how to interface a Web browser to Windows.
Some companies likely would avoid filing for patents in order to keep their source secret, treating their code as a trade secret -- just as Coca-Cola has done with its secret formula. But most source code is not worthy of being considered a trade secret, and I think most companies would release their code. The tradeoff would be more patents issued as companies tried to nail down their intellectual property before the source went public.
So, if Microsoft foes want to see the company's source code, they are going to see a lot of its patents too.
Adam Barr worked at Microsoft for more than 10 years before leaving in April 2000. His book about his time there, Proudly Serving My Corporate Masters, was published in December 2000. He lives in Redmond, Washington. Adam can be reached for response to this column by e-mailing him at firstname.lastname@example.org