On 4/16/12 1:38 PM, Dave Mandelin wrote:
> On Friday, April 13, 2012 4:27:18 PM UTC-7, Robert Helmer wrote:
>> The road to contributing a patch to traditionally-hosted Mozilla
>> projects can be quite daunting compared to the UX of a github pull
>> request, and I believe that this both makes Mozilla projects harder to
>> discover and the overall bar to contribute is higher. github's issue
>> tracker is much simpler (and conversely, has fewer features) than
>> bugzilla, and many more developers already have github accounts and are
>> familiar with it's issue tracker (or can figure it out without much fuss.)
>
> It sounds like you are basically saying that github is better for coordination and co-development with 'external' people, such as WebKit devs and new contributors.
>
> Are there more reasons to use github? In particular, I'm wondering if certain people or teams just find it better than hg+bugzilla for day-to-day work.
I personally feel that github+git is a better UX for development in
general compared to bugzilla+patches, and a big part of that is the
learning curve. Many devs already happen to use gitub. Plain old git
versus hg is way more subjective.
>> For git repositories, I believe we already have reasonable hedges in place:
>>
>> *
http://gitmirror.mozilla.org/ is available as an automatic mirror
>> * everybody who has cloned has a full copy of the project (recovering in
>> this way does not sound particularly fun, compared to the mirror)
>>
>> However, for things such as review comments and issues those would
>> indeed be lost unless some special action was being taken (I believe
>> everything is available via the github API [1] but I don't know of
>> anyone actively mirroring this.)
>
> Good points. So it seems like there aren't any disasters to worry about, just a risk of substantial disruption to the affected projects if the issues were to get lost.
All the projects I work on rely quite heavily on bugzilla, and it'd be
pretty devastating for me if it all just went away one day. I find it
super critical for ongoing work as well as archeological expeditions, so
I'd imagine losing a substantial base of github issues and review
comments would be similar.
>> One technical way forward might be to build a new project management/bug
>> tracker UI that sits atop the bugzilla and github APIs, in the spirit of
>> solving all problems in computer science by adding another level of
>> indirection ;)
>
> Not sure exactly what the wink means. I'm skeptical that something like that could be made to work particularly well, at least without a major investment to build and a substantial continuing maintenance effort.
(the wink is just me congratulating myself on a clever reference)
I agree. Project management and issue tracking are a lot of work, and it
never ends (or at least lasts about as long as the project!)
github and bugzilla have both had and continue to have substantial
investment.
We'd need to decide what our current problems are, and whether they're
worth fixing, before trying to apply a technical solution.
>> It strikes me that Mozilla has a need to track, integrate and contribute
>> to many upstream projects, as well as tracking our own projects, so
>> having something like this might actually be sensible. The Canonical
>> Launchpad [2] project has some similarities in that it can track
>> upstream bugs, but I think it's built with very different goals in mind
>> so probably not directly applicable.
>>
>> [1]
http://developer.github.com/v3/
>> [2]
http://en.wikipedia.org/wiki/Launchpad_%28website%29
>
> I think the whole situation and discussion around github is symptomatic of the fact that people think our existing tools are just not keeping up with either our needs, or what's possible with current technology; or maybe that we're just not talking enough as a community about what to do.
>
> If our tools vs. github are a major barrier to attracting contributors or doing our own work, that seems like a major problem. If they are not a major barrier to anything, then having different teams run off and create incompatible trees and issue databases seems like a major problem. So I'm pretty convinced that the current situation is not good.
Personally I feel that hg, bugzilla, etc. are not a major barrier for a
motivated contributor. I have no way to measure how many more casual
contributions we might have received if it was a little easier, I can
say that I get more random unsolicited github pull requests than I do
bugzilla patches from non-mozillians.
github-the-company has been directing energy at making a great product
for a while now, so I think that's really hard for others to keep up
with and I don't feel too threatened that some of our infra is a bit
lackluster in comparison (we have some nice bells and whistles too that
they don't match, like tbpl and try and perf, dependencies in bugzilla,
etc.)
I think we have good reasons for not putting all of our eggs in the
github basket, but we should definitely learn from them and use their
service as appropriate.
I've found the hg-git plugin pretty handy for merging things between
hg.m.o/github, and for projects that mandate "though shalt use hg +
bugzilla" it's not too hard to just have github "on the side" for
working with contributors.