The DotGNU project was started in reaction to Microsoft's .NET strategy, which was born out of a vision for the future of information technology which we do not agree with, namely that "the era of 'open computing,' the free exchange of digital information that has defined the personal computer industry, is ending."
That .NET vision statement is so shocking that it is necessary to provide appropriate context, quoted here under "fair use" rights from the New York Times, July 25, 2002 (Late Edition, Section C, Page 6, Column 3) article "Microsoft Tries to Explain What Its .Net Plans Are About", written by John Markoff:
Microsoft sketched out an abbreviated road map today of how it will introduce products that offer .Net capabilities. One example was a communications server program with the code name Greenwich that is intended to enable advanced multimedia conferencing features for desktop and hand-held computer users. Another example was the next version of the company's database product, SQL Server, named Yukon, which is intended to make it easier to manage distributed data.
Finally, a brief demonstration was given of Windows Media Center -- a PC-based television that is intended to bring .Net-style information to the television in the living room.
Mr. Gates indicated, however, that the company's software promised land would be a new version of its Windows operating system with the code name Longhorn, which is still at least two years off.
Microsoft also warned today that the era of ''open computing,'' the free exchange of digital information that has defined the personal computer industry, is ending.
The company is trying to influence an industry consortium called the Trusted Computing Platform Alliance, which has been trying to create a new standard that will build a cryptographic key system into future personal computers.
While Microsoft's vision of "trusted computing" and "digital rights management" cannot possibly stop the illegal sharing of music (if you can listen to a piece of music, you can also create a recording and distribute that), it would render Free Software unsuitable for business use, at least in countries with laws like the "Digital Millennium Copyright Act" in the U.S., because under that kind of law it is illegal to exchange data under "digital rights management" with a Free Software program which can be easily modified by anyone with programming skills.
Of course Microsoft would like everyone to believe that "the era of 'open computing' is ending."
However we say: "Ok, MS you are pushing webservices and C# and IL because you want to catch everyone in your dotNET, but GNU is taking precisely that set of technologies and using it to set the world free from your monopolies." We do not know whether webservices and C# and IL are indeed the future of computing like Microsoft would like them to be. If Microsoft is wrong and these technologies achieve only limited importance, the economic and legal victories of the GNU/Linux operating system, as documented on the Groklaw weblog, are sure to protect the future of the "the era of 'open computing'", so that there is nothing to worry about. If on the other hand Microsoft is successful with their .NET technology, the competition from the DotGNU project will ensure that Microsoft cannot simply use .NET to end "the era of 'open computing'". In order for DotGNU to achieve this, it is not necessary for our software to have a huge marketshare; it is enough to keep the project alive in order to defend the fundamental freedom of the internet, because that already provides an alternative that users will flock to if Microsoft tries to abuse their market position too badly.
DotGNU will be a complete replacement for .NET (and not just a Free Software implementation). The goals are to provide a reasonably compatible system and then improve on what Microsoft is offering.
Unlike .NET, DotGNU will use a peer-to-peer system for service discovery, and avoid the use of centralized authentication/authorization portals like the "Passport" system. DotGNU's strategy for these areas is not only technologically superior, but it also serves to ensure that no-one will ever have the kind of monopoly power which would be necessary for ending the free exchange of digital information.
To a large extent, what the world of technology will look like tomorrow is determined by what is researched and taught at universities today. Microsoft Corp. understands that very well, and is steadily working on increasing mindshare for their .NET stuff among academics. It needs to be a major focus of Free Software advocates to counteract this influence and raise awareness of Free Software alternatives such as DotGNU.
In the beginnings of the DotGNU project, we were concerned primarily about the vendor lock-in problem for webservices and about Microsoft's plan to unleash a "Hailstorm" which has in the meantime been dropped, because all the major companies which sell services to consumers have realised that this "Hailstorm" would not be good for them.. Similar concerns that Microsoft Corp. is trying to catch all e-commerce in their .NET and lock everyone in are explained in the article "Tempted by .NET?" by Richard Hillesley (Linux User No 15, Oct 2001, p. 15-21). Even if their original plan for destroying most Microsoft-independent e-commerce has failed, since they have enough resources to try again and again,we cannot relax. By contrast, the goal of DotGNU is to give computer users full freedom to use the internet as they want. For example, the DotGNU approach to "web services" will make it possible for end users to run webservice software on their own PC, so that the users are not forced to migrate their data to the webservice servers.
A major concern with webservices is that data which should properly be under the control of the users of the server may be stored on the webservice server. This may result in the business problem of vendor lock-in because this may make it difficult to move to a different webservice vendor, or to move a service in-house which was previously outsourced as a webservice. The DotGNU webservices vision proposes a solution to this remote data problem.
DotGNU will use a decentralized paradigm for authentication and authorization: No single company, server or entity will control authentication. This avoids privacy problems like those pointed out in a letter from the Electronic Privacy Information Center (EPIC) on Microsoft's Passport system.
One major advantage of DotGNU over closed-source software platforms like .NET is that everyone is welcome to inspect the full source code, so that security problems and be found and corrected much more quickly. DotGNU will emphasize security, it will use encryption wherever possible to keep user data secure and hidden. (According to the article Risks of the Passport Single Signon Protocol, Microsoft's approach has some fundamental problems in the area of security. In fact it appears that Microsoft is storing the password and username for Passport as clear text, a huge security risk.) Because of entirely unrelated, serious security problems, Microsoft was forced on Nov 2, 2001 to disable the "virtual wallet" function of the Passport service as Marc Slemko published a sample exploit that demonstrates a cross-site scripting vulnerability.
There are no real remaining traditional competitors to MS, and the US government recently failed to contain MS, so the field is left to the Free Software movement. We do not know whether the contribution of the DotGNU project to the eventual defeat of Microsoft's monopolistic plans will be big or small, but we know that MS has announced that they are "betting the company" on .NET, because of a belief that "Webservices" represent the future, and Windows and MS Office will become progressively less important. If that belief turns out to be ture, DotGNU will stand between where MS is and where it wants to be. In this case, DotGNU and .Net might represent the ultimate showdown between proprietary and Free Software.
Just like it's the goal of the GNU project to create a complete operating system that makes it completely unnecessary to use a non-free operating system like e.g. Microsoft Windows, it's the goal of the DotGNU project to be a complete competitor to Microsoft's ".Net initiative".
The DotGNU project will compete with Microsoft for end-users, business customers and developers.
We believe that the same kind of success story is possible with the DotGNU project. The main difference is that this time, Microsoft doesn't have such a big head start.
Read this warning written in 1896. It is often said that the price of freedom is eternal vigilance.3 Unless we counter them, Microsoft's efforts are not only a threat to Free Software, they are also extremely dangerous tools in the hands of any Evil Government that wants to make their citizens unfree.
You are invited to add your comments concerning this at the appropriate page of the DotGNU Wiki
Verbatim copying and distribution of this entire article are permitted in any medium or format, provided this notice is preserved.
This page is maintained by Norbert Bollow <nb@SoftwareEconomics.biz> with support from the DotGNU Developers mailing list.