How to Contribute
From Rubygame
This wiki has moved! You can view and edit the new wiki on GitHub!
Contents |
Intro
This is a brief guide for anyone who is interested in helping improve Rubygame by contributing code changes — bug fixes, new features, etc.
Finding out what needs to be done
If you want to help out, but aren't sure what needs to be done, you’ve got several options to choose from:
- Check the list. There's a list of open issues on GitHub. Pick one that seems within your abilities, and have at it.
- Ask me. Send me an email: jacius at gmail. I usually have a good idea of what needs to be done, even if I haven't filed issues for them.
- Scratch your itch. If you have an idea of something that should be added, fixed, or improved… go for it!
Submitting the change
If you want to contribute to Rubygame, the best way to do it is to fork the Rubygame repository, make a change, then send a pull request.
Give yourself credit
When you make any contribution, add an entry to the CREDITS file with your name, email, a brief summary of the change, and the date:
- <b>Chris Contributor</b> Email:: chris.contributor at email.com Contribution:: Added Rubygame::FancyFeature class. Date:: 2011-12-13
Additionally, update or create the copyright header in every file you modified/created. The way you do that is different for existing files that you modified, or new files that you created:
Existing files that you modified
If you modified any existing files, add a note at the bottom of the copyright/license header in every file you modified:
# (...) # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # # Changes: # * Chris Contributor, 2011-12-13: # Added Rubygame::FancyFeature class. # #++
New files that you created
If you created any new files from scratch, copy the copyright/license header from another file, but use your name in the copyright information:
#-- # This file is one part of: # Rubygame -- Ruby code and bindings to SDL to facilitate game creation # # Copyright (C) 2011 Chris Contributor # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # (...)
Policy stuff
This is stuff you should do to make accepting your changes easier for me (and thus more likely that I'll accept them):
- Use topic branches. Make a new branch based on 'next' for your changes. This helps me keep track of which commits are relevant. One branch per logical change, please.</li>
- Spec it. A change (feature, bugfix, whatever) that comes with specs is much nicer than a change without, even if the specs aren’t comprehensive.
- LGPL “v2.1 or later”. All the source in Rubygame is licensed as GNU LGPL “version 2.1 or later”. If you add a new source file, it must be licensed under the same terms, or I simply will not accept it. Be sure to add the LGPL header to the top of the source file, using your name in the copyright section, as described in the Give yourself credit section above.