Tungsten Fabric Migration from Gerrit to GitHub, Part 1

By May 26, 2020Community

By: VM Brasseur

“Octocat” by Philippe Lin is licensed under CC BY-NC-SA 2.0

One of the benefits of open source communities is the ability to collaborate across organizations and choose the platforms and tooling best suited to the goals of the project. Recently, the Tungsten Fabric community decided to migrate its repositories from Gerrit to GitHub. The work has already started and we’re excited to execute this migration over the proceeding months. We’re learning a lot along the way and this post will be the first of a series to share our key findings and explain what this will mean for the community going forward.We hope the migration will fortify the project foundation for years to come and that these posts will be helpful to other open source communities facing similar challenges.

Before taking this step, the TF community took a data-driven approach to validate the feelings that many of us in the community have held for a long time, especially  around tooling usability. The lifeblood of any open source project is the ability to attract and retain new developers and the usability of tools — especially at the beginning — can be a “make or break” for developers deciding where to focus their time and attention. Data we received from participating in Google’s Summer of Code program confirmed Gerrit usability issues for project newcomers and this helped shift the community towards a longer-term view. 

However, migrating repositories is a big deal and not something to take lightly. The migration impacts, along with a spider web of interdependencies, need to be mapped carefully. It turns out migration wasn’t possible at all until recently because TF’s former CI/CD system, Zuul, wouldn’t work the way we needed it to with GitHub. Once the decision was made to migrate CI/CD from Zuul to Jenkins the final obstacle to a GitHub transition disappeared. Prioritizing usability, the TF TSC made the official decision to migrate Gerrit to GitHub. 

As power users of the platforms, TF chose the docs team to take the plunge first and help forge a path for the community to follow. Their role as project scribes naturally means that the process and workflow for migration will be chronicled clearly in Jira tickets, meeting minutes, and captured in the documentation itself.

The docs migration Beta will inform the overall TF repo migration plan and timeline. By rolling out the migration in stages, the community can benefit from lessons learned early on and make adjustments along the way. This reduces risk and builds familiarity for new processes among community members. For tooling, GitHub is of course already ubiquitous in the open source space. In fact, TF has been mirroring the Gerrit repos in GitHub already so that developers could more easily find the project, though contributions had to be made in Gerrit! Therefore, consolidation onto GitHub repos entirely reduces system complexity and allows contributors to work with just one platform. 

Once through the migration process, the community is looking forward to a number of benefits, primarily:

  • Improved usability
  • Easier discovery
  • Faster onboarding 
  • Less complexity

You can take a peek at the Docs work in progress on GitHub here. We’re hoping to complete the Docs migration by the end of June and will provide an update on what we discover as we prepare to migrate over the next batch of repos. Stay tuned and let us know if you have any questions or comments about this significant undertaking. Onward!