OFSET CHARTER FOR THE DEVELOPMENT OF FREE EDUCATIONAL SOFTWARE FOR THE GNU SYSTEM

August 12, 2002

The objective of this charter is to ensure a sound development program in accordance with the free software philosophy as defined by the GNU project. The main point is to ensure freedom in terms of development and use. People willing to develop free educational software are encouraged to follow this charter.

Development tools

Only free development sofware can be used to develop further software. By doing so we ensure basically two kinds of freedom:

  • everyone can freely access the development tools to particpate in the development;
  • the developed software are not tied to any proprietary tools.

Free RAD tools are available and should be used when appropriate.

The GPL

The developed software must be released under the terms of the GPL. This copy-left license insures that the subsequent development will remain free in the future even if the copyright owner decides to release a subsequent version of the software under another license. Some open source licenses are not community oriented as one may decide to take a free software and make a propriatery one without giving back to the free software community.

Assignment of Copyright

OFSET recommends that developers assign all copyrights to the FSF. The FSF is better able to deal with legal issues and is dedicated to keeping the software free. More information can be found at the FSF home page.

Development

Development can:

  • Start from scratch;
  • Be a port to the GNU system of software developed under another system, free or proprietary. The only condition is that the ported software complies with this charter.

Developer guidelines

  • Follow, to ease collaboration, if possible, the FSF development standard: in C/C++ source code use the GNU indentation mode (``M-x c-set-style gnu'' under emacs), and use the GNU automake & autoconf utilities1;
  • Within your application use a transparent format to save data. This makes your data very easily reusable by other applications. Using binary encoding will render your saved data obscure. Basicly transparent format are text based. Examples of structured transparent formats are XML, Tex and scheme scripts produced with Guile.
  • Internationalize your application using the GNU Gettext system;
  • Make your application scriptable, if appropriate, with Guile, Python, Perl or any adapted language compatible with the GPL.

Documentation

Each software should come with at least one set of free documentation. OFSET strongly suggests the use of the FDL license to write the main and official source of reference for the software.