Difference between revisions of "Development guide"
Revision as of 10:48, 7 May 2008
MythTV Development Howto
So you want to know more about the development of MythTV? Well, first, almost all of the development activity goes through the mythtv-dev mailing list. When you have an interesting idea, subscribe to mythtv-dev, review its archive, and ask if anybody else is working on it. Some people might want to help you with figuring things out, and on the other hand, you might also be of assistance to existing efforts.
I can't program. Can I help?
Of course, there are lots of things that can be done without being a code wizard. Documentation often lags behind features. The mythtv-commits mailing list provides information on what has been coded into the system recently and updating documentation here or in the official docs on mythtv.org is a welcome contribution.
If you have language skills, you can work on internationalizing/translating the product. This is needed in the core system as well as the modules.
If you are interested in creating a new theme, read the theme development guide section for how to get started.
Or, of course, you can help writing and editing material right here on the Wiki. There's a project underway to create a User Manual which is starting to pick up steam.
Beta testing new features is always appreciated. One does not need to be a developer to pull code from SVN and compile it - but you do need to be aware that going to SVN code implies a certain responsibility on the user's part to debug their own problems, file useful bugreports, and be able to downgrade or upgrade accordingly to fix issues.
I've got this great idea...
Ultimately, this project's direction is Isaac's to control.
But, some users have taken the time to suggest items to go on a Feature Wishlist. If you are a developer looking for a project, this might be a place look for some ideas proposed from the user community. Understand that these features may not represent what the project maintainers are looking for. A quick note to the myth-dev mailing list with your intentions will often result in feedback on the viability of your ideas in the project.
Often, your idea might already exist -- it's a big project, and the features are sometimes a little tricky to find. Before spending time developing a new concept, try these steps:
- Look through all of the settings pages in MythFrontend and setup. Sometimes the feature you want isn't in the place you'd expect, or it's using a different name.
- Read the keys.txt file in the Myth distribution. Many options are documented here, and you may not know of their existence.
- Search Trac reports to see if someone's submitted a bug report or feature request. You may be able to help by adding more information and clarifying the original report.
- Search the mythtv-dev archive to see if someone's already discussed the feature. It may have been rejected because of some unforeseen consequence, or someone may already be working on it.
I can program, how can I help?
If you are new to developing Myth, these pages can help you through the process:
- Some guidelines for writing code are on the Coding Standards page.
- When your code is ready for the public, check the Submitting Bug Fixes page for information on how this is done.