On Sat, Oct 05, 2019 at 04:09:34PM -0400, Jim Jagielski wrote: > Various PMCs have made their default/de-facto SCM git and have seen an > increase in contributions and contributors... > > Is this something the httpd project should consider? Especially w/ the > foundation officially supporting Github, it seems like time to have a > discussion about it, especially as we start thinking about the next 25 years > of this project :) >
Hi, At W3C, all the Working Group spec as well as some developer work has moved on over to github. We use github's hooks API to connect actions on github repositories with our mailing lists and other aspects of the main server. Yes, git and github may have a steeper learning curve that svn, but people now seem satisfied with the current workflow. Yes, having this kind of work hosted at github has increased its visibility and getting unexpected external contributions. For the record, part of this change of system required migrating CVS repositories from our servers at W3C to github, while preserving all the history of commits and names of commiteers, using readily available tools. There were some incompatibilities between CVS unmerged branches, though, and we had to take decisions in that case. This may not be the case for SVN. Another important reason that pushed for this migration is that CVS clients are becoming less available across platforms. I'm not sure if that's the same situation for SVN, although I see there are still recent releases of it. It helps it's hosted at ASF. For simplicity, from here one I will use "apache" to refer to the httpd server. I think that one step for migrating apache to github would require your writing down a list of things you need from a DRCS and then working on how to map them to github. One thing that I find important is that you evaluate how you're going to handle contributions, or, in git parlance, merge requests (MR). These are public visible in the repository. Having too many hanging out without closure doesn't speak well for a project. I talk of this from experience of seeing that bug reportss and proposed bug fixes are quickly fixed and integrated into apache (Thanks Yann!), however, proposal for extensions of existing modules, even when developed in consultation with the list, just go dormant and require multiple prodding today and even like that, the hit ratio is really low in my opinion. After I while this just demotivated me from continuing proposing them to this list and just stick to the ocassional bug report / patches.. See for example the latest one, dating from 2015 [1]. When this happens in github, the result may be that someone forks your project and makes a new one out of it. Another thing from the migration that I think you should consider is what you're going to do with your existing bugzilla content. Are you going to keep using it or use the github issues for that? Are you going to migrate open issues there? How about the links in reports pointing to your svn repository? Finally, as much as migrating to github can be interesting, you must also consider not being tied to github in case any future policy changes don't please you. You must be prepared to be able to migrate to another system if needed and see how much of the github environment can follow you. Can the issues follow you? How about the discussions in github? etc. What parts of github are you going to use, which ones disable (and can they be disabled?). Other alternatives for github are gitlab. You can install an instance of gitlab locally or use their repository. Upon the announcement of MS buying github, some projects migrated to gitlab. If it may help, I can put you in contact with the people in our team that can describe more in detail how W3C is using github today, the hooks, CI, how we backup it, and the advantages and limitations we have found so far. Hope this feedback helps, --josé [1] https://bz.apache.org/bugzilla/show_bug.cgi?id=58025
