[asterisk-dev] DAHDI migration to Git

Shaun Ruffell sruffell at digium.com
Thu Dec 6 10:37:09 CST 2012


On Thu, Dec 06, 2012 at 08:46:49AM +0000, Dan Jenkins wrote:
> Hi,
> 
> I'm not a contributor to dahdi but I am on this mailing list, and
> we've already had this conversation in part about Asterisk
> specifically moving to git, but I really don't understand why you
> wouldn't utilise github or even bitbucket (which is now integrated
> into atlassian's on-demand/hosted service - so I think you should
> have access to it) rather than having to run your own git servers.
> By using either of these tools (or the many more out there online)
> you could end up getting even more interaction within the dahdi
> project, if you still want a core backup then make
> git.asterisk.orgyour core backup, and get bitbucket or github to
> clone back to git.asterisk.org using a git hook.
>
> Just my opinion, but isn't that part of the whole reason for
> moving to git?  Yes, git can be much nicer to work with but git
> naturally allows more people to get involved in a project, due to
> these awesome tools,

My unofficial 2¢. I like Github too but I do not think it is the
correct place to host the canonical DAHDI repository for a couple of
reasons.

We do not intend to use any of the cool features that Github
provides. We will not be accepting Github-style pull requests since
we would have to them someone figure out how to link the Github user
account with a signed Digium Open Source Software Project Submission
Agreement [1]. We will not be using their issue tracker since we
have http://issues.asterisk.org which also more easily allows issues
to be moved between DAHDI/libpri/Asterisk as appropriate. We will
not be using the Wiki since http://wiki.asterisk.org is setup for
that already. Also, I think there is value in keeping all the
Asterisk related infrastructure under the asterisk.org domain.

I still strongly advocate for mirroring to a
github.com/asterisk/dahdi-linux repository in order for people to
find / fork create patches, etc. But when it comes time to get those
patches merged someone will need to either:

a) Post the patch to issues.asterisk.org like is done now for
patches created against the subversion repository.

b) Get an git.asterisk.org where the public key used for access can
be easily associated with the signed license agreement. Then they
can push to a team/user repo from which change sets can be pulled
from.  This is the same way changes are merged into the kernel via
kernel.org accounts.

or c) Figure out how to associate a PGP key to a license agreement.
This could allow processing  pull requests via signed tags for
community members who want to host their work in progress on
whatever Git hosting service they want. Again this is how the Linux
kernel works. From what I've seen, Linus' will not process an email
pull request if it's not hosted on git.kernel.org and is not for a
tag which is signed by a key in his PGP web of trust.

[1] https://issues.asterisk.org/jira/secure/DigiumLicense.jspa

So while I really like Github, I think the more open thing to do is
not incorporate Github specific services into the normal work flow
so people can use what they want. But the beautiful thing about Git
is that where the 'canonical' repository actually lives is much less
important due to it's distributed nature.

As an aside, the one piece of this puzzle that is less than ideal is
code review.

  - Reviewboard didn't allow me to present a change set as a series
    of commits easily but rather wanted all the changes squashed
    into a single patch on top of subversion. 

  - Crucible didn't allow the commit messages to be reviewed along
    with the code change itself.

  - Gerrit is still in my queue to demo to see if it will solve the
    issue so I don't have a comment there.

  - Reviews by email (which I have a strong preference for for many
    of the same reasons it works so well for the Linux kernel) may
    have legal issues for a potentially dual-licensed project like
    Asterisk / DAHDI. One passing thought I had about this is
    setting up a new mailing list for DAHDI development which can be
    copied on 'git send-email'. But when it comes time to actually
    merge the code it still must be via
    issues.asterisk.org/git.asterisk.org/signed tag. But I think
    lawyers are going to need to get involved to see if that will
    provide sufficient protection to Asterisk as a project.

Cheers,
Shaun

-- 
Shaun Ruffell
Digium, Inc. | Linux Kernel Developer
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
Check us out at: www.digium.com & www.asterisk.org



More information about the asterisk-dev mailing list