* [Caml-list] Project hosting for new OCaml projects @ 2014-03-05 15:13 David Allsopp 2014-03-05 15:24 ` Simon Cruanes ` (2 more replies) 0 siblings, 3 replies; 10+ messages in thread From: David Allsopp @ 2014-03-05 15:13 UTC (permalink / raw) To: OCaml List 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) * Support OPAM (which looks incredibly straightforward - being primarily a Windows user, the OPAM typhoon has flowed past me thus far) * 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! 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? Thanks! David ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Caml-list] Project hosting for new OCaml projects 2014-03-05 15:13 [Caml-list] Project hosting for new OCaml projects David Allsopp @ 2014-03-05 15:24 ` Simon Cruanes 2014-03-05 15:33 ` Yotam Barnoy 2014-03-05 18:00 ` Hezekiah M. Carty 2014-03-05 20:00 ` Daniel Bünzli 2014-03-06 0:20 ` Sylvain Le Gall 2 siblings, 2 replies; 10+ messages in thread From: Simon Cruanes @ 2014-03-05 15:24 UTC (permalink / raw) To: David Allsopp; +Cc: OCaml List [-- Attachment #1: Type: text/plain, Size: 2835 bytes --] 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 [-- Attachment #2: Type: application/pgp-signature, Size: 819 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Caml-list] Project hosting for new OCaml projects 2014-03-05 15:24 ` Simon Cruanes @ 2014-03-05 15:33 ` Yotam Barnoy 2014-03-05 18:00 ` Hezekiah M. Carty 1 sibling, 0 replies; 10+ messages in thread From: Yotam Barnoy @ 2014-03-05 15:33 UTC (permalink / raw) To: Simon Cruanes; +Cc: David Allsopp, OCaml List [-- Attachment #1: Type: text/plain, Size: 3636 bytes --] 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 > [-- Attachment #2: Type: text/html, Size: 4495 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Caml-list] Project hosting for new OCaml projects 2014-03-05 15:24 ` Simon Cruanes 2014-03-05 15:33 ` Yotam Barnoy @ 2014-03-05 18:00 ` Hezekiah M. Carty 2014-03-06 1:58 ` Francois Berenger 1 sibling, 1 reply; 10+ messages in thread From: Hezekiah M. Carty @ 2014-03-05 18:00 UTC (permalink / raw) To: Simon Cruanes; +Cc: David Allsopp, OCaml List On Wed, Mar 5, 2014 at 10:24 AM, Simon Cruanes <simon.cruanes.2007@m4x.org> wrote: > > > > > 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. > An additional small benefit to using oasis - oasis2opam, which is installable from opam, allows you to automatically generate opam metadata from your project's _oasis file. Writing out the three opam files by hand is simple, oasis2opam makes it even easier. Hez ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Caml-list] Project hosting for new OCaml projects 2014-03-05 18:00 ` Hezekiah M. Carty @ 2014-03-06 1:58 ` Francois Berenger 0 siblings, 0 replies; 10+ messages in thread From: Francois Berenger @ 2014-03-06 1:58 UTC (permalink / raw) To: caml-list On 03/06/2014 03:00 AM, Hezekiah M. Carty wrote: > On Wed, Mar 5, 2014 at 10:24 AM, Simon Cruanes > <simon.cruanes.2007@m4x.org> wrote: >> >>> >>> 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. OASIS also generates install/uninstall targets, that's nice. >>> * 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. >> > > An additional small benefit to using oasis - oasis2opam, which is > installable from opam, allows you to automatically generate opam > metadata from your project's _oasis file. Writing out the three opam > files by hand is simple, oasis2opam makes it even easier. > > Hez > -- Best regards, Francois Berenger. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Caml-list] Project hosting for new OCaml projects 2014-03-05 15:13 [Caml-list] Project hosting for new OCaml projects David Allsopp 2014-03-05 15:24 ` Simon Cruanes @ 2014-03-05 20:00 ` Daniel Bünzli [not found] ` <20140305.211003.1668243541649395876.Christophe.Troestler@umons.ac.be> 2014-03-06 0:20 ` Sylvain Le Gall 2 siblings, 1 reply; 10+ messages in thread From: Daniel Bünzli @ 2014-03-05 20:00 UTC (permalink / raw) To: David Allsopp; +Cc: OCaml List Le mercredi, 5 mars 2014 à 16:13, David Allsopp a écrit : > It seems that the following are worth doing: > > * Support OASIS (and in so doing, I believe that will migrate its build > system to ocamlbuild) > * Support OPAM (which looks incredibly straightforward - being primarily a > Windows user, the OPAM typhoon has flowed past me thus far) > * Put the SCM online somewhere; submit a pull request for opam-repository; > announce it Since your build system is make and that you already have findlib support I wouldn't bother with oasis. Rather use an opam file directly for your package metadata and build instructions and put it at the root of your repository. This allows to robustly support opam pinning workflows which are useful for asking people to test fixes and making pre-releases. Regarding the choice between github and the forge. I'd say if you want to be nice to potential contributors prefer github which has a decent user interaction. It's not without flaws, the graphs are generally useless, the pull request mechanism is broken (e.g. it completely muddies history with useless commits) and it's never good to rely on the free as in wine service of a company. If you already have some kind of web space where you can store and push git repos I'd suggest to use github only as a mirror (I can provide you with the steps to do so if you are interested) so that you can more easily switch to something else in case github becomes problematic --- as sourceforge became at one point. Best, Daniel ^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: <20140305.211003.1668243541649395876.Christophe.Troestler@umons.ac.be>]
* Re: [Caml-list] Project hosting for new OCaml projects [not found] ` <20140305.211003.1668243541649395876.Christophe.Troestler@umons.ac.be> @ 2014-03-06 9:48 ` Daniel Bünzli 2014-03-06 11:55 ` Sylvain Le Gall 0 siblings, 1 reply; 10+ messages in thread From: Daniel Bünzli @ 2014-03-06 9:48 UTC (permalink / raw) To: Christophe Troestler; +Cc: caml-list Le mercredi, 5 mars 2014 à 21:10, Christophe Troestler a écrit : > On Wed, 5 Mar 2014 21:00:40 +0100, Daniel Bünzli wrote: > > > > [...] the pull request mechanism is broken (e.g. it completely > > muddies history with useless commits) [...] > > P.S. You can always merge using the command line¹ which does not have > that problem. > > ¹ The URL is provided in the mail Github send you so you do not even > have to go to the Github site. Yes, that's what I do. But that's not the only thing that is broken about pull requests. I think the mechanism (each pull request is a branch on which you push commits) makes it too easy to get non-logical, incoherent commits. There's a pull request, you ask for corrections. The contributor instead of correcting, amending its commit and force pushing to the branch just adds commits to the branch, which results in a sequence of commits that may not make much sense on your main branch (even worse it may put your project in an intermediate bad state on certain checkouts which is bad for git bisecting). Of course you can always ask people to do the right thing, but I think the actual contribution process should make you do the right thing. An example here (not to be mean to this fine individual trying to contribute to the opam repository): https://github.com/ocaml/opam-repository/pull/1756 The second commit will make no sense in the history of the opam-repository. Best, Daniel ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Caml-list] Project hosting for new OCaml projects 2014-03-06 9:48 ` Daniel Bünzli @ 2014-03-06 11:55 ` Sylvain Le Gall 2014-03-06 12:05 ` Daniel Bünzli 0 siblings, 1 reply; 10+ messages in thread From: Sylvain Le Gall @ 2014-03-06 11:55 UTC (permalink / raw) To: caml-list On 06-03-2014, Daniel Bünzli <daniel.buenzli@erratique.ch> wrote: > Le mercredi, 5 mars 2014 à 21:10, Christophe Troestler a écrit : >> On Wed, 5 Mar 2014 21:00:40 +0100, Daniel Bünzli wrote: >> > >> > [...] the pull request mechanism is broken (e.g. it completely >> > muddies history with useless commits) [...] >> >> P.S. You can always merge using the command line¹ which does not have >> that problem. >> >> ¹ The URL is provided in the mail Github send you so you do not even >> have to go to the Github site. > > Yes, that's what I do. But that's not the only thing that is broken about pull requests. > > I think the mechanism (each pull request is a branch on which you push > commits) makes it too easy to get non-logical, incoherent commits. > There's a pull request, you ask for corrections. The contributor > instead of correcting, amending its commit and force pushing to the > branch just adds commits to the branch, which results in a sequence of > commits that may not make much sense on your main branch (even worse > it may put your project in an intermediate bad state on certain > checkouts which is bad for git bisecting). Of course you can always > ask people to do the right thing, but I think the actual contribution > process should make you do the right thing. > > An example here (not to be mean to this fine individual trying to > contribute to the opam repository): > > https://github.com/ocaml/opam-repository/pull/1756 > > The second commit will make no sense in the history of the opam-repository. > I also find the UI and workflow for reviewing code not very good (better than nothing though) Have you tried Gerrit ? http://gerrithub.io/ N.B. you can also run gerrit on your server. If you have time to try it and you think it is a better alternative, just let us know. Cheers, Sylvain Le Gall -- Website: http://sylvain.le-gall.net/ OCaml forge: http://forge.ocamlcore.org OCaml blogs: http://planet.ocaml.org ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Caml-list] Project hosting for new OCaml projects 2014-03-06 11:55 ` Sylvain Le Gall @ 2014-03-06 12:05 ` Daniel Bünzli 0 siblings, 0 replies; 10+ messages in thread From: Daniel Bünzli @ 2014-03-06 12:05 UTC (permalink / raw) To: Sylvain Le Gall; +Cc: caml-list Le jeudi, 6 mars 2014 à 12:55, Sylvain Le Gall a écrit : > Have you tried Gerrit ? No, but Richard Jones mentioned a few weeks ago that he was using it for a project and it was "horrible". Best, Daniel ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Caml-list] Project hosting for new OCaml projects 2014-03-05 15:13 [Caml-list] Project hosting for new OCaml projects David Allsopp 2014-03-05 15:24 ` Simon Cruanes 2014-03-05 20:00 ` Daniel Bünzli @ 2014-03-06 0:20 ` Sylvain Le Gall 2 siblings, 0 replies; 10+ messages in thread From: Sylvain Le Gall @ 2014-03-06 0:20 UTC (permalink / raw) To: caml-list On 05-03-2014, David Allsopp <dra-news@metastack.com> wrote: > 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) Esp. for pure OCaml libraries, OASIS will provide you with all you need to generate in one step (e.g. .cmxs, .cmxa on the right arch and not on the other, automatic generation of your META files with the right dependencies and version and so on and so forth). Although if you have a working makefile, that you install .cmxa only on the right architecture (amd64, i386 and no mips) you should be fine and won't have to use OASIS. I am biased here, but OASIS helps me to lower the TCO of 24+ libraries/program with an easy workflow for quick releases (but I am an OASIS poweruser and probably have access to advanced tools that uses OASIS). > * Support OPAM (which looks incredibly straightforward - being primarily a > Windows user, the OPAM typhoon has flowed past me thus far) > * 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! > 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? If you plan to have contribution and want to manage them: GitHub. For big projects, for which I am expecting contributions, I use GitHub and the OCaml Forge to distribute tarballs and maintain web pages of the project. For smaller project, I only use the OCaml Forge. Cheers, Sylvain Le Gall -- Website: http://sylvain.le-gall.net/ OCaml forge: http://forge.ocamlcore.org OCaml blogs: http://planet.ocaml.org ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2014-03-06 12:05 UTC | newest] Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2014-03-05 15:13 [Caml-list] Project hosting for new OCaml projects David Allsopp 2014-03-05 15:24 ` Simon Cruanes 2014-03-05 15:33 ` Yotam Barnoy 2014-03-05 18:00 ` Hezekiah M. Carty 2014-03-06 1:58 ` Francois Berenger 2014-03-05 20:00 ` Daniel Bünzli [not found] ` <20140305.211003.1668243541649395876.Christophe.Troestler@umons.ac.be> 2014-03-06 9:48 ` Daniel Bünzli 2014-03-06 11:55 ` Sylvain Le Gall 2014-03-06 12:05 ` Daniel Bünzli 2014-03-06 0:20 ` Sylvain Le Gall
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox