The Dojo Foundation protects the interests of all contributors and users by accepting all code and documentation contributions only from people who have signed a Contributor License Agreement. Our CLA is the simplest of agreements, requiring that the contributions you make to the foundation are only those you're allowed to make. This helps us significantly reduce future legal risk for everyone involved. It is easy, helps everyone, and is an easy ten minute one-time process for individuals (An aside for corporate CLAs: corporations usually take longer because, well, corporations have extensive legal review processes... but our CLA is borrowed, with permission, from Apache, and has been approved by many companies including IBM, Sun, AOL, Google, and many more). More information is listed below in the Contributing in Depth section of this page.
Contributors can help in many ways:
- Source Code: The most obvious contribution is either new features or patches to fix existing issues with a Dojo Foundation project
- Server Operations: We can always use help from people willing to help optimize and configure project servers, install upgrades to our software packages, and be familiar enough with our systems to be available in case of an outage. Any help you can provide here will let Dustin sleep a bit more at night!
- Web Development: Dojo Foundation project web sites can always use help to add features, improve layout, create new demos, tutorials, articles, and much more
- Design: In addition to web site design, many of our projects can use design assistance for creating widgets, themes, icons, demos, and more.
- Translations: Help with internationalization efforts within projects, or by translating documentation or other information to your native tongue.
- Sponsorships: The Dojo Foundation accepts larger sponsorships for our ongoing operations, and also for our free community events such as Developer Days, dojo.beer, and more.
Contributing in Depth:
In many cases, the hard work of fixing bugs is understanding them well enough to determine what the system is doing and what it should be doing. If you've reached this point in the process of filing a bug report, you may find it just as easy to fix the bug as to report it. So how do you get your fix merged back into a Dojo Foundation project?
The easiest way to submit patches to a Dojo Foundation project is to create diffs and attach them to existing bug tickets with that project's bug tracking system. This is a straightforward process, and as mentioned above, we'll need a "Contributor's License Agreement" (CLA) on file from you.
Once your CLA has been received, project committers can review and (potentially) merge your changes to fix the bug. To increase the odds that your patch will be merged, remember the following:
- Your patch must conform to your project's Style Guidelines
- Your patch should be created against the latest version of the project source code, which you can get from a Subversion checkout
- All changes should be submitted in "unified diff" format. The output of subversion's diff command is usually sufficient.
- A test case should accompany any patches in order to verify that the change actually fixes the issue in question
Inside the Dojo Foundation community, there are two groups of people who contribute. The word "contributors" refers to anyone who submits documentation, bug fixes, or even bug reports and test cases. You can become a contributor by sending in a CLA and jumping into the fray! Demos, patches, docs, and tests are all warmly welcomed.
"Committers" are a subset of the contributor community who have been granted the ability to make changes directly to one or more Dojo Foundation projects. Committers can also vote in matters relevant to their project and the Foundation. Committers are required to act as the front line of defense against IP pollution, follow community development standards, merge or reject patches sent in by contributors, vote, participate in weekly IRC meetings, and work on critical release issues. Becoming a Committer is considered an honor as it means you've impressed a discerning group with the quality of your contributions and the team feels that they can get along with you.
So how do you go from "contributor" to "committer"?
The first step is to file a Contributors License Agreement, then...start contributing! There's no hard-and-fast rule for how many contributions it takes before you are considered for Committer status, but in general you'll need to close important bugs, contribute significant amounts of documentation or demos, or in some other way show the team that you "get" how we work and that you respect others in the community. Committers make recommendations to the Foundation Board regarding people they think should be considered for Committer status, so working with a Committer to assist him/her with issues that are important for an upcoming release is a great way to ensure that your contributions are integrated and that you will be considered for Committer status.
Send in your Dojo Foundation Contributors License Agreement today and start contributing!