How do developers of LinuxCNC feel about the idea of moving the
primary git hosting from git.linuxcnc.org to GitHub?

Historically, we made the decision to self-host our revision control
after a prolonged outage of the CVS service at sourceforge.net in
2006.  Unlike git, cvs is only useful with a server (even "cvs diff"
and "cvs log" are network operations), so this was a serious
impediment to working on LinuxCNC.

When we made the transition to git in 2009, GitHub did not have the
stature or reputation that it now does among Free Software and Open
Source developers, so we continued to host our own revision control
system at that time.

Two things have become more clear to me recently.  First, the degree
of immediate hardship if GitHub goes down is fairly minor, since
everyone can continue to work on their local complete copies of the
git history of LinuxCNC.  Second, if GitHub has an extended downtime
or becomes unsuitable for other reasons, we can select other free
git hosting services (e.g., BitBucket) or spin up our own
hosting (e.g., GitLab CE).

Advantages of switching to GitHub as primary rather than a mirror are
that we can:

 - retire the "Signed-off-by" rule[1], and instead rely on GitHub's
   Terms of Service section D.5[2] to ensure contributions are
   offered under an appropriate Free Software license.  The
   "Signed-off-by" rule prevents us from immediately accepting a
   substantial number of first contributions made via GitHub.

 - merge pull requests directly through their web interface, instead
   of requiring a manual merge and push even for simple
   non-conflicted merges

 - administer push & merge access using the GitHub web UI; users can
   administer their own ssh keys through the GitHub web UI

 - get correct information on GitHub about who merged a PR or closed
   an issue when the commit message says "Close: #nnn".  (Right now,
   because the mirror from git.linuxcnc.org to GitHub is done under
   Chris Radek's ssh identity, he is identified as closing all
   issues and PRs!)

 - retire the self-hosted git.linuxcnc.org service

There are several one time costs associated with this change:

 - Documentation will need to be modified to reflect the new
   workflow

 - Seb Kuzminsky must set up change notifications from GitHub to
   buildbot; he states that he thinks "it will be easy to get that
   part to work"

 - Each repository user must issue a "git remote" command to change
   the "origin" remote, or get a fresh clone

 - Each developer using direct push access now will need their 
   GitHub account added to the linuxcnc "organization" on GitHub.

To begin with, I've identified 12 developers with push access to
git.linuxcnc.org who made at least one commit since 2016-1-1 and had
a GitHub account that I could find.  We'd initially set everyone on
that list to have push access on GitHub.[3]  If this list doesn't
include you, just contact an admin with your GitHub login.[4]

If you're a developer with direct push access currently and choose
not to create a GitHub account, we'll work out an alternate workflow
with you.

Of course, we will continue to accept patches via the mailing list,
from public git repos besides GitHub, and so on.

If there seems to be a general consensus to switch, then I'll
officially make a proposal for voting in a future IRC-meeting.

Jeff

 [1]: 
http://linuxcnc.org/docs/devel/html/code/contributing-to-linuxcnc.html#_signed_off_by_policy
 [2]: 
https://help.github.com/articles/github-terms-of-service/#6-contributions-under-repository-license
 [3]: http://media.unpythonic.net/linuxcnc-pushed-since-2016-1-1.txt
 [4]: Administrators of the GitHub linuxcnc organization are
      currently Chris Radek, Seb Kuzminsky, and me

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to