On 23/09/13 14:15, David Kastrup wrote:
GitHub's usage conditions are so aggressively proprietary and
disenfranchising that it's not suitable for our regular processes. They
reserve the right of shutting accounts and projects down if they don't
like their bandwidth usage or for any other reason. They prohibit
mimicking the "look and feel" of the GitHub web interfaces, and their
software is proprietary.
So they are pretty unfit for a GNU project like LilyPond aligning itself
with them. That does not mean that individual contributors might not
use GitHub for their personal workflows, but I would consider it highly
inappropriate to move parts of the project-wide infrastructure there.
Yes, I completely agree with that. They are very aggressively trying to
colonize the "collaboration space" online, and it's very much at odds with any
project concerned with freedom.
However, it's worth looking into the technical side of how GitHub manages things
like automated testing. The user experience of using GitHub to manage
submission, review and automated testing of pull requests is extremely nice. If
you don't have personal experience of that, it's worth looking into, just in
order to appreciate what people are looking for.
So I think the options we might be thinking about is seeing whether
Savannah could host Gerrit (which covers just the review part of our
processes as far as I could tell) and/or something like Gitorious which
would cover more.
Gitorious offers hosting, but it seems like that would mainly be
interesting for getting a good first impression. If that's an option,
it would likely be much preferable to run their software (it's AGPL) off
Savannah.
Of course, as a GNU project you could always switch your VCS to Bazaar and use
Launchpad. Yes, I am joking. :-)
More seriously -- can I humbly suggest that as a first port of call it's better
to let someone else deal with the hosting and maintenance of whatever
code-hosting/pull management solution you choose, and only roll your own if it
turns out to be genuinely necessary?
My personal experience is that Lilypond already suffers from too many
custom-made and custom-hosted tools. In some cases this is obviously necessary,
in other cases it seems to be a workaround for problems that are best solved in
other ways.
E.g. git-cl:
http://www.lilypond.org/doc/v2.17/Documentation/contributor/commits-and-patches#uploading-a-patch-for-review
... which in my experience is an annoying and cumbersome workaround for the code
submission and code testing services either not working well together or not
being set up properly. Code submission and testing shouldn't be more difficult
than, "Push branch to public location, send public branch location to testing
system." (In any decent code-hosting system, submitting a pull request should
_automatically_ link in with the testing system.)
I apologize if that sounds harsh or inconsiderate of the particular issues
Lilypond development has faced, but I think it would be a good idea to factor
into this decision how many custom tools and custom-hosted solutions can be
completely eliminated [*]. That should both reduce the maintenance burden and
also remove unnecessary obstacles for contributors.
[* Without locking you in to anything. E.g. with Gitorious you _can_ roll your
own, you just shouldn't need to.]
At any rate, I think the first thing we would likely want to experiment
with would just be Gerrit.
I think before making any experiments or decisions, it's best to make sure that
the following things are well known:
(i) What Savannah offers _out of the box_ in terms of code hosting, easy
web interface for submission, management & review of pull requests,
hooks into issue tracking services (Google Code?) and hooks into
automated testing services.
(ii) Same for Gitorious.
(iii) Any other code-hosting services out there that meet the free-as-
in-freedom requirements?
If the pros and cons of all of that are written up so that everyone can review
it, then everyone is in a much better position to make a decision.
_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel