How to Contribute to Open Dylan¶
This document only discusses how to make changes to the
repository. For external libraries (including ones that are pulled into
opendylan as submodules) just make your changes, run the test suite, and
submit a pull request to the appropriate repository.
Aside from dylan-lang there are two other GitHub organizations that may be of interest:
dylan-foundry is Bruce Mitchener’s large collection of Dylan libraries.
Looking for Ideas?¶
If you’re looking for ideas on how you can contribute to Open Dylan or what others might find useful, please see our list of projects in the Open Dylan wiki or check out the list of bugs labeled Easy. If you have something in mind that isn’t there, feel free to talk with us or add it to the list.
The Open Dylan sources are hosted on GitHub, along with sources for the opendylan.org web site and many other repositories. If you don’t yet have a GitHub account and ssh keys, now is a good time to get them.
To checkout the main “opendylan” repository:
git clone --recursive https://github.com/dylan-lang/opendylan
You’ll want to fork this repository so you can push changes to your fork and then submit pull requests.
In general, when making changes to the compiler and core libraries you’ll use
Makefile to build and test your changes. See
BUILDING.rst in the
top-level directory of your checkout for details on how to install required
software and build the compiler.
Fork the repository. You will need to have a GitHub account to do this.
Create a topic branch with
git checkout -t -b my-branch.
Build and test with
Commit changes to your branch, putting each distinct fix in a separate commit.
Push your changes to your fork on GitHub.
Submit a pull request with your changes.
You almost always want to branch from the master branch.
Update documentation as necessary. Also, if appropriate, update the release notes, samples and other supporting materials.
We suggest following this note about git commit messages.
Follow the style guide for new code. When working in existing code, follow the existing style.
Do not make a lot of style or whitespace fixes in the same commit as other changes.
Use 2 spaces for indentation, never tabs. If you use emacs, dylan-mode does a decent job of indenting code.