What skills do we need on the team?
- Python - Obviously. Jokosher is written in Python so if you can program python thats great. If you don't know python but can program other languages getting involved is a good way to learn. Seriously. It worked for me :) If you can't program but want to learn then there are loads of great tutorials on the web, there will still be things to do when you come back!
- C - Jokosher depends heavily on gstreamer and gnonlin, so anyone who can help fix bugs in either would be a huge help to us, and the nice people at Fluendo would be very happy for the help.
Getting Started
- Join the mailing list - 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 here.
- Read the documentation - This wiki explains a lot of the Jokosher design, the gtk and gstreamer documentation are also usefull. If you dont understand how things are meant to work how will you know when its not working? Start with JokosherHackingGuide then with rest of the links from the CodingTeam page
- Find a bug - Yes Jokosher has bugs, its 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.
- Fix the 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.
- 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
- 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
- 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.
- 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.
- Dont 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 your stuck, or want to understnad 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 Jokosher for a long time to come.
