View on GitHub


Documenting everything about OCaml


About OCamlverse

OCamlverse is essentially a modern wiki, with the advantage that it’s based on git and github’s resources. Anyone can ask for contribution rights, and like a wiki, small-to-medium changes can be made instantaneously (for larger changes, a PR is required). We therefore get the low-latency advantage of wikis combined with the reliability and history of git.

OCamlverse’s mission is twofold:

  1. To provide an easy-to-access, easy-to-update documentation resource about anything important to the OCaml community.
  2. To encourage a culture of documentation and contribution in the OCaml community, empowering its growth.

We believe OCaml is at an important crossroads in its history: with the incredible success of ReasonML, we can become a fossil - the ancestor of a wildly popular language - or we can leverage the excitement and interest of the ReasonML community to enlarge and grow the OCaml community as well.

Additionally, we think that feedback loops are extremely powerful in a language community: the more people contribute and the more documentation is added, the more other people will want to contribute.

Join us. Read the Contibution Guidelines page, ask to be given contribution rights or submit a PR, and help us make OCamlverse an excellent documentation resource, and the OCaml language an even bigger success.

Why Not X? Why a new resource?

The OCaml ecosystem has been burned in the past by having fragmentation in critical elements, specifically in standard libraries and build tools. In the software realm, programmers must choose one given tool or library out of the choices offered. Once the programmer learns the details of one tool/library, it’s hard to switch over to the alternative. Additionally, contributors to one tool know only that tool, and cannot apply their knowledge easily to a competing tool, with its different architecture. Furthermore, fragmentation early on in the software ecosystem causes further fragmentation down the line, as libraries that depend on fragmented libraries cannot interoperate.

None of this applies to documentation efforts and community building, where more is often better. The more places on the web there are talking about OCaml, the greater the chances of OCaml attracting more people, which will cause a feedback loop of contribution. There is still a certain minor risk of duplicating effort when that effort is completely identical, but there’s nothing wrong with trying slightly different formulations and seeing what sticks and what gets the snowball rolling.

As far as we can tell, OCamlverse is unique among the OCaml community resources for these reasons:

  1. Like a public wiki, OCamlverse is completely open for anyone to change. OCamlverse starts with trusting the contributor, and only blacklisting any contributors who don’t comply with the rules. The fact that we use git means we can never lose information, even from ‘bad’ contributions.
  2. Members (i.e. anyone) are trusted with making small to medium changes directly, allowing the high-frequency, low-latency advantages of a wiki.
  3. OCamlverse is open to whatever anyone in the community wants to document, so long as they discuss it first. It’s a community-developed resource first and foremost.
  4. OCamlverse stresses content first. Like a wiki, the look of the site is an afterthought. While we may improve the look over time, it’s not a priority. This allows users to not worry about aesthetics and just focus on documentation. It also means that user contributions are usually visible a few clicks away from the main index, and thus feel valuable.
  5. Partial contributions are encouraged rather than frowned upon. If you can’t finish something you think is important, contribute it, and perhaps other people will help you finish it.
  6. Due to its rapid development process, OCamlverse can be used as a collection point for mature material to be copied to other locations in the community.