Update: we have added a FAQ How do I use and deploy Piwik from Git repository?
Update: we have now also migrated our tickets from Trac to Github issues! read more here.
We have migrated the code base from SVN to Git
Yes, Piwik has moved to GitHub! This is a significant technology move for Piwik and the team is thrilled by this change. Being on GitHub, we hope new developers and companies who believe in our mission to “Liberate Web Analytics” will join us and submit code, ideas and pull requests. For inspiration and amazing ideas, see Piwik 2.0.
Click on the screenshot and “Star” Piwik if you are a GitHub user. Below we describe why Git is so much better than SVN.
What is Git?
Git is a free distributed revision control system. As explained on Wikipedia, Git was initially designed and developed by Linus Torvalds for Linux kernel development.
Since then, Git has been embraced by a lot of big projects like Ruby on Rails; and recently more and more open source projects have also made the switch (like PHPUnit which we use for our QA process).
Apart from being extremely fast, it is also a brand new way of thinking and coding. Being distributed means that when you get a copy of a project (a “clone” in Git speak), you retrieve locally a full-fledged repository with complete history. It allows you to easily work offline for instance.
The other big advantage of Git for a project like Piwik is the ease of accepting contribution from our users. Instead of submitting patches (which you can also do), you can “fork” the project, do some work and ask a member of the core team to “pull” your work. It dramatically lowers the barrier of entry for contributing to the Piwik core. You can also easily maintain your own version of Piwik, and merge the changes easily from the master branch (easy branching and merging is yet another big advantage of Git compared to Subversion).
Note: “What is Git?” section of this post is copied and modified from the Symfony2 Git migration blog post.
Travis CI builds for Piwik will soon be working, and our 3500+ tests will run automatically on a network of distributed continuous integration workers. The tests will be executed after each commit and for all pull requests automatically.
Our Trac is still used to manage feature requests and bug reports, and it is connected to GitHub: commits will automatically create a comment in the relevant ticket, and Trac links to changesets diffs on GitHub.
Contributing to Piwik with Git
Follow us on GitHub: https://github.com/piwik/piwik