<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span style="font-family:arial,sans-serif">On 7 December 2016 at 16:22, Amir Chaudhry </span><span dir="ltr" style="font-family:arial,sans-serif"><<a href="mailto:amc79@cam.ac.uk" target="_blank">amc79@cam.ac.uk</a>></span><span style="font-family:arial,sans-serif"> wrote:</span><br></div><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-m_4154663464381564047gmail-"><br>
> On 7 Dec 2016, at 15:28, Anil Madhavapeddy <<a href="mailto:anil@recoil.org" target="_blank">anil@recoil.org</a>> wrote:<br>
><br>
> On 7 Dec 2016, at 15:14, Xavier Leroy <<a href="mailto:Xavier.Leroy@inria.fr" target="_blank">Xavier.Leroy@inria.fr</a>> wrote:<br>
>> On 12/07/2016 03:43 PM, Anil Madhavapeddy wrote:<br>
>>> On 7 Dec 2016, at 14:15, Xavier Leroy <<a href="mailto:Xavier.Leroy@inria.fr" target="_blank">Xavier.Leroy@inria.fr</a>> wrote:<br>
>><br>
>>>> So, what is the policy?  how to request a new /ocaml/xxx project?<br>
>>>> who takes the decision?<br>
>>><br>
>>> Technically speaking, you own the final say on the namespace,<br>
>>> so you make the decision in case of conflict :-)<br>
>><br>
>> Not sure!  Before posting I re-read the governance document, in<br>
>> case my questions were already answered there.  According to this<br>
>> document, I do own the final say on hostnames in the <a href="http://ocaml.org" rel="noreferrer" target="_blank">ocaml.org</a> domain.<br>
>> But the Github ocaml/ organization & namespace is something different,<br>
>> not covered (yet?) in the governance document.<br>
>><br>
>> I suspect that, as one of the admins of this organization, I wield<br>
>> considerable technical power there as well.  But I definitely don't<br>
>> want to misuse or abuse it, hence my questions re: policy and<br>
>> procedure.<br>
><br>
> Dear Xavier,<br>
><br>
> Good point -- I will put GitHub on the list of things to add to the<br>
> governance doc. We also need somewhere to stash private keys<br>
> for infrastructure machines as well, so there are a few other items<br>
> of that nature that warrant a refresh.<br>
<br>
</span>The governance doc was specifically written for the <a href="http://ocaml.org" rel="noreferrer" target="_blank">ocaml.org</a> domain.<br>
Of course, it can be modified and extended to cover other things but the management and policy around code repos was not part of the original scope.<br>
<br>
I mention this in case anyone think it’ll be a trivial thing to add :)<br>
<span class="gmail-m_4154663464381564047gmail-"><br>
>>> So far, the policy has been any project that is reasonably needed<br>
>>> for the operation of the <a href="http://ocaml.org" rel="noreferrer" target="_blank">ocaml.org</a> infrastructure. Some of them are<br>
>>> obvious: [...]<br>
>>> When we first created the GitHub org, it was also the home for<br>
>>> some popular community libraries: [...]<br>
>>> More recently of course, the OCaml compiler and its tools have<br>
>>> also started moving over: [...]<br>
>>><br>
>>> So now that we have been using GitHub for a few years, there<br>
>>> is quite an array of libraries on the ocaml/ organisation, and<br>
>>> possibly time to do a garbage collection and disaggregate the<br>
>>> namespace if necessary.</span></blockquote><div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-m_4154663464381564047gmail-">
>><br>
>> As far as the number of projects in ocaml/ remains tractable<br>
>> (e.g. tens, not hundreds), it's OK to host all of them and not<br>
>> worry too much about reorganization.  My (hypothetical) concern is:<br>
>> what happens do if, say, all projects from <a href="http://forge.ocamlcore.org" rel="noreferrer" target="_blank">forge.ocamlcore.org</a> ask to<br>
>> migrate to the /ocaml/ organization on Github?<br>
><br>
> I have been wondering about this also.  Perhaps we should<br>
> take the initiative and create an ocaml-forge organisation that<br>
> mirrors the existing Forge Git repositories?<br>
> We cannot do much about issues, but it's fairly straightforward to<br>
> mirror the source code.  SVN will require an authoritative mirror<br>
> since the results of SVN2Git aren't always reproducible.<br>
<br>
</span>IIRC Forge offers multiple features: Code, Mailing lists, and Issues.<br>
<br>
— Code —<br>
I would think that the correct analogy for this aspect of Forge would be GitHub itself. i.e. the maintainers move their repos/code to their own namespaces/orgs on GitHub.<br>
<br>
Some of those would make sense to move to /ocaml but that would involve a case-by-case discussion between the owners of /ocaml (i.e. you) and the maintainers of those codebases.<br>
<br>
Mirroring the existing Git repos into an ‘ocaml-forge’ organisation, as Anil suggests, might also be a good way to facilitate a mass migration.<br>
<br>
As a sidenote, there are benefits and trade-offs to moving projects into a GitHub organisation.  For example, the owners of a GitHub organisation have push access to all the repositories within their org, which is worth bearing in mind.  On the other hand, managing teams and collaborators is a little easier from within an organisation. Projects could make their own organisations if they wish — e.g. Merlin lives under an organisation rather than an individual’s account, <a href="https://github.com/the-lambda-church/merlin" rel="noreferrer" target="_blank">https://github.com/the-lambda-<wbr>church/merlin</a>.<br>
<br>
— Mailing lists —<br>
It's possible to set up mailing lists on <a href="http://lists.ocaml.org" rel="noreferrer" target="_blank">lists.ocaml.org</a> and move archives over.  This has happened before so I don’t imagine any difficulties, other than logistics.<br>
<br>
— Issues —<br>
As Anil said, I’m not sure there’s much to be done about Issue Trackers and Task lists.<br>
<span class="gmail-m_4154663464381564047gmail-"><br>
<br>
> In Merlin's case, Fred also provided the mailing list archive,<br>
> so that has been migrated to <a href="http://lists.ocaml.org" rel="noreferrer" target="_blank">lists.ocaml.org</a> now:<br>
> <a href="https://github.com/ocaml/infrastructure/issues/5" rel="noreferrer" target="_blank">https://github.com/ocaml/infra<wbr>structure/issues/5</a><br>
><br>
>>> It would be great to keep the [libraries formerly in the compiler<br>
>>> distribution] underneath the ocaml/ organisation.  There is also<br>
>>> precedent for moving important core libraries such as Zarith into<br>
>>> ocaml/<br>
>><br>
>> Duly noted.  But Nums and Zarith were two easy examples :-)<br>
>><br>
>> Concretely: I'll try to work on the otherlibs/num -> ocaml/num[s]<br>
>> migration in the coming weeks, and will ask for help if I can't<br>
>> manage.  For other possible "immigrant" projects, let's give other<br>
>> people on this list time to think about it.<br>
><br>
> Makes sense.  I am also CCing Sylvain onto this thread in case<br>
> he is not on the Infrastructure list.<br>
<br>
</span>Since Sylvain is listed as Maintainer for a sub-domain he should already be on the infrastructure list :)<br>
<br>
Best wishes,<br>
Amir<br></blockquote><div><br></div><div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">​Hi all,​</div></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br class="gmail-Apple-interchange-newline">​I wanted to help but wasn't sure how to begin with. Based on comments here I've added a list of all of the repositories currently within the ocaml/ organisation to an /infrastructure/ wiki page: <a href="https://github.com/ocaml/infrastructure/wiki/OCaml-Project-Repositories" target="_blank">https://github.com/ocaml/<wbr>infrastructure/wiki/OCaml-<wbr>Project-Repositories</a> so we can easily see what is there and where we might organise things.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">The infrastructure wiki might be a good place to provide more of an overview of the OCaml ecosystem, and not just machine resources. Some ideas/questions: </div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">* We can pin 6 of the main repositories to the OCaml organisation page as per the Mirage organisation page: <a href="https://github.com/mirage" target="_blank">https://github.com/<wbr>mirage</a> </div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">* The wiki: <a href="https://github.com/ocaml/infrastructure/wiki" target="_blank">https://github.com/ocaml/<wbr>infrastructure/wiki</a> is a little out of date - perhaps we could refresh/reorganise it?</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default"><font face="arial, helvetica, sans-serif">* Rather than migrating, we can link to other OCaml libraries that are relevant to the core <a href="http://ocaml.org">ocaml.org</a> ecosystem such as </font><a href="https://github.com/ocaml-doc" target="_blank" style="font-family:arial,helvetica,sans-serif">https://github.com/ocaml-doc</a>, <a href="https://github.com/the-lambda-church/merlin" rel="noreferrer" target="_blank">https://github.com/the-lambda-<wbr>church/merlin</a> that are incorporated within their own organisations</div><div class="gmail_default"><br></div><div>* Shall we link to other third party libraries that are important/relevant to the core compiler? e.g. Spacetime, AFL </div><div><br></div><div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">​Thanks,</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Gemma​</div></div></div></div></div>