The DotGNU Team

It is often said that the price of freedom is eternal vigilance.  This truth was popularized by Thomas Jefferson (1743 endash 1826).  The original source seems to be a speech by John Philpot Curran, who said:

     ``It is the common fate of the indolent to see their rights become a prey to the active. The condition upon which God hath given liberty to man is eternal vigilance; which condition if he break, servitude is at once the consequence of his crime and the punishment of his guilt.''

     ---John Philpot Curran: Speech upon the Right of Election, 1790.  (Speeches. Dublin, 1808.)

This is the DotGNU Manifesto, an explanation of the philosophy behind the DotGNU project. It explains what DotGNU is, why we make it, and what threats the systems of some concurrents of DotGNU carry.

-subsectionCredits

Credits
*******

This document was originally created by Norbert Bollow, at Stephen Compall's suggestion. <http://subscribe.dotgnu.org/pipermail/developers/2002-April/006639.html>

It was enhanced with the help of Barry Fitzgerald, Stephen Compall, Peter Minten, Rich Baumann, and Richard M. Stallman.

-subsectionFreedom of software usage

Our society is built upon the belief that each individual should be as free as possible. With free we mean freedom of speech, movement, choice. These freedoms have enabled us to live a more than decent life and to push mankind forward.

But in some areas the freedom of the individual is threatened. One of these areas is using software. Most software producers expect us to give up our freedom to share when dealing with their products. They argue that since they created the software they own every individual copy of the software and users only buy the right to use the software under the terms specified by them.

But those who claim that ``right'', called proprietary software producers, love to forget that software isn't something like a sandwich; when I sell you a sandwich I lose a sandwich. Instead software is like a joke; when I tell you a joke I don't lose anything. It would appear weird if I would tell you a joke and then would forbid you and threaten you with lawyers to tell the same joke to others. But that's exactly what the proprietary software producers do.

Faced with this reality, that software can be shared without damage to the producer, the proprietary software producers have come up with a legal trick called intellectual property. Intellectual property is the idea that you can own an idea. But that's completely nuts! If I were Pythagoras, and were therefore the first to discover c^2 = a^2 + b^2, that wouldn't mean I would have the right to demand control of anybody wanting to use that formula. But that's what ``intellectual property'' means.

