Difference between revisions of "Contribute"

Line 19: Line 19:
 
* Samba uses GIT as a version control system. You should make yourself familiar with git. A good start for that is [[Using_Git_for_Samba_Development]]. Further GIT information can be found in the [http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html GIT tutorial].
 
* Samba uses GIT as a version control system. You should make yourself familiar with git. A good start for that is [[Using_Git_for_Samba_Development]]. Further GIT information can be found in the [http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html GIT tutorial].
  
* There are Samba coding standards. To prevent superfluous work, you should read them before starting. They are  
+
* The [http://www.samba.org/samba/docs/man/Samba-Developers-Guide/ Samba Developer's Guide] is a good introduction into the technical stuff.
 +
 
 +
* There are Samba coding standards. To prevent superfluous work, you should read them before starting. They are summarized in the README.Coding file located in the Samba tarballs.
  
 
* If you don't know what you'd like to work on, look at the list of current [http://bugzilla.samba.org bugs] or check [[SoC/Ideas]] (proposals for Summer of Code projects).
 
* If you don't know what you'd like to work on, look at the list of current [http://bugzilla.samba.org bugs] or check [[SoC/Ideas]] (proposals for Summer of Code projects).
  
3. Get in communication with the Bugzilla developers, and talk about what you want to do. This makes it easy for us to tell you "Oh, we're already working on that, you can help!" or "Oh, the best way to do that would be..."
+
* Get in communication with the Samba developers, and talk about what you want to do. This makes it easy for us to tell you "Oh, we're already working on that, you can help!" or "The best way to do that would be..." ;-)
 
 
4. Check out the latest Bugzilla code from CVS. You can see instructions for how to do this on the Bugzilla download page. You always want to work against the latest CVS code of Bugzilla, not a released version, if you're writing patches that you want us to accept.
 
  
5. Write some code. Make sure that you follow the Developer's Guide. If you're new, you don't have to read the whole thing. Just read the General Guidelines, the Style section, and any other part that you think applies to the code that you're writing. Make sure that your patch is as simple and small as possible. And make sure that you license each file correctly.
+
* Check out the latest Samba source code from GIT. You can see instructions for how to do this on the [http://www.samba.org/samba/devel/ Samba development site]. For new features, you always want to work against the latest master branch of Samba. To create bug fixes for a certain version, checkout the corresponding release branch. See the [http://www.samba.org/samba/devel/ Samba development site] for more information on current branches.
  
6. Test your code. Make sure it works, and run ./runtests.pl in the Bugzilla directory. Also use the HTML validator to make sure your code generates valid HTML, if you modified any of Bugzilla's HTML.
+
* Write some code. Make sure that your patch is as simple and small as possible and follows the Samba coding standards. And make sure that you license each file correctly.
  
7. Make a patch
+
* Test your code. Make sure it works, and run 'make test'.
  
8. Submit your patch in Bugzilla
+
* Make a patch using 'git-format-patch'.
  
9. Ask for review
+
* Submit your patch in Bugzilla or directly send it to the samba-technical mailing list.
  
10. Once your bug has passed review, the reviewer will ask for "approval". When approval is granted, you or the reviewer can commit the patch to CVS.
+
* Ask for review
  
11. Commit your patch, or get somebody else to commit it for you.
+
* Once your bug has passed review, the reviewer can commit the patch to GIT.

Revision as of 11:15, 9 October 2009

How to contribute to Samba?

Like all OpenSource projects, Samba is reliant on volunteers. You don't need special skill to help this project. Everybody can help! :-)

Getting started

There are several category groups you can work on:

  • Improve documentation
  • Help testing
  • Report bugs
  • Help to verify patches in bugzilla
  • Create patches (C developers)

For C developers

  • You should introduce yourself on the samba-technical mailing list and join the #samba-technical IRC channel on irc.freenode.net to get in touch with other Samba developers.
  • There are Samba coding standards. To prevent superfluous work, you should read them before starting. They are summarized in the README.Coding file located in the Samba tarballs.
  • If you don't know what you'd like to work on, look at the list of current bugs or check SoC/Ideas (proposals for Summer of Code projects).
  • Get in communication with the Samba developers, and talk about what you want to do. This makes it easy for us to tell you "Oh, we're already working on that, you can help!" or "The best way to do that would be..." ;-)
  • Check out the latest Samba source code from GIT. You can see instructions for how to do this on the Samba development site. For new features, you always want to work against the latest master branch of Samba. To create bug fixes for a certain version, checkout the corresponding release branch. See the Samba development site for more information on current branches.
  • Write some code. Make sure that your patch is as simple and small as possible and follows the Samba coding standards. And make sure that you license each file correctly.
  • Test your code. Make sure it works, and run 'make test'.
  • Make a patch using 'git-format-patch'.
  • Submit your patch in Bugzilla or directly send it to the samba-technical mailing list.
  • Ask for review
  • Once your bug has passed review, the reviewer can commit the patch to GIT.