2016-01-25T15:14:11 2

Earlier this year, it was announced that Python would be moving to Github. Brett Cannon, the current Python maintainer, made this decision after careful consideration. But mindful of the controversy, Brett explained it first on his website and then in an interview with InfoQ. This article is arranged and revised according to the interview (there are many inaccurate translations of the original text). — Earlgrey@programming

According to Cannon, it took him more than a year to make the move decision, and the options he considered were not limited to Github, but three alternatives:

  • Create forge.python.org to host Python’s repository
  • Migrate to Git, GitHub, and Phabricator
  • Migrate to Git and GitLab

Review images

He finally chose Github due to various factors, and there are three main reasons behind this:

  • GitHub and GitLab are basically the same in terms of functionality;
  • Active developers are familiar with Github, both core developers and peripheral contributors.
  • The father of Python preferred Github. Cannon wants Daddy Guido to contribute more and more easily to Python’s development.

How is such an important decision made? Cannon describes it as follows:

Basically, the decision-making process was not that different from the previous two: First, I asked the community members to propose solutions to the problems through Python Enhancement pePs, and then organized a discussion of the Proposals (but the discussions were open, and eventually the PEPs became the starting points for the discussion, rather than the latest detailed Proposals, as you may have noticed). Then set deadlines for various things, such as when to finalize test examples and when to make final decisions. When that time comes, I’ll make a decision based on what I know at the time.

It’s worth noting that Python only uses Github for code hosting and code auditing. This means that Python’s bug tracking and Wikipedia systems will not migrate to GitHub.

Despite the announcement, the migration is not going to happen anytime soon. So what are the benefits of this decision for the Python community? What is the current stage of the migration process?

Review images

What are the benefits to Python and the Python community after moving Python to Github?

A draft of the PEP I’m currently working on answers this question. The expected benefits are faster patch review and easier community engagement (the former is really the key, but the latter is the icing on the cake). We hope that the tools developed around Github will automate much of the manual work of Python development teams in the past, reducing the time it takes to review patches and thereby increasing productivity. What’s more, both the development team and the wider open source community are already familiar with GitHub, so I want everything to be faster and easier to develop.

What is the current state? What will be done next?

I made the decision to move Python development to Github on January 1, 2016. Right now, I’m writing pePs about all the steps needed to migrate our various code repositories. Once a consensus has been reached in our core workflow mailing list that the PEP covers all possible scenarios, we’ll get to work. As for the next step, it will be around how to solve the “obstacles” that prevent the code repository migration. Since the cost of migrating our warehouses depends on the tools they need, I would like to solve the common problems of all warehouses first, and then solve them on a case-by-case basis.

Your decision caused quite a bit of controversy among Python developers. Are you happy with the result?

You mean the discussion in the core workflow mailing list after I’ve made my decision! I am very pleased with the result. Some people were willing to go with GitLab because it had an open source version, but everyone understood why I made the decision. Everyone still holds a positive attitude to the migration, and taking advantage of this opportunity to let us development platform as far as possible keep platform independence, future migration platform is more simple, it must be able to realize, since I become a core developers, this is the third time migration, and Python to today has passed its 25th year, is still maintained a strong momentum of the, It’s hard to say we won’t migrate again in a few years).

The recent migration of open source projects to Github seems to be increasing. Do you worry, as others do, that such reliance on a commercial company is unsound? Do you think this will cause problems for Python?

I would worry about that, because after all we’ll have to migrate the platform again (which will happen at some point). However, we will only use GitHub to host code, which is easily migrated, and code reviews, which are temporary and have little value once a pull Request is closed. However, we do keep a backup of the code review history, so if we have to migrate, we can move the entire code review history, because the code review history is still valuable even after the code contribution is accepted. If GitHub didn’t provide an open API to access our data and keep it closed, we wouldn’t have considered it in the first place. In addition, platforms like GitLab provide tools to help you quickly migrate projects — including pull requests — to their platforms, so if we rush to migrate Github, we have nothing to lose but a little more time. Also, our bug tracking system won’t be migrated to GitHub, which narrates the scope of some changes without fear of losing control.

END

Comparing InfoQ’s translation with the original, I feel compelled to say more. I didn’t think there was anything wrong in the first few paragraphs, but in the question and answer part, the translation of the questions was too different, and the content of the answers was even more different. Anyway, this is a bad translation, it’s not Google translation, is it? ! Those who know InfoQ editors can forward this article to them for comparison (fYI)!

  • InfoQ English texts: http://www.infoq.com/news/2016/01/python-moving-to-github
  • InfoQ translation: http://www.infoq.com/cn/news/2016/01/python-moving-to-github

Please scan the qr code below to follow my official account “programpie”, thank you for your support!