On Jul 1, 2011, at 6:29 AM, Laurens Van Houtven wrote:

> As some of you may already know (either through a backchannel or because you 
> talked to me at Europython), there has been some talk about moving Twisted 
> way from Trac+SVN to somewhere that isn't Trac+SVN.
> 
> A lot of the devs do like SVN. My guess is that that's mainly because they 
> don't actually use SVN, they use Combinator, or something. On the other hand, 
> I do think that Trac is pretty universally loathed, and it would be a good 
> idea to get away from it.
> 
> There's a few existing hosting solutions:
> Launchpad (+ Bazaar as the default vcs)
> Bitbucket (+ Mercurial as the default vcs)
> Github (+ Git as the default vcs)
> Although I've hated git for a long while (and I still don't like it very 
> much), I firmly believe Github is the right thing for Twisted. My incredibly 
> unscientific poll amongst people who like Twisted but aren't devs is that 
> they all love or at least like Github, and a surprising number has a distaste 
> for Launchpad (unfamiliarity with Bazaar, perceived developer-unfriendly UI, 
> slowness).
> 
> Unless someone is going to go all "NO GITHUB IS TERRIBLE AND YOU ARE A BAD 
> PERSON FOR EVEN SUGGESTING IT" on me, maybe we can talk about planning the 
> transition? :)

As Itamar has already suggested, I think that this is a solution in search of a 
problem.  Aside from occasionally saving a contributor the trouble of typing 
'review' in the keywords field every so often, what is this actually going to 
accomplish?  We have too many pending patches already, with not enough 
sustained interest to either review them or fix them; what we need are more 
sustained contributors, more reviewers.  Is this going to help us sustain 
interest?  In my opinion, the main frustration with this process is simply 
responsiveness of the site.  I think a better investment to address those 
issues would be in faster hardware to run Trac on (and possibly to communicate 
the acceptability of using a DVCS mirror).

But, if you're going to contemplate a transition, here are a few prerequisites. 
 Perhaps some of this should be added to the WorkflowRequirements page for 
posterity.

If you want me to take this effort seriously, please finish twisted.positioning 
first and get it reviewed and landed on trunk.  That's just a patch, after all, 
a much smaller effort than a attempting to migrate the project onto entirely 
new infrastructure, with implications for testing, version control, and issue 
tracking. :-)

Less controversial, I think, would be to produce a viable official github 
*mirror*, a-la <https://github.com/django/django>, rather than a migration, 
since this is a necessary prerequisite and useful in its own right.  
<https://github.com/twisted> still has no public repositories, and I've been 
bugging people (including you specifically, lvh) to take this over for the past 
couple of weeks.

If we migrate somewhere, I would like all the data to be mirrored and presented 
on twistedmatrix.com with a custom stylesheet.  Ideally, I would like to avoid 
Twisted's users interacting with a different site for issue tracking.  A 
heavily-used, custom-styled web presence was an important part of fundraising.  
No, I don't have any strong empirical data to present to justify that 
sentiment, but salesmanship is an art, and when I was talking to potential 
sponsors I felt that our site made us look like a "serious" project that 
sponsors were comfortable contributing to. The only person who I think has done 
enough interacting with sponsors to credibly disagree with this is exarkun - 
although he may well do just that.  For me, tens of thousands of dollars of 
focused sponsored development is going to win over random patches from people 
on github for a loooong time coming.

The fact that Django still maintains their own Trac instance is a point in 
favor of this, as well.  Those guys know a thing or two about image management 
:-).

Of course, anyone may easily refute this point at any time by simply raising 
about $30,000 for the TSF.

Pages like <http://www.sitemeter.com/?a=stats&s=sm7twistedmatrix&r=19> give us 
interesting information about our developers, and have previously informed 
discussions about efforts put towards platform support.  None of the sites 
listed above appear to offer independent web analytics, or the ability to embed 
custom HTML.  This is not, strictly speaking, a requirement, but any potential 
advocate of migrating somewhere should be aware that this would be one of the 
things we'd lose with a hosted solution.

You'll need to port <http://twistedmatrix.com/highscores/> to whatever system 
we switch to, and hopefully also preserve the ease of development and 
experimentation with ticket data.

We will need a staging deployment so that the new system can be evaluated and 
any tools to migrate can be tested without actually switching to it.  This 
would appear to disqualify github immediately, as we can't run our own instance 
for testing, and I don't want people thinking that we've switched and starting 
to file bugs into a botched public test migration.  I echo Itamar's concerns 
about a proprietary, remote code host.

Even in the case of an open source host, there are practical considerations.  I 
have the utmost respect for the developers at Launchpad, but the UI for that 
site is, frankly, a horror.  Trac's bad, but it is at least simple, and fairly 
static, and reasonable to override when it's doing something silly, if you care 
enough.  Once we've got all of our data ported over to Launchpad, I don't have 
a lot of confidence that the workflow or the UI will become _more_ suitable to 
our purposes, and if it's changed to become worse, will we really have any 
recourse?  Will we have to update our project documentation?  Our front page is 
already bad enough, but I think it still presents more useful information to 
the average reader than <https://launchpad.net/twisted>'s "Series and 
milestones", "configuration progress", or "packages in distributions" sections.

Of course, you'll also need to rewrite all of the relevant wiki pages; 
ContributingToTwistedLabs, TwistedDevelopment, ReviewProcess.  (And it took 
like 5 years to get this right for our current setup.)

Finally, any code-hosting service should also have a good option for migrating 
away.  We currently control twistedmatrix.com and can easily change the links 
from our current tickets to a new URL scheme or domain.  But, when we decide 
that Github or Launchpad is no longer workable for whatever reason, will we be 
able to do the same with the ticket links under their control?  We inhabit a 
hell now, to be sure, but it is a hell of our own design which we may 
hypothetically escape at any moment.  I don't want to trade that for something 
slightly better that we could never leave.  What are the non-hosted contenders? 
 If trac is really so bad, where's the better, competitive software we could 
switch to?  (Don't say redmine, I already know about that trick.)

Sorry that this post is so long, but I've tried to incorporate the majority of 
my objections into this one post so that the discussion doesn't drag on too 
much.  I am hoping to abstain from much more participation unless something is 
really unclear.  My single biggest concern is the potential of this topic to 
waste a huge amount of core developer time, so I'll try to do my part and not 
fan the flames further.  Although, the other questions raised in this thread, 
about what parts of our workflow are problematic, are worth talking about 
separately.
_______________________________________________
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python

Reply via email to