The github issue has been discussed on the list recently. Basically, github blows everything else away with its general ease of use, ease of obtaining information (graphs etc), ease of contribution, and so on. The consensus appears to be that the only thing it doesn't do extremely well is track issues. For a small codebase, though, I think the built-in issue handling is more than enough. If you want your code to be out there; to get eyeballs looking at it; and to possibly get other people to contribute, github is definitely the way to go IMO.

-Yotam


On Wed, Mar 5, 2014 at 10:24 AM, Simon Cruanes <simon.cruanes.2007@m4x.org> wrote:
Hi,

First let me insist that this is only my personal view.

Le Wed, 05 Mar 2014, David Allsopp a écrit :
> I've got a bit of code in a library which seems worth putting online. I'm
> trying to consolidate the steps that should be taken to accomplish that
> (beyond simply putting a tarball online!) and wondering if anyone can
> confirm if what I've come up with is the "best/obvious" course of action.
> Indeed, are there already "idiot"'s guides for this - I couldn't see
> anything like it on ocaml.org et al?
>
> So, this particular library is a pure OCaml library, which simplifies things
> somewhat. At present it's built using GNU make and of course it is managed
> using findlib.
>
> It seems that the following are worth doing:
>
> * Support OASIS (and in so doing, I believe that will migrate its build
> system to ocamlbuild)

oasis is very nice in that it centralizes, in a single _oasis file,
everything about the project. In particular, it deals with the META file,
building cmxa, cma, cmxs, etc. It can generate a "configure" and a
Makefile (if you so wish), points to the documentation, the VCS
repository, deals with several libraries (or sub-libraries, see how lwt
does it for instance) and executables, etc.

> * Support OPAM (which looks incredibly straightforward - being primarily a
> Windows user, the OPAM typhoon has flowed past me thus far)

Pretty simple indeed, 3 small files in the opam-repository and you're done.
Also the opam team is quite reactive and helpful with packaging
problems.

> * Put the SCM online somewhere; submit a pull request for opam-repository;
> announce it
>
> So, apart from any obvious errors/omissions in those steps, I have two
> questions:
>
> 1. What are the differences, politely, in terms of things you can and can't
> do between using GitHub and the OCaml Forge for the project pages? The Forge
> seems the obvious choice, even ignoring the offensive name of the other!

I think the main advantages of github is that since many people use it,
it's easier to fork/contribute to a project (which is simple because
it's 1/ forking 2/ committing 3/ submitting a "pull request" that can be
discussed online; the patch can be modified as needed, and everyone
commenting the pull request can see it). Also, I prefer the UI, but
some could disagree.

The main issue is lock-in, and it requires an account, but so does the
forge afaik.

> 2. Given that, is there any benefit/different to hosting the git repository
> on the Forge vs hosting it on github and simply linking to it from the
> Forge?

My advice, if you already have a github account, is to use it. Otherwise
I can't tell.

Cheers,

--
Simon

http://weusepgp.info/
key 49AA62B6
fingerprint 949F EB87 8F06 59C6 D7D3  7D8D 4AC0 1D08 49AA 62B6