If one thing Microsoft is accomplised, it is a demonstration on how our
current patent- and copyright-laws can be misused and how inadequate
they are.
So the question is how do we fix this. A breakup of Microsoft into smaller
Nanosofts probably won’t do the trick. After all, the same principles still
apply. So there is obviously a need to further restrict Microsoft on
misusing monopoly-power, like:
- Force Microsoft to open their document formats
- Force Microsoft to open their protocol-specs
- Force Microsoft to open their API specs. All of them
- Force Microsoft to license the Windows-Source to whoever wants it.
- Leverage other OS-manufactors to get access to hardware drivers
When there are hundreds of documented and more or less open document-formats out there (XML, HTML, SGML, roff, Postscript, RTF, TeX, only to name a few), how dares Microsoft NOT to release the specs for its document-formats? Or only to release them under NDA (Non-Disclosure Agreement)? Other formats like the ones of Wordperfect or Applixware are documented; no problem. Such a politic of sitting on the specs can only have one purpose: Deny competitiors the possibility to make their programs read these document-formats. Probably, as here in the Microsoft-case, they can be used to effectively extort competitiors.
The answer to this is simple, don’t allow anyone to use a document-format which is not fully documented or available in source-code. After all, its a document-format, not a program on which could be said that it contains trade secrets. Furtheron, I’d recommend that it is made impossible to patent such a thing; otherwise it would still be possible to lock out competition, particularly the free software community. An example is the patent on the LZW-algorithm used by .gif-images.
The same as with document-formats goes with protocols. Withelding the protocol-specs from the public only serves the misuse of a monopoly. The solution is relatively simple, as already demonstrated by the IETF (Internet Engineering Task-Force) and the W3C (World-Wide-Web Consortium): Require a free and open-source implementation (preferably BSD-Style license) in order to make a protocol a standard. This should apply to all networking-protocols not exclusively used by games (It makes no sense to force game-programmers to make a free-implementation of their protocols since it would mean effectively open-sourcing the whole game because it will probably be the only implementation of such a protocol to ever exist).
Open the API’s (Application Programmer Interfaces). This isn’t as easy as the ones above. How do you really control whether a company has withheld you parts of its API? You probably would need the source-code to it, but then you’re probably bound by an NDA and can’t even tell the public that there are undocumented API’s. The best possibility to avoid this problems is the next point.
Force the companies to license the source of (at least) operating systems to everyone. So everyone can see whats’ going on, where the API’s are, and so on. Of course, in order to make this a feasible option for the affected company itself, it must be possible to put this under an NDA and probably charge money for it. If a fee is to be allowed, a maximum sum has to be specified. This sum and the NDA have to be the same for all companies and individuals wanting to license the source code.
The last point is somewhat tricky, since it would necessary that every hardware-manufactor either a) provides drivers for every operating system out there b) releases detailed specs or c) releases its drivers open-sourced. The Problem here is that in order to fight a monopoly of some specific company, thousands of other companies need to be “regulated” as well, but I guess this shows the problem of copyrights in the whole.
The point of the hardware-manufactors is that open-sourced drivers or detailed specs possibly allow to gain hints on the nature of the hardware, which is considered a trade secret. On the other hand, some free operating systems licenses do not allow the inclusion of proprietary non-free code or even binaries; effectively making writing drivers under NDA impossible; thus again leading to a delay in availability of drivers. However, several companies no longer consider drivers (effectively the API, not the “program” of hardware) to be trade secrets and freely open the specs or even provide open-sourced drivers. A possibility for law to close in would be to actively force hardware-developers to release specs, since some companies obviously have realized that these are not trade secrets. And if everyone has to do it, nobody can gain unfair advantage.
So much to bugfixes. But where do the bugs come from? The copyright and patents.
Both, copyright and patents were meant to stimulate innovation by giving the innovator the means to collect money for its inventions. A second consideration was that the body of innovations, arts and so on available to the public would grow. The idea behind the concept is that nothing gets done unless rewarded with financial gains. This is true in many ways, but has several problems with the implementation.
First off, duration. The longer such a right lasts, the more eager people are to get it. However, as soon as they have it, there is nothing to stimulate innovation. Disney has Mickey Mouse and has not felt like introducing new characters. Instead old stories (with expired copyright, by the way) are newly animated. Instead of being creative, the copyright allows to sit back and collect the tax. And it grows: When copyright was invented, a copyright-grant lasted for 28 years. Now its 75 years and some companies want it to even last longer.
Second, competence. This applies to patents. The patent office does not understand what they are doing. It was easy once, now it’s almost impossible to tell which patents are bogus or have prior art. The effort for doing such researches however will soon get tremendously big.
Third political lobbying, making it possible to patent algorithms. It was the most stupid idea there ever was to make it possible to patent algorithms. Effectively patents on laws of nature. This makes it possible to patent any method used in any software. How can a patent-office ever tell what should be impossible to patent? As a result, more than 4000 software-patents exist, most of them are bogus or trivial. And it hurts the software-industry enormously if they have to check 4000 Patents only to write a program. Nobody can do that, and so the patent-holders may sue anyone writing software at will, because it is almost guaranteed that he reinvents some of those methods. A particular example is the technique known
as Windowing, mapping parts of two-digit decimal years to either 20xx or 19xx. It has been patented in 1996, first use is at least in 1991. It’s moot, but you’ll have to prove it.
Forth, the assumption a patent is valid unless proven it is not. The opposite should be the case. The one who applies should be forced to prove that its patent is really the first time this particular idea gets invented, as far as it is reasonably backdate-able (in Computers, this would mean about 35 years). Since this will result in an unbelievable big effort for both the office and the applicant, a more simple solution is desirable.
Too bad its even possible to base a whole business on nothing but copyrights and patents, selling licenses for things someone else has innovated, probably some half a century ago. Copyright and patents as an end in itself.
Even worse, copyright and patents can be misused to effectively kill innovation. With Lawsuits regarding copyright-infringement, innovators which most often are small and do not have too much money, can be easily put out of business. Patents are even better in respect of killing off innovation, since you probably have a bogus-patent at hand which can be misused for this.
The consequences out of this are that copyrights as well as patents are totally inadequate to ensure competition and innovation. I propose the following to fix it.
- Patents may last no longer than 5 years, after that, it’s all public domain.
- Make it impossible to patent algorithms
- Copyright lasts 30 years. After that, it’s public domain. This inludes software.