2020年6月29日 - Nuritzi Sanchez

Why the KDE community is #movingtogitlab

Open source software community giant KDE finished phase one of their migration to GitLab and has joined our GitLab open source program. Check out what's next for KDE and GitLab.

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是一个为桌面和移动设备创建开源软件的国际社会。KDE软件与多个平台兼容,包括GNU / Linux,FreeBSD,Windows,MacOS和Android。他们的产品由manbetx体育客户端3.0数百万家庭和办公室工作人员使用,并正在世界各地部署。

克德社区拥有超过2,700多名艺术家,设计师,程序员,翻译,作家和其他贡献者,蓬勃发展。

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.

为什么KDE搬到Gitlab

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.

“这对我们来说是一个重大变化,但我们对我们的社区如何在长长的讨论线程上进行了满意。我们相信,通过共同努力,我们在我们前进时做出了最佳决策,”Neofytos说。

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开发了自定义工具,在整个迁移过程中更轻松地进行批量更新。这些工具有助于将项目的名称,描述和化身与许多设置一起设置,例如受保护的分支和合并方法。通过使用这些自定义工具进行批量更新,KDE也能够避免授予对各个贡献者的维护者访问权限。KDE仅允许根据其访问和权限策略对Sysadmins进行维护。

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还建立了从Gitlab导出的SSH键,以避免在两个地方更新这些。

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

Architectural decisions

迁至Gitlab的组织的共同挑战是决定如何构建他们的团体,以最佳使其社区的工作流程能够遵守他们的政策。

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.

KDE形成了这种架构战略,以帮助使项目更加可发现。KDE希望避免需要通过存储库无休止地滚动的人们的不切实际。设置顶级类别还允许开发人员获得更容易的合并请求对它们最感兴趣的类别的合并请求。

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 =❤️

KDE正在使用Community Editionof GitLab because of their commitment to open source. They are a member of ourGitlab用于开源计划,并在整个迁移中积极与Gitlab团队成员合作。使用Gitlab进行大规模移民工作的开源计划的好处之一是,社区通常通过评估期及以后提供一些额外的援助。

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

  • 第1阶段:代码托管和审查✅
  • Phase 2: CI
  • 第3阶段:开发人员的任务管理

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 opensource@gitlab.com. Follow our social media hashtag#movingtogitlab.for more migration stories, tips, and tricks.

非常感谢Kde的Aniqa Khokhar,Ben Cooksley,Bhushan Shah,Neofytos Kolokotronis,以及保罗布朗,用于在这个博客帖子上合作。

覆盖图像Dicson.onUnsplash

Free eBook: The GitLab Remote Playbook学会稳定您的工作队伍,深入了解包括异步工作流程,会议,非正式沟通和管理等主题。现在下载箭头

尝试所有Gitlab功能 - 免费30天

Gitlab.is more than just source code management or CI/CD. It is a full software development lifecycle & DevOps tool in a single application.

1Manbetx
manbetx客户端打不开

TryGitlab.risk-free for 30 days.

不需要信用卡。有问题吗?Contact us.

Gitlab x icon svg