= Hydrogen coding team - Getting involved = This document describes how one can get involved with hydrogen as a developer. Beside the technical development, you can also help us with other tasks, like maintaing the website or testing bugfixes. Just contact us via the mailling list if you're interested in such tasks. '''1 - Coding team skills''' * C/C++ coding experience * QT (used only in the user interface) '''2 - Download the development sources''' {{{ git clone git://github.com/hydrogen-music/hydrogen.git }}} '''3 - Join the mailing list and forum''' Development and documentation information flows back and forth on the mailing list, so you'll want to be subscribed. Patches can also be submitted to the list. You can find information on joining the mailing list as well as a link to the archives [https://lists.sourceforge.net/lists/listinfo/hydrogen-devel here]. '''4 - Read the documentation''' * Project structure * Class details * Coding conventions '''5 - Find a bug''' Yes Hydrogen has bugs, it's pretty solid but try some edge cases, things that other developers may not have tried, if it falls apart, doesn't give you an error message, or just gives you a wrong error message its a bug and somebody needs to fix it. TODO: fare riferimento al ticket system '''6 - Fix a bug''' Simple huh? Backup the source code then hack one copy around until you've fixed the bug. If you make a complete hash of things restore from your backup and start again, we all do it. '''7 - Generate a patch''' Once you've got your fix working clean it up so theres no debugging code left in etc, then when its nice and clean run: {{{ svn diff > my_first_patch.diff }}} '''8 - Test your patch''' Get the latest version of the source, test it to make sure your bug is still there then apply the patch and test it again to make sure the patch works and fixes the bug properly. To apply the patch run: {{{ patch -i my_first_patch.diff }}} '''9 - Submit your patch''' Email your patch to the list as an attachement with [PATCH] in the subject so we know what it is. Make sure you describe what the problem is and how you've fixed it, a few lines is generally enough. '''10 - Sit back and wait''' It may take a while for someone to try your patch out and commit it. We have lives and jobs too. We will get to it. '''11 - Don't take offence''' Sometimes patches get rejected. Read why it was rejected, learn the lessons, try again. It took me three attempts to get my first patch accepted but it was a lot better by take 3 then it had been at the start. After you've had a few patches accepted you will be given commit access. There is no hard and fast rule on when this happens but keep submitting good quality patches and it will happen. == Getting Help == Remember that mailing list you joined.... If you're stuck, or want to understand why things are done one way and not another, or if somebodies already working on something, or any other question, or you just want to tell us how much we rock, send us a mail. Remember, you are not alone. Stay connected with the rest of the development team. Ask questions! Don't get discouraged! We want you to be involved in Hydrogen for a long time to come.