Becoming an EMC ContributorBecause it is Free Software, anyone can modify the EMC software and distribute those changes to others. But for these improvements to be enjoyed by the greatest number of users, they must be incorporated into the official version of EMC which is distributed by linuxcnc.org. This document describes how to contribute your improvements to linuxcnc.org.
(This document uses the term Contributor instead of Developer, because Contributions can take many forms including documentation, artwork and localization (translation), while the word Developer generally means someone who writes code) Step 1. Participate in the EMC communityFirst, make yourself a member of the community. This generally means participating on the IRC channels (#Emc on freenode.net) and/or mailing lists (http://sourceforge.net/mail/?group_id=6744). Step 2. Know and articulate how you'd like to helpHow do you hope to improve EMC? If you have a new feature in mind, talk about it and get a feel for how others think it will fit with the EMC project. If you want to translate or document, find out whether someone else is working on the same thing. If you want to fix nontrivial bugs, discuss your approach with others who are familiar with the source code. Step 3. Understand the development toolsHere are a few things that you should know how to do: - Obtain and update the source code with cvs
- Produce and apply patches ("diffs") with cvs
- Build the software and test your changes
Step 4. Share your workAfter making your changes, produce patches. Use e-mail, IRC, or the web to share them with others. Work with a Contributor who has CVS commit access to refine the patch. If your changes fit with our vision of emc, a Contributor with CVS commit access will add the changes to the official version. Be prepared to accept criticism of your patch; remember that it's not personal criticism.
For certain things which can stand alone (such as HAL components), we have dedicated wiki pages (http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?ContributedComponents) Step 5. Ask for CVS commit accessHaving CVS commit access means that you can directly add your changes without prior review by another Contributor.
After you have several contributions under your belt, talk with a member of the EMC Board of Directors about getting commit access. The Board will generally quickly make a decision whether to grant commit access.
|