The development of WebKit, the open source web browser engine at the heart of Apple’s Safari web browser, has migrated over to GitHub.
The WebKit project team announced August 31 that the project had frozen its Subversion tree on June 23 and transitioned management and interaction with the source code to the Git version control system and GitHub repo hosting service. A blog post detailing the reasoning behind the move to Git and GitHub cited the benefits of both.
For GitHub, the team cited these benefits:
- A very large community of developers, particularly web developers, with whom the WebKit project works closely to improve the engine.
- A modern and secure platform to provide feedback on code changes.
- An API for building out advanced pre-commit and post-commit automation with minor modifications to existing infrastructure.
For Git, the benefits cited include:
- A distributed version control system that enables multiple organisations to collaborate on single projects.
- GitHub’s ubiquitous use in software engineering.
- A local record of changes that makes it quick and easy to move commits between branches or revert changes.
- An author and committer model that represents the complex ways a large software project like WebKit writes and manages code.
One drawback the team cited for Git, though, is that hashes are not naturally ordered. The WebKit team has found that the ability to easily reason about the order of commits to the project repository was crucial for its zero-tolerance performance regression policy. Thus the team has decided to use “commit identifiers” in workflows that require bisection.