Why contribute to Pitivi instead of another project?
COMMUNITY — Pitivi is an active project used by thousands of people and developed 100% in the open by many contributors. We offer excellent mentorship for GSoC students or anyone interested in getting involved seriously.
TECHNOLOGY — Pitivi is written in Python, which makes frontend development fun and easy. We use the brilliant GStreamer multimedia framework, through which we also benefit from improvements in other libraries like FFmpeg/libav, frei0r and many others.
BEING GOOD CITIZENS — The multimedia community loves us because we push the boundaries of what can be accomplished with GStreamer, and we stay true to the "upstream first" approach: we fix problems directly in the projects we depend on, instead of piling up nasty hacks in our application.
EXPERTISE — We're an established project with deep expertise that younger projects do not have, and we are here to stay. Don't make the mistake of "reinventing the wheel" like countless others.
There are three main areas where you can contribute code:
Pitivi itself, mostly UI work. It is written in Python (a flexible, easy to learn high-level programming language), which helps lower barriers of entry and keeps the code clean and simple. See also our coding style convention.
Pitivi's test suite (also written in Python). Feel like improving the quality of Pitivi but not comfortable enough to jump into the "real" code? This is for you! There's always room for improvement and more comprehensive testing, so think about corner cases/reproducible bugs that you'd like to see systematically tested, and write some test cases for them! See the test suite page on the wiki.
GStreamer Editing Services, the C library on which Pitivi depends to do all the serious work. If you want to work on the backend, this is the way to go.
Build the current development versions of Pitivi and GES (see the download page).
Take a look at the "stuff to be done" and "developer documentation" sections below.
The wiki is our main documentation for contributors. Namely, check out the developer documentation category, and if you find incomplete or outdated information, please let us know (or edit the pages directly!).
Testing & Reporting bugs
We use Phabricator to track enhancement requests and bug reports. Our bug tracker is well-organized and issues are investigated systematically. See our bug reporting info page for useful links and details.
Quality releases require regular testers! So please download our latest daily build and report any issues you encounter.
Spreading the word
Keeping people informed of the progress we're making is an important task. If you love explaining and storytelling, you could help in many ways: writing blog posts, preparing announcements and release notes, making videos, etc.
Improving the user manual
We use Mallard to provide a high-quality, topic-oriented user manual bundled with the application. Help us by writing new topics, refining existing ones, or simply by reviewing and keeping the user manual up-to-date and ready for the next release.
Maintaining the wiki
Our wiki has many documentation pages that need to be updated, cleaned or made obsolete. Having an up-to-date and consistent wiki for contributors is important. Of course, we will provide guidance and help you towards this glorious goal.
Translations are kindly handled by dedicated translation teams from the GNOME community. To be able to commit translations to Pitivi in an organized fashion, you must join the GNOME translation team for your native language.