- The User Guide includes developer documentation - that's the first place to look.
- How to install GATE.
- Last night's build JavaDoc and HTML of the source code.
- The last release (version 2.0 alpha3 build 516): JavaDoc
- Creepy-crawlies (bugs).
- Code style (mandatory for changes to GATE itself).
- Details of nightly build and test results.
- Release notes.
- Internal developer documents (Sheffield only).
- What version of GATE this documentation set is for.
Embedding GATE in other software systems
GATE is licenced under the GNU Library General Public License, version 2 of June 1991 (referred to as "The GNU License" below).
Under the terms of the GNU License, the source code of a system that uses GATE as a library consitutes "a work that uses the library" and is therefore exempt from the terms of the license. Executables of embedding systems (that are linked with GATE) constitute "an executable that is derivative of the library" and are subject to the terms of clause 6 of the GNU License. This clause requires that if these executables are redistributed they must include a copy of GATE (both binary and source), a copy of the GNU License attached to that copy, and give notice that GATE used within it, including this information in any display of copyright notices given by the embedding system.
If you modify GATE, you must: clearly mark what modifications you made (e.g. in the headers of the files you changed), and you must make those modifications available free to anyone who wants them. This does not apply to work that is identifiably not part of the library, such as components you may write that are loaded with GATE at runtime. The license does not affect your rights to this work, only to modifications to the core GATE system itself.
Basically, you can use GATE in another system as you like. The only restriction is that if you distribute binaries that incorporate GATE, you must also include copies of GATE, and you must acknowledge your use of our system.
We welcome input to the development process of GATE, and the system has been designed with development outside Sheffield very much in mind. The ideal way to run distributed development is probably anonymous CVS, but although we use CVS internally, due to security problems with anonymous CVS we cannot provide this facility at present. Instead we make the current version available nightly on the ftp site. The procedure, then, for submitting changes to the system, is to:
- take a version from the ftp site (accessible via http://gate.ac.uk/download/)
- make changes as required, keeping a note of all files added or deleted (note our coding guidelines)
- when you're happy with your code, send us back the complete system, with the list of new and deleted files
- we will examine your changes, run the test suite against it and so on, and if possible integrate it with the main code base
- as soon as we integrate your changes they will become available to other users via the ftp site.