该KDE communityis#movingtogitlab.! After announcing the original decision to migrate to GitLab in November 2019, KDE has officially completed phase one of their migration, and contributors have begun to use GitLab on a daily basis at invent.kde.org. Read on to learn more about KDE's migration story.
KDE是一个为桌面和移动设备创建开源软件的国际社会。KDE软件与多个平台兼容，包括GNU / Linux，FreeBSD，Windows，MacOS和Android。他们的产品由manbetx体育客户端3.0数百万家庭和办公室工作人员使用，并正在世界各地部署。
Together, this community creates and maintains more than 200 applications and countless add-ons, plugins, and Plasmoids, 1000+ repositories, 80+ frameworks for Qt developers, and more than 2,600 projects. KDE software is translated into more than 100 languages to enable vast global reach.
One of the main reasons that KDE decided to move to GitLab is to improve the newcomers story and make it easier to start contributing to KDE software. AsAleix Pol, President of KDE e.V says, "Adopting GitLab has been a natural next 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."
"By using a platform offering an interface and workflow that most open source developers are nowadays familiar with, we are confident that we are lowering the bar for new contributors to join us, and are providing the foundation for our community to scale in the following years," addedNeofytos Kolokotronis.，KDE E.V.董事会成员，董事会和KDE的船上队的核心成员。
Another important consideration for the KDE community was to move to a product that was well-supported and where feedback from the community would be taken into account. With a release every month, GitLab has fast-paced development and is actively maintained by the company and community alike. Community members help to shape the way the product is built, and there's an开放式路线图sincetransparency is one of GitLab's core values。
搬到新的工具是建立大量的工作ed communities like KDE. Migration decisions require careful communication and the complex task of gathering community consensus.
该KDE team made the decision to migrate away from itsformer tech stack经过一系列精心设计的步骤后。首先，他们与Sysadmin团队交谈，然后形成了一个迁移团队来评估举动。接下来，Sysadmin团队完成了对Gitlab的特征的彻底研究，并进行了摄入和社区需求对这些产品特征的比较。manbetx体育客户端3.0然后，他们创建了一个过程，允许KDE使用一些项目运行短的测试周期，记录过程，并向社区提供反馈。
该migration started by moving some smaller and more agile KDE teams that were very interested in testing and providing feedback. After this cycle was completed successfully, KDE started migrating teams with a larger codebase and more contributors. Once all of the major issues were resolved, they made the final switch for all remaining projects they planned to move. The sysadmin team documented the results after each step and shared them directly with the KDE community to receive feedback and gather consensus on how to proceed.
当到Gitlab的交换机直接落在KDE的范围内"Streamlined Onboarding of New Contributors" goal, KDE新员工培训团队也从the start, working very closely with the sysadmin team, who were leading the effort. The community was involved in the decision-making from the beginning, and stayed up-to-date on each phase of the migration, and all questions and concerns were answered and addressed along the way.
Migration challenges and solutions
该biggest challenge for KDE was the sheer volume of data they were dealing with and how it was integrated into the numerous tools in use (includingPhabricator). With more than 1,000 repositories, this migration was a big undertaking.
To address this challenge, KDE decided to approach the migration in phases rather than do it all at once. By phasing the migration, they were able to deal with different data types, such as repositories and tasks, separately.
KDE ported custom Git hooks to ensure that certain checks and actions continued after the move to Gitlab. These include checks to ensure file encodings match KDE requirements and that bugs on their Bugzilla installation were closed as needed.
KDE also adjusted the tools used to build and develop KDE software to make them compatible with the new repository structure in GitLab.
At this point, KDE overcame most of their migration hurdles. Once the preparation work was finished to clean up a number of systems to work more natively with GitLab, the actual migration took about one day.
But there are a few more challenges left before KDE can transition continuous integration (CI) and task management over to GitLab. To follow along with the KDE migration, you can take a look at thelist of issues that KDE is tracking。
KDE decided to tackle this challenge by setting up a series of groups at the top level of GitLab to act as categories. KDE's 1,200 repositories were then sorted into each of these categories.
With regards to permissions, KDE uses a single master "KDE Developers" group to manage membership and permission levels. Everyone there is given "Developer" access. This group is then invited to all of the groups containing repositories except for the ones containing the KDE website and infrastructure repos. This method of dealing with permissions allows KDE to maintain a single source of truth.
gitlab + kde =❤️
For example, the GitLab for Open Source program has aKDE迁移的公共跟踪器，它用于漫步和更好地了解尤其重要的问题。这允许KDE，Gitlab和较大的开源社区在一起合作挑战。
“Gitlab的价值观合作andtransparencyreally shine through," says Neofytos. We appreciate their openness to accepting merge requests from community members and considering proposals for new features. We have had a great experience so far collaborating with members of the GitLab community and members of the GitLab team – from developers to program managers to product owners alike."
Now that phase one of the KDE migration is complete, we look forward to continuing to collaborate with KDE through the remaining phases of the migration.
Summary of the KDE migration
- Phase 2: CI
How to contribute to KDE
KDE有一个惊人的社区，他们欢迎新成员！现有成员乐于为新人提供反馈，以帮助他们学习。每天越来越多的人加入永远越来越多的KDE家族 - 而且有更多的空间更多！
KDE has a rich infrastructure of web resources, forums, mailing-lists, IRC (chat), and many other ways to get in touch. To learn more about joining the KDE community, visit their "Get Involved" page, which offers guidance to all contributors from all backgrounds.
Considering a migration for your open source project or organization? Learn more about ourGitlab用于开源程序and don't hesitate to contact us at email@example.com. Follow our social media hashtag#movingtogitlab.for more migration stories, tips, and tricks.
非常感谢Kde的Aniqa Khokhar，Ben Cooksley，Bhushan Shah，Neofytos Kolokotronis，以及保罗布朗，用于在这个博客帖子上合作。