Joining the DotGNU Efforts
Please subscribe at http://dotgnu.org/mailman/listindo/developers 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:
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