How to contribute
From Gambit wiki
Revision as of 22:08, 27 March 2008 by Wbresler (Hyphenated the compound adjective "Gambit-specific".)
The development of Gambit was started in 1989 by Marc Feeley. In order to maintain tight control over the quality of the implementation, few other developers have been permitted to contribute directly to the system. Now that Gambit has matured and that the core system is unlikely to change much, we believe that it is important to open the development process to invite contributions by the Gambit user community.
Contributions are sought in at least three areas:
- Gambit's source code
- Locate and fix bugs
- Suggest new features
- Implement new features
- Port the system to new platforms
- Improve the performance of the system
- Gambit's documentation
- Improve the user manual
- Improve the Gambit web site
- Write tutorials
- Gambit's packages
- Create and maintain Gambit-specific packages
- Port packages from other Scheme implementations
Contributing to Gambit's source code
If you discover a bug while working with Gambit we advise that you report the bug on the bug tracking system, which is powered by Bugzilla. You should do this even if you know how to fix or work around the problem, so that others can search the bug database to be aware of its existence and to see the status of the bug. Suggestions for new features can also be submitted to the bug tracking system. The bugs are prioritized so that the most serious bugs are addressed first.
The latest sources are available in the source code repository. It can be accessed using the Mercurial distributed version control system. The details are explained in the source code repository instructions. With Mercurial you get a local copy of the source code repository which you can use to develop a patch that fixes a bug or implements a new feature. If you feel confident that the patch is correct and useful to others, you can then submit this patch to the Gambit maintainers. The patch will be reviewed to see how well it fits with the goals and philosophy of Gambit. If the patch is accepted then it will be applied to the source code repository and included in the official distribution of Gambit. If you are planning to make a substantial change to the source code it is best to discuss your plans on the Gambit mailing list beforehand to improve the likelihood it will be accepted when it is submitted.
Contributing to Gambit's documentation
The Gambit manual's source is bundled with the source code. It is in the doc subdirectory of the Gambit source code distribution. Patches to the manual can be contributed like source code contributions as explained above.
The Gambit web site is organized as a Wiki, powered by MediaWiki (the same system used by Wikipedia). The core pages and the navigation sidebar can only be edited by the Gambit maintainers. Pages which have an edit link or tab can be edited by anyone using these editing rules.
Suggestions for improving the Gambit web site or for adding new pages that can be edited should be discussed on the Gambit mailing list.
Contributing to Gambit's packages
The procedure for contributing packages is still under development. Please stay tuned.