Follow this link for a table of contents.
Follow this link for a version of this page with improved navigation for graphical browsers.

The head of a GNU is the logo of the GNU project  DotGNU DotGNU logo

Joining the DotGNU Efforts

Please subscribe at and post to the list, introducing yourself.

Don't Read Unpublished Microsoft Information

In order to avoid falling into any legal traps, please be extremely careful to avoid reading any unpublished information from Microsoft.

We have obtained legal advice concerning the issue of looking at Microsoft's "shared source" Rotor code.

Choosing a development project to join

Read the list of active development projects and find one that interests you. Then start contributing :-)

New DotGNU Components

If you have the necessary skills, and enough available time, you are able to start a new DotGNU development project. Please do this only if you're sure that you will want to keep working on the new project until it reaches maturity.

Ideas and Missing Pieces

Here are some ideas for functionality that might be good to add to DotGNU but which isn't being actively worked on. Ideas like this are discussed on the visionaries mailing list as long as they're not actively being implemented.

Support for Java bytecode

The invention of the new language C# is a strategic move of Microsoft against the successful Java language. (It seems that Microsoft wants to fight against everything that is successful and not under the control of Microsoft). DotGNU wants to support Java and the various languages that can be compiled to Java bytecode, so we need a JVM implementation for the DotGNU Platform.

DotGNU Virtual Identities

DotGNU probably needs a totally decentralized authentication / personal information system that can compete with Microsoft's "Passport" system and with Sun's "Liberty Alliance".

What Projects Can Become Part of DotGNU?

Proposals will be evaluated in the light of the overall objectives of the DotGNU project:

  1. Uphold the standards and ethical principles of the GNU project.
  2. DotGNU must be a solution to the vendor lock-in problem for webservices.
  3. Within the constraints 1. and 2., cooperate as much as possible with other projects.
  4. Within the constraints 1., 2. and 3., do whatever it takes to make DotGNU a winner.

The DotGNU project has some organisational principles which are designed to give most if not all of the benefits of a constitutional democracy without the organisational overhead. Based on these principles, use of the DotGNU mailing lists, irc channel and wiki is not restricted to the official DotGNU development projects only. The freedom for everyone to work on whatever they consider to be important, and what has to do with creating a successful webservices platform which is founded on the GNU philosophy is considered to be more important than which projects are officially part of DotGNU and GNU.

Frequently Asked Questions

I'm starting a development project. What name should I use?

Just use any name of your choice. When your project has been accepted into DotGNU, you can call it "<Projectname>, a Project of DotGNU". Therefore it is not necessary for your Savannah project name to contain the string "dotgnu".

What are the requirements for starting a DotGNU development project?

You need to make a commitment to putting your code under the GNU General Public License, possibly with linking exceptions as appropriate.

Also you need to make sure that there are no legal hooks on the software that would prevent it from being truly Free Software. In particular, if you have patents that are related to your development project, you need to make them available through a free patent license. If you have applied for patents which have not been granted yet, you need to make a contractual commitment to making these patents available through such a free patent license if they are granted.

Trademark rights on the name of a program do not prevent the program from being Free Software. However, if the program becomes part of DotGNU, we will want to be able to grant commercial distributors of DotGNU software the permanent license to use the trademark. In order to do that, we need to have a permanent license ourselves. So we would decline to include the program as a part of DotGNU without such a trademark license.

For programs which are intended to be used by end-users, you need to think about making the program useful also to computer users with disabilities. These thougths should be summarized in a "Disability Impact Statement" like the following example:

  Disability Impact Statement
  The DotGNU Secure Execution Environment (SEE) is the part
  of the webservices system where client-side components of
  webservices are executed; this includes in particular the
  parts of the program which implement the user interface.
  Support for assistive devices for disabled users is provided by
  specialized SEE plugins.  Each of these plugins provides an API
  for one assistive device; the plugin can also be used without
  the assistive device in a simulation mode that allows
  (non-disabled) software developers to easily get a first
  impression of the user experience of any given program for
  disabled users.

Your comments please...

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 <> with support from the DotGNU Developers mailing list.