In its first two years, Chrome development took a more collaborative approach than most Google projects, but now its leaders have decided on more sharply defined leadership roles to better manage the browser's growth.
Instead of notifying a "watchlist" of programmers who are affected by a particular change to the code, a programmer on an "owners" list must now approve the change, high-ranking Chrome engineer Ben Goodger announced yesterday on the developers' mailing list for the open-source Chromium project that underlies Chrome. Goodger wrote:
Much of Chromium's practices are modeled on Google's own internal engineering practices. OWNERS files were one area where we explicitly diverged. Why? In the past I had been concerned about the social effects of OWNERS files--I had been concerned about territoriality which can sometimes creep in any collaborative project. We had encouraged the development of "alternative" means of change notification, and so we have WATCHLISTS. WATCHLISTS proved insufficient for many of us, however. Darin [Fisher, another high-ranking Chrome leader] and I discussed the issue, and talking with other senior engineers decided that OWNERS files seemed like a more comprehensive answer.
The basic problem, he said, is quality control. "Owners files provide a means for people to find engineers experienced in developing specific areas for code reviews. They are designed to help ensure changes don't fall through the cracks and get appropriate scrutiny," he said.
Chrome has open-source foundations, including contributions from programmers outside Google. But as with Linux, Android, MySQL, and many other open-source projects, the approach doesn't mean it's a hobby run by volunteers. The move to the owners system, though, reflects another step toward professional management of the software.
Goodger laid out his case this way:
In the more than two years since the Chromium project started, the number of people contributing has grown immensely. With this expansion has come many challenges, the most important of which is ensuring the continuity of our product and development principles. As our project has grown in size and scope, the code-base has begun to show signs of fatigue...
I speak for a number of leads on the team when I say that we've had a hard time keeping up with the pace of change. As we expand the scope of Chrome in many different directions, it's critical that we consider even more carefully the design of the core code. As we do this it is important to rely on the most experienced engineers in each area.
He laid out the full details of the new code governance in a document describing Chromium's new owners system. Among its strictures:
Only the people who are actively investing energy in the improvement of a directory should be listed as OWNERS. OWNERS are expected to have demonstrated excellent judgment, teamwork and ability to uphold Chrome development principles. They must understand the development process. Additionally, for someone to be listed as an OWNER of a directory they must be approved by the other OWNERS of the affected directory.