On Sat, Nov 29, 2014 at 3:27 PM, Donald Stufft <donald@stufft.io> wrote:
> As promised in the "Move selected documentation repos to PSF BitBucket
> account?" thread I've written up a PEP for moving selected repositories from
> hg.python.org to Github.


FWIW, I'm a pretty solid -1 to this PEP.

Don't get me wrong, I'm much more accustomed to git than I am hg, much prefer git's lightweight branching model and would love to see CPython and all ancillary repos migrated to git & Github. If that was what this PEP was after, I'd be a +1. What I don't like about it is the introduction of multiple tools that directly impact the barrier of entry to contributing. I think that splitting ancillary repos such as PEPs and docs out might be a little short sighted at an overall project level.

In my mind, there are three major categories of contributors (and prospective contributors):

1. Those that use git on a daily basis
2. Those that use hg on a daily basis
3. Those who use neither and are more accustomed to Perforce, SVN and the like

Let's say this PEP is approved and the suggested repos are moved to Github.

For git users, life is suddenly made much easier when contributing to those projects for obvious reasons. However, they still have the same barrier of entry to contributing to CPython (I would imagine that this would be the goal for most users, but maybe I'm wrong about that). I would imagine that contributing to the ancillary repos would be great grounds to ramp up on using hg before hitting CPython with its multiple long lived branches and such. Making the switch as suggested by this PEP removes that.

For hg users, you now add a barrier of entry for contributing to the repos now living on Github.

In both cases, you've introduced the need to context switch when contributing to CPython and any of the other repos. Two tools that require quite different workflows.

Then, for the third class of users, you've now introduced the requirement of learning two different sets of tools (if they want to do anything outside of using the "Edit" button through Github's UI). Now you're looking at conflated contributor documentation or project-specific documentation. IMHO, suboptimal either way you look at it.

Personally, I don't think that there are any silver bullets to this problem. In no case is everyone going to be satisfied. In cases like that, I tend to think that no matter what the solution eventually agreed upon is, consistency is of the utmost importance. Moving a number of repos to Github breaks that consistency.

What would be nice if CPython was to stay on mercurial though is perhaps moving those repos to Bitbucket. In that case, you get both the "Edit" feature that really by all account removes the initial bar of entry, but you still remain consistent with the rest of the project.