This is a set of guidelines for contributing to MetaBrainz projects. These include general tips on how to use Git/GitHub and more specific advice on how to write code using the different programming languages or frameworks that we use.
Everyone is welcome to contribute to any of the MetaBrainz projects. Implementing new features, fixing known issues or reporting new ones, improving documentation, etc. There are plenty of ways to get involved in the development process.
The source code for most MetaBrainz projects is hosted under the MetaBrainz organization on GitHub. There are some exceptions like BookBrainz project or AcousticBrainz GUI.
Our bug tracker is located at https://tickets.metabrainz.org/. All issues should be reported there, under a specific project. Project list is located at https://tickets.metabrainz.org/secure/BrowseProjects.jspa. You will need to create a separate account to create new issues and interact with existing ones.
Any problems or comments on these guidelines can also be reported using our bug tracker. File them under the 'Guidelines' component of the OTHER project: https://tickets.metabrainz.org/projects/OTHER
Our developers use IRC for communication. You can join us in the #metabrainz channel on the Freenode network. Feel free to come and say "Hi!" if you want to know more about the development process. More info about interesting ways we communicate with each other is available at https://wiki.musicbrainz.org/Communication.