Of course the basic idea behind ``intellectual property'' is that ``inventing something requires time and work and thus a user has a certain moral obligation to reward the author''. However as Richard Stallman pointed out, in his essay ``Why Software Should Be Free'' (http://www.gnu.org/philosophy/shouldbefree.html), when one turns the obligation into into a requirement, the basis for that obligation is destroyed.

Faced with the madness of proprietary software, a large number of people are working on an alternative. This alternative is software that you can share freely without any ``intellectual property'' strings attached. We call that software Free Software where the Free always reminds us of the freedom that accompanies the software.

Free Software gives you more freedoms than just the freedom to copy and distribute, whether gratis (without charge (As the word ``free'' in the English language is ambiguous for our purposes (refers to either freedom or price), and we have a specific word for free-as-in-price (gratis), we prefer to reserve the word ``free'' for the former meaning.)) or for a fee.  It also gives you the freedom to study the way the software works by giving you the blueprint of the software, the so called source code. And it even gives you the freedom to change that source code and distribute your changes.

Copyright law does not give you these freedoms if not explicitly stated, so a couple of legal texts have been created to give you the freedoms. These texts are known as the copyleft licenses. The most important copyleft licenses are the General Public License (GPL), which gives you all of the above freedoms on the condition that you distribute (changed) copies of the software under the same terms (which effectively means you have to distribute them under the GPL too).  The GPL does not allow linking to the program by non-GPL software however and there are rare cases where this is useful for the spread of free software. For that situation there is the Lesser General Public License (LGPL), it's called lesser because it does lesser to protect your freedoms. The LGPL allows linking to a program by non-GPL software, actually the LGPL is seldom used for programs but mostly for libraries.

-subsectionIntroduction of webservices

The Internet is the most powerful medium of our time. It allows us to gather and exchange information at a much higher rate than before. And that's great. The Internet has made it possible for software to be shared without any costs other than that of ones Internet connection.

Since there is a demand for software to be shared and there is a way for software to be shared, software is shared. This angers many software manufacturers who don't see that it's only normal for software to be shared (or do and prefer it not to happen). Free Software manufacturers aren't angry, however, for sharing is in their nature.

As a result of the software-sharing attitude, the Internet has become a sharing place for all kinds of software, and has proven the power of this system for many years now.  But it won't be for much longer.  A new approach to software and the Internet is developing, called webservices.

Webservices are basically applications running on a remote machine and accessible over the Internet. They mostly behave just like normal applications installed on your computer, but they can run somewhere on the other side of the planet. Webservices also differ from normal apps in the sense that they can more easily cooperate with each other. That's done by making it possible for applications to call parts of other applications running miles away (this is known as remoting).

The whole concept is pretty neat. But it carries some threats. The biggest one is known as ``Microsoft .NET''.  MS .NET is an implementation of a webservice supporting system.  There are some serious dangers to user freedom that come with this new framework:

 1. It's proprietary software. Don't be fooled by any Shared Source talk, Shared Source is far away from Free Software or even Open Source.  Plus, it doesn't even begin to address the freedoms that software users deserve; you can only get those with Free Software.

 2. a user authentication system, called Passport, that aims to centralize your network identity, or information about you stored online;

 3. vendor lock-in.

Passport is an authorization system. It's basically what it says: a passport. You can use it to ensure any .NET compatible webservice that you are who you say you are. So far so good. The problem however is that Passport stores your personal ``passport'' on a central server. That's a major security risk. Anybody who can gain access to that server (for example a cracker (A cracker is somebody who breaks into computer systems. Don't confuse crackers with hackers. Hackers are people who love to program or something else intellectually challenging like solving tough math equations.)) can access your data. And you can also bet countries are going to pass legislation to access the Passport data. Big Brother is watching you.

Vendor lock-in is a major problem with .NET compatible webservices (or webservices compatible with webservice supporting systems of other vendors such as Sun's Java). It's what happens when you use the webservice of vendor A and after a while want to switch to the webservice of vendor B. Of course webservice A stores data in its own format which webservice B doesn't understand so you have to keep using webservice A if you want to keep working with your old files. Vendor A effectively locks you in through your files.

-subsectionEnter DotGNU

The concept of webservices carries threats, but the advantages of webservices are too powerful to ignore. That's why there is there is DotGNU. DotGNU is a Free Software webservice supporting system. The central idea behind DotGNU is to protect the internet from the effects of proprietary central server systems like Passport and from the effect of closed file formats, because these things make interoperability between programs and between people a lot harder. In short DotGNU is about keeping the Internet open.

We do that by providing a complete, open Free Software platform on which webservices run and by providing support applications for webservices.  For example we will create an open authorization application specification, a new standard for authorization systems. We even deliver at least one such implementation of this system.

The core idea behind the DotGNU authorization system is that you should be free to store your virtual identity (our term for what in MS Passport is called a passport) anywhere you desire. You should be free to either subscribe to a commercial webservice to store your virtual identity or store it locally on your own computer or something else: we don't care as long as you have the freedom to decide. Of course you are also free to choose the application with which to manage your virtual identity.

The effect of this freedom is that you don't need to be as worried about crackers as when you were using a central server system together with many millions of people. Big Brother will have a hard time watching you.

We also have a solution for the pesky vendor lock-in problem. We do this by saying there is an ``owner of the data'' for all files that a webservice acts on. An owner of the data has the right to download the entire set of data together with the webservice application.

-subsectionKeeping the internet open

A threat the internet is currently faced with is the rise of proprietary protocols. Proprietary protocols are protocols which you can only use if you pay the people who invented it and sign an non-disclosure agreement (NDA) in which you promise not to tell anybody else how the protocol works.

It's clear that if proprietary protocols become the standard Free Software will not be able to stay compatible with proprietary software using those protocols. But users will suffer too since proprietary protocols allow the ``owners'' to decide who can use them, very probably resulting in the same monopolization of the internet that has resulted in the software realm thanks to proprietary software.

It's very likely that in the future one or more companies will try to create such proprietary standards and use them in conjuction with webservices.

An fictional (but likely) example of this is a proprietary protocol for communication between webservices, which is only shared with others under a high fee and an extracted promise that the others' webservices will only use the proprietary protocol for communication.

If such a scenario ever become reality DotGNU will not use the protocol or endorse it in any possible way. We will even (if needed) help develop alternatives so that Free Software can stay free from such dirty business tactics.

DotGNU is committed to using and promoting only open royalty free protocols. That's why one of it's major goals is to keep the internet open.

-subsectionWhat licenses we use and why we use them

One important element in defending the freedom of Free Software is to use a so-called copyleft license, such as the GNU General Public License (GPL) and the GNU Lesser General Public License (LGPL).  These licenses grant the user of the software very significant rights to redistribute the software, in original or modified form, but only under the condition that the recipient will also have these rights.

The significance of copyleft is that it prevents any entity from just taking the software, making some changes, and then distributing it in a way that denies the users essential freedoms.

For more information on copyleft licenses, please visit: http://www.gnu.org/licenses/license-list.html

-subsectionHow You Can Help Defend the Freedom of the Internet

The DotGNU project seeks to build a complete and fully Free Software replacement for the .NET webservices platform and all other webservices platforms that deny their users and developers freedom. It will be compatible to popular software platforms by allowing to run .NET applications written in C#, as well as Java applications. At the same time, we want to provide innovative development tools, libraries, webservice components, and server software, so that DotGNU will be clearly better than its proprietary competitors.

Please help us with making this software so good, and building it so quickly, that it will prevent Microsoft or other companies from successfully establishing their platforms, or any patent-encumbered protocols, as a de facto standard for Internet-based applications.

Contributions to the DotGNU project can be in the form of volunteer work or in the form of donations to the Free Software Foundation.  For larger amounts it is possible to set up a ``restricted grant'' that gives you more control on how your financial contribution will be used.

Please help us by taking a stand for Free Software in general, informing people about the ethical objections against creating or using proprietary software.

Please help us by letting others know why the DotGNU project is important, and how they can help.

-subsectionA short history of the GNU Project---and why DotGNU has chosen to be a GNU Project

The GNU project has taken a stand for the freedom of computer users, and as a result has made a complete operating system available where every component is Free Software, so that its users can freely modify and share it.

To many people this goal seemed impossibly ambitious, and yet it has been reached.  In combination with the operating system kernel called Linux, the GNU system now has millions of users. Also, the official GNU kernel, named ``the GNU Hurd'', is under development.

While it has achieved its goal of creating a free operating system, the work of GNU is far from finished. The freedom of computer users is still threatened, and there are many areas of computing still left where Free Software solutions either do not exist or are inadequate. Systems, protocols, and standards which are not free still trap many times more computer users than GNU has been able to free. DotGNU aims to bring freedom to the area of ``webservices''; an area where user freedom has been practically non-existent.