A quick update on recent works of the OCaml Software Foundation. It is a non-profit foundation (earlier thread) that receives funding from our industrial sponsors each year, and tries its best to spend it to support and strengthen the OCaml ecosystem and community.
The funding volume we receive each year is around 200K€. (For comparison: this is the yearly cost of one experienced full-time software engineer in many parts of the world.) We do not fund people full-time for long periods. Most actions receive from 3K€ to 20K€.
The work to prepare and execute actions is mostly done by the (unpaid) Executivee Committee. It is currently formed by Nicolás Ojeda Bär (‘nojb’), Damien Doligez, Xavier Leroy, Kim Nguyễn and myself, with administrative personel provided by INRIA.
Our current sponsors (thanks!) are ahrefs, Jane Street, Tezos, Bloomberg, Lexifi, SimCorp, MERCE and Tarides. (If your company would like to join as a sponsor, please get in touch. Unfortunately, we still cannot efficiently process small donations, so we are not calling for individual donations.)
Feel free to use this thread for discussions, questions, suggestions and criticism, or to send a message/email for feedback.
Below are some of the actions that we funded in the last year or so, and which have been actively worked on already by the people receiving the funding.
We worked on improving the debugging experience for OCaml by funding Fabian (‘copy’) to work on OCaml symbol demangling in Linux
perf (thread), and supporting Yuxiang Wen (‘hackwaly’)'s work on ocamlearlybird (thread), an OCaml bytecode debugger for vscode.
We also funded the early development work of mutaml, a mutation-testing prototype by Jan Midtgaard.
We funded John Whitington to work on OCaml documentation, on the core manual (see in particular this PR) or newcomer-oriented content on ocaml.org (Get Up and Running with OCaml and A First Hour With OCaml). We also purchased rights to John Whitington’s book OCaml from the Very Beginning to put it online (thread). This is a good introduction to OCaml for people with little to no programming experience, and we hope that it will be easier to onboard people if they can get a free version online – of course they are encouraged to buy a paper copy if they like it and can afford it.
We supported editing work for an upcoming book from the Owl team, “Architecture of Numerical Systems”, with the requirement that the book be Open Access. (The idea followed our attempt to fund a hacking retreat for the Owl project in 2019, that was cancelled due to COVID.)
We are also funding some work to refresh an older book about Caml in French, Le Langage Caml, also available online, which several people in the community cite as their favorite OCaml book. Currently we are funding Armaël Guéneau to refresh the book’s (crufty build system and) content to work with current OCaml versions – the book was written in 1993 for Caml Light – and we are considering funding an English translation.
We funded Louis Gesbert (‘AltGr’) to do some technical development work on the LearnOCaml codebase. LearnOCaml is a technical platform to deploy automatically-graded OCaml exercices, used in various universities with probably around a few thousands students each year.
Note: if you are organizing an OCaml event (workshop, meetup, etc.), please get in touch to see whether/how we could support you.
We are funding part of the time Kate (‘kit-ty-kate’) spends on release-readiness for the OCaml compiler distribution – monitoring build results for the whole OPAM repository and working with compiler maintainers and downstream package authors to solve compatibility issues before the release. This is great work which we think had a strong impact. There is now a larger concerted effort (not funded by us) to coordinate core tools around compiler releases – see this opam-repository PR for example – which puts the ecosystem in a fairly good place compared to how new compiler versions felt a few years ago.
We are also supporting Marcello Seri (‘mseri’) for his contributions to opam-repository maintenance.
We are supporting Jonah Beckford (‘jbeckford’)'s work on his Diskuv OCaml distribution for Windows.
We are funding Petter Urkedal (‘paurkedal’) to work on Caqti, an OCaml library to work with SQL databases.
We are supporting Zach Shipko’s maintenance work on the ocaml-rs library, a library to write bindings / FFI code between OCaml and Rust.