KDE developers released recently the announcement of the completion of the first phase of the translation of the KDE development in GitLab and the beginning of the use of this platform in daily practice on the invent.kde.org site.
In the words of the developers, this move is due to KDE decided to move to improve the story of the newcomers and facilitate the contribution to the KDE software.
As Aleix Pol, President of KDE eV, says:
“Adopting GitLab has been a natural step for us. Simplifying the onboarding experience for new contributors is one of our main goals in the KDE community. Being able to allow project contributors to easily participate in how the products they maintain are tested and delivered will certainly be a turning point for our ecosystem.
The first phase of migration It involved the translation of all the repositories with KDE code and revision processes.
In the second phase, it is planned to use the continuous integration capabilities, and in the third, switch to using GitLab to manage troubleshooting and task scheduling.
Be supposed to using GitLab will lower the barrier to entry for new members, it will make participating in KDE development more familiar and will expand the capabilities of the development tools, maintaining the development cycle, continuous integration, and reviewing changes.
Previously the project used a lot of Phabricator and cgit, that many new developers perceive as unusual. GitLab has features quite similar to GitHub, it is free software and is already used in many related open source projects, such as GNOME, Wayland, Debian, and FreeDesktop.org.
“By using a platform that offers an interface and workflow that most open source developers are familiar with today, we are confident that we are lowering the bar for new contributors to join us, and we are providing the foundation for our community to scale in the years to come, "added Neofytos Kolokotronis, member of the KDE eV Board of Directors and a core member of the KDE onboarding team.
The migration took place in stages: Initially, the capabilities of GitLab were compared to the needs of the developers and a test environment was launched in which small, active KDE projects that accepted the experiment could test the new infrastructure.
Based on the comments received, work began to eliminate the deficiencies identified and prepare the infrastructure for the translation of larger repositories and development teams. Together with GitLab, work was carried out to add to the platform's free edition (Community Edition) the features that are missing from the KDE community.
Moving to new tools is a lot of work for established communities like KDE. Migration decisions require careful communication and the complex task of obtaining community consensus.
The project has around 1,200 repositories with its own details, to automate the transfer of which the KDE developers wrote utilities for data migration with the preservation of individual descriptions, avatars and settings (eg using secure branches and specific merge methods).
In addition, Git drivers were used existing, to be usedn to verify that KDE accepted file encoding and other parametersas well as to automate the closing of bug reports in Bugzilla.
To simplify navigation in over a thousand repositories, the repositories and teams were divided into groups and classified in GitLab (desktop, utilities, graphics, sound, libraries, games, system components, PIMs, frameworks, etc.)
As well as mentioning that another important consideration for the KDE community was moving to a product that was well supported and took into account community feedback.