Improving Code Contributions
April 9, 2010 Leave a comment
If you have been dowloanding code from the mercurial repos, you would have notice some spooky coincidences… most package MCLs update all at the same time!
Well you can relax, our repos are not posses. This is the result of Nokia’s package owners delivering contributions to our repos in a centralised manner.As you can imagine delivering updates to over 30 million lines of code every other week is a rather complexed operation.
We have been Working with Nokia to improve the contribution channel to make it reliable (we now consistently recieve contributions every 2 weeks). We are now moving towards the next big step, an automated package-base publishing system. You can now see the first live pilot on the access security package repo.
Some of the advantages of this new system is that each package can be update independently, and as frequently as the package owner needs to. It also provides more control over the information that can be posted with the updates , so we are also looking to improve the changeset information.
We are targeting to roll it out to all platform packages before the end of June.We will follow this with support for managing code merges, so new updates do not create an extra-head by default, if other contributions have previously been integrated.
This drive to improve how contribution land in the Symbian platform is part of a bigger drive to improve the “Master-ship” of our repositories. As I recently posted in the developer forums about some key factors of a Master Repo:
- MCL commits are respected – mainly that if a changeset makes it to the MCL is not ignore by the next change (hence creating an extra head)
- Quick Contribution turn around – once a contribution is proposed review comments are provided within reasonable time
- Good Code Visibility – how often is the package owner and the rest of the community publishing to the MCL
- Diverse Community – how many contributors does a package have and how diverse are they
- Good Content Information Available – Is it visible to the community what the content of the package is and why is it changing?
- Development happens in Public – Is collaboration between contributors happening in the open?
We are now looking into a score card exercise to evaluate where we are and how to improve further. I will keep you posted! 🙂
BTW, This blog is being written from my n97 mini using the new QT wordpress beta app