Dear OCaml hackers,

I'm very uneasy about the current opinions that are voiced on the caml-list. I have good reasons to think I'm not the only one in that situation, so please allow me to raise a few concerns about some recent discussions.

There's several subtopics in the "OCaml maintenance status / community fork" that I'd like to discuss.

= Improving the community =

I think the main point of the discussion is to improve "the community". If we really want to improve OCaml as a whole, then I think we can put our efforts on better areas than patching the compiler.

== Package management system ==

The thing that's most needed is, imho, a package manager that works. Oasis-db looked very promising as far as I could tell, but Sylvain doesn't have as much time as he used to do. Instead of hacking on our pet projects (which is, I admit, very rewarding), maybe someone could step up and make Oasis-db happen. We don't have a single, unified answer to "what should I install to easily hack with OCaml?". What made Python, Perl, Haskell successful is the package management systems. How much longer are we going to shy away from this issue? Sure, it's much more fun to hack on the compiler. Not as useful.

== Leaving our own corner of the web ==

The OCaml community likes to stay in its own corner of the web, in isolation. We live on obscure web sites: who knows about ocamlforge outside the OCaml community? Who knows about the caml hump? We could host our projects on Sourceforge or on GitHub. We could get recognition in the open-source world through our projects, we could be more social, we could boost the language stats on ohloh, we could attract more contributors (being a fervent user of GitHub, I must say I've attracted a significant amount of contributors that way ; being on an obscure forge, I'm certain it would've never happened). We stay away from that. Why? Because GitHub is not open-source. The whole point of git is that everyone, everywhere has a backup copy and that we don't care if GitHub falls down. Nevermind.

GitHub has a fantastic integration between the bug tracker, the commit messages (git commit -m "Fix #486" closes bug 486 on the bug tracker), the source repositories. You can discuss patches in-place. You can interact in a very easy manner. You can do peer-review in a snap. GitHub is the only place that leverages the social nature of open-source collaboration! That's precisely what we're trying to achieve here. Are we going to throw all that goodness away? What kind of signal are we sending, when we're considering hosting our own instance of gitorious? A very simple one: "we like to stay in our own corner — don't come".

There are valid points: GitHub doesn't have a maliing-list list system. Is that really an excuse? How hard would it be to setup a website that lists OCaml projects, provides them with a mailing-list, and points to their GitHub page?

= What is this about ? =

If it's about improving the general situation with OCaml and its community (the title of this thread contains the word "community"), then I believe hacking on the compiler is not the most effective way to achieve that goal. We're hackers. We like to hack on things. And we often fail to ask ourselves: is it really worth implementing? Submitting patches is easy. Submitting quality patches that do solve a real problem is harder. The ARM backend does need a cleanup, and the patch does solve a stringent issue. That may not be the case for all patches.

There is indeed a problem w.r.t external contributions. I agree that the INRIA team could make it clearer what its stance on external contributions is. Maybe one solution would be to have a INRIA-endorsed ocaml-next on github that everyone can fork, where we would merge really outstanding features, before submitting them to INRIA, as you described. I don't think it is such a good idea creating a real fork. Maybe some sort of integration platform on GitHub would be the right solution to the "patch review" problem.

I'm not even sure what kind of patches you wish to see integrated. Can you clarify that?

= Conclusion =

This is indeed a long rant, but I'd like to see us being more practical and down-to-earth. I love OCaml. I think we can do better for the language.

Kind regards,

jonathan