Migrating veteran FOSS projects to a modern workflow
Speaker: Anurag Thakur
Track: Systems administration, automation and orchestration
Type: Short talk (20 minutes)
Many FOSS projects that were started a long time ago still follow a mailing list based development model. Patches are sent via email, bug-tracking is done via a separate platform and there is no or little continuous integration. While in some cases it might be because of the maintainers’ preference to the old ways, in other cases it might be because no one is willing to take the charge of such a migration
One such project was FreeType. I proposed, coordinated and performed the project’s migration to the gitlab instance hosted by freedesktop.org in 2021. This included discussing with the community about their concerns, requirements, preferences and then deciding the roadmap. Then I had to write scripts to scrape the FreeType’s bug reports on savannah and migrate them to gitlab. I also participated in discussions about the merge request workflow
I also helped in setting up a continuous integration environment and help manage the docker images.
After migrating freetype’s repo to gitlab, I also helped in migrating its website freetype.org’s hosting to gitlab pages and setting up a CI for auto-deployment. In fact the website repo stored FreeType’s API reference documentation in its source tree while it could be generated in a CI environment. I proposed and implemented a change such that it would automatically generate and deploy the API reference webpages, leading to an MR that removed over 90k (ninety thousand) lines of code from the freetype-web repo.
My talk will be about the benefits of migrating to gitlab/github, importance of discussion in community, challenges I faced during the migration, how it impacted the number of contributions received by the project and other related things.
For projects using savannah as their bug-tracker they will gain knowledge on how to migrate theor bug reports to gitlab. For contributors of other FOSS projects they will gain the perspective on how to propose and co-ordinate a drastic change to a project’s workflow. I will also talk about the added benefits that come from using gitlab/github based workflow.