__| MICROSOFT AND THE PENGUIN |--------------------------------------- --| The Solution To The Microsoft Problem |--------------------------- --| BY: John Roland Penner (johnrpenner@earthlink.net) |-------------- --| DATE: December 2, 1999 |------------------------------------------ This Article Lives at: http://home.earthlink.net/~johnrpenner/Articles/MicrosoftPeng.html "And this is the law of the wild, As old and as true as the sky. And the wolf who keeps it will prosper, But the wolf who breaks it will die! Like the wind that circles the tree trunk, this law runneth forward and back. The strength of the pack is the wolf, and the strength of the wolf is the pack." (Rudyard Kipling) I will confess my prejudices at the outset of this document. I regard the principles of Open-Source Development (the sharing pool), and the Threefold Social-Economic Order (See: Rudolf Steiner, Social Threefolding: http://www.anth.org/socialthreefolding/tsnindex.htm) as a viable alternative to the current old-fashioned sort of market practices generally going on in bussiness today. I am not a Communist -- i believe that is a failed system. I am also not against Capitalism -- merely a modification of it which is suitable for our times. I believe in forethought in quality, efficiency, and scalability of system architecture over short-sighted design decisions. I strongly believe in a publically-funded R&D open-source development to run the nation's digital infrastructure. With respect to computer Operating Systems, it is generally regarded (when cost is put aside), that UNIX (with now Linux at the fountainhead of that development) is generally the most adanced system-level architecture with the most mature implementation (i.e. Stable). It provided the most forward-thinking architectural considerations -- it was first to provide a system that fully supported multi-threading, multi-tasking, multi-user, protected memory, and most importantly -- from the start was based on a network-centric paradigm. In terms of user-interface, it is known that Xerox-parc together with Apple Macintosh (see: http://www.mackido.com/Interface/ui_history.html) research yielded UI advances which took almost a decade for Microsoft Windows to match (due to legacy considerations). The "Start" menu is clearly derived from an Apple innovation years earlier -- the Apple menu. The idea of system-level printer drivers and scalable-fonts is another; the standardisation of keys for (command-xcv -> Cut, Copy, Paste) across system applications was also an Apple innovation that now resides standard within Windows. Every Windows machine today has a mouse because the Macintosh had it first. It can be clearly seen in this instance of the UI for Windows, that the innovation came from outside of Microsoft. Now given these two general feelings (from those knowledgeable in the industry, who do not have a vested interest in promoting Microsoft technology, due to having to be required to have a Microsoft Windows VERSION of an application). Any vendor that doesn't have a Windows version suffers in proportion to the percentage of the OS market they then won't have an application for. Then, when another OS (such as the approximately 10-20% market shares of Apple and Linux) may have superiour or innovative technology, they either get bought-out or mimiced by Micrsoft (witness the Windows UI ideas taken from without, system level-printer drivers and peer-to-peer file sharing, and the network browser intergrated unecessarily into the operating system). Since return-on-investment must govern the development of an application for a platform, the "more innovative, smaller" platforms are squeezed-out by an over-bearing monopoly competitor. For example, if you asked a developer in 1997, "why not make a Linux or Apple version -- there is an INERTIA against them for developing for a MINORITY platform, because it costs them some extra developers to PORT anything that is not in conformance with an industry STANDARD in the operating system. So, because it costs money to deviate from these standards, the smaller platforms face a significant barrier to entry because of INERTIA. This is why it is so important to understand the difference between an OPEN standard, and a PROPRIETARY standard. This inertia can be used to affect standards across the board. By uncessarily bundling and tying their browser to the OS, Microsoft sought to gain control of the open public standards established by the W3 consortium, and replace them with their own propritary standards so that they would have an unfair monopoly advantage. The results of this can be seen in what happened to the workload of Web Designers coding for two different versions of HTML. Because Microsoft sought to "embrace and extend" the HTML platform for their own benefit, the HTML became fragmented. There were effectively two versions of HTML. One was the open standard adhered to by Netscape 3.0, and the other was the Microsoft-ized version of HTML in Explorer 3.0. Because of this, all web designers were forced to make TWO versions of their HTML web pages, in order to accomodate Microsoft's "Explorer html 'extensions'". Due to Microsoft's "innovation" -- national productivity went down, because people had to do double the work -- coding once for "standard" HTML, and again to ensure compatibility with the proprietary Microsoft HTML extensions. This continues until those "extensions" became more standard than the original, because they kept giving their browser away to ensure that everyone had it, and used it, thus suplanting an industry-agreed standard with their own proprietary "standard". Fortuneately, public pressure helped to bring the HTML in the 4.0 versions of Explorer and Netscape closer to each other. The tactic of "embrace and extend" however is an established one however. Microsoft was caught in similar dirty tactics trying to embrace and extend the "Java" programming language -- a language that threatened their platform dominance by supplying an OS-independent (i.e. "portable") platform for application development. Microsoft's best interest lay in tying Java to their OS so that developers were forced to support not only the regular Open-standards Java, but also to support Microsoft proprietary standards if they wanted their Java code to run on as many machines as possible. It was the same trick that forced web-designers to accomodate Microsoftized HTML code in tehir web pages. Thus, we begin to understand what is Microsoft "innovation" -- they are sneaky ways of deviating from publically establish standards, in order to keep competitors from catching-up while they define the operating system-rules. Which means they can sway the time for other application development as the BIG-BILL-INERTIA distortion field, "yes, Microsoft should be left free to innovate" hyped through media channels (which they control through MSN). Fortunately Netscape had time enough to grow before Microsoft caught-on to the fact that the web was the next big happening thing (the innovation of the world-wide-web would not exist if it was up to Microsoft, it came from the open-source developers). Because of Microsoft's lag due to cluelessness in inovation, Netscape did not sucumb to Microsoft practices immediately. In order to catch up, Microsoft had to GIVE AWAY and BUNDLE their browser with the OS just to get people away from Netscape (which was first, and developed the idea -- not Microsoft -- the innovation, just as with the Windows user-interface came from outside of Microsoft). The point is this -- that it took giving away an operating system for free (volunteer labour of the open-source development), to make any sort of competition against Microsoft viable. It is only the volunteer labour and goodness of open-source programmers that made it possible to implement a non-Microsoft Operating System to comptete against the proprietary Windows Operating system. In short, it was only the original altruism of open source programmers (when inspired by the source, rather than the profit) that was able to overcome the greed of Microsoft Corporation. The solution to the Microsoft problem lies in this -- that there must be seperation of RIGHTS (i.E. Who sets the STANDARDS), and of Economic Interest (those who produce the software which EMPLOY the standards, and go by them as a guide to create the product of their labour called the "Operating System Platform"). So long as they remain coupled, the abuses of monopoly power will be able to continue. The solution to monopoly problems is to deccouple the FEELING / RIGHTS / STANDARDS DEFINITION BODIES - from the PRODUCERS / THOSE WHO PRODUCE WHAT IS DEFINED BY THOSE STANDARDS. Microsoft's monopoly has resulted from the ability for a proprietary standard to exist. The proprietary standard could not arise if you decoupled these two functions. Instead of having the vested-interest manufacturer defining their own standards and letting the economic force run amuck, it is in the public interest to have economic power trimmed and pruned to grow appropriately to what is good for the consumer (the people) by the democratic exercise of FEELING, rights, and standards definition as a seperate, non-biased entity. A failure to seperate these two will always eventually result in a situation where an abuse of monopoly power can arise. If we are to ask -- who is it that should set the standards? It should not be those with an economic interest in furthering their own protocols. It should be determined by those who love the technology for the technology's sake -- the peer-to-peer open sharing of code by geeks are best qualified to do this. Through this sharing, they will ensure that the best technical solution will be found. The standards thus established are open, and shared. Once these standards exist, then any company can produce and economically benefit by creating products which follow these standards. There must be a seperation of STANDARDS SETTERS and STANDARDS IMPLEMENTORS. But it is important to understand that this is a reciprocal relationship. Otherwise, unrealistic standards that don't relate to real-world need will arise. The standards are to be created by consideration for the user; for the user. The economic force to carry out and pay people to implement a system conforming to this need however must remain seperate from the standards-defining body. The best way to do this is to ensure that Open Standards are adhered to, and that Proprietary standards are not allowed to arise. This is best done by seperating the standards setting body from those who have the economic force necessary to deliver a product based on those standards. Listen to Richard Stallman -- he has the best solution for re-regulation of normal industry operation -- to remedy any harmful ways in which Microsoft may operate. References: - Social Threefolding, Rudolf Steiner: http://www.anth.org/socialthreefolding/tsnindex.htm - Linux - By the People; For the People: http://home.earthlink.net/~johnrpenner/Articles/socialLinux.html - Towards a Threefold Social-Economic Order: http://home.earthlink.net/~johnrpenner/Articles/Steiner-Social.html - The Microsoft Halloween Documents: http://www.opensource.org/halloween/
--| Richard Stallman on How to Deal with Microsoft |----- The following is Mirrored from: http://linuxtoday.com/stories/4999.html Richard Stallman proposes three remedies that would help enable free software operating systems such as GNU/Linux compete technically while respecting users' freedom. These three remedies directly address the three biggest obstacles to development of free operating systems, and to giving them the capability of running programs written for Windows. They also directly address the methods Microsoft has said (in the "Halloween documents") it will use to obstruct free software. It would be most effective to use all three of these remedies together. 1. Require Microsoft to publish complete documentation of all interfaces between software components, all communications protocols, and all file formats. This would block one of Microsoft's favourite tactics: secret and incompatible interfaces. To make this requirement really stick, Microsoft should not be allowed to use a nondisclosure agreement with some other organization to excuse implementing a secret interface. The rule must be: if they cannot publish the interface, they cannot release an implementation of it. It would, however, be acceptable to permit Microsoft to begin implementation of an interface before the publication of the interface specifications, provided that they release the specifications simultaneously with the implementation. Enforcement of this requirement would not be difficult. If other software developers complain that the published documentation fails to describe some aspect of the interface, or how to do a certain job, the court would direct Microsoft to answer questions about it. Any questions about interfaces (as distinguished from implementation techniques) would have to be answered. Similar terms were included in an agreement between IBM and the European Community in 1984, settling another antitrust dispute. See http://www.essential.org/antitrust/ibm/ibm1984ec.html. 2. Require Microsoft to use its patents for defense only, in the field of software. (If they happen to own patents that apply to other fields, those other fields could be included in this requirement, or they could be exempt.) This would block the other tactic Microsoft mentioned in the Halloween documents: using patents to block development of free software. We should give Microsoft the option of using either self-defense or mutual defense. Self defense means offering to cross-license all patents at no charge with anyone who wishes to do so. Mutual defense means licensing all patents to a pool which anyone can join -- even people who have no patents of their own. The pool would license all members' patents to all members. It is crucial to address the issue of patents, because it does no good to have Microsoft publish an interface, if they have managed to work some patented wrinkle into it (or into the functionality it gives access to), such that the rest of us are not allowed to implement it. 3. Require Microsoft not to certify any hardware as working with Microsoft software, unless the hardware's complete specifications have been published, so that any programmer can implement software to support the same hardware. Secret hardware specifications are not in general Microsoft's doing, but they are a significant obstacle for the development of the free operating systems that can provide competition for Windows. To remove this obstacle would be a great help. If a settlement is negotiated with Microsoft, including this sort of provision in it is not impossible -- it would be a matter of negotiation. This April, Microsoft's Ballmer announced a possible plan to release source code for some part of Windows. It is not clear whether that would imply making it free software, or which part of Windows it might be. But if Microsoft does make some important part of Windows free software, it could solve these problems as regards that part. (It could also be a contribution to the free software community, if the software in question could be useful for purposes other than running other proprietary Microsoft software.) However, having the use as free software of a part of Windows is less crucial than being *permitted* to implement all parts. The remedies proposed above are what we really need. They will clear the way for us to develop a truly superior alternative to Microsoft Windows, in whatever area Microsoft does not make Windows free software. Copyright 1999 Richard Stallman Verbatim copying and redistribution of this entire article is permitted provided this notice is preserved. Richard Stallman is the founder of the Free Software Foundation, the author of the GNU General Public License (GPL), and the original developer of such notable software as gcc and Emacs. --


to qualify a submission for the definitive list,
send eMail to: johnrpenner@earthlink.net


this page last updated: october 30, 1999