OCaml Software Foundation: January 2024 update

Happy new year!

This is an update update on recent works of the OCaml Software Foundation, covering our 2023 actions – the previous update was in January 2023.

The OCaml Software Foundation 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) Executive Committee. It is currently formed by Nicolás Ojeda Bär, Damien Doligez, Xavier Leroy, Kim Nguyễn, Virgile Prevosto and myself, with administrative personnel provided by INRIA and general assistance by Alan Schmitt.

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 questions/suggestions :slight_smile:

Recent actions

Teaching

We are funding an update and English translation (still in progress) of the French book Apprendre à Programmer avec OCaml, by Sylvain Conchon and Jean-Christophe Filliâtre, under the understanding that it will be released as open access content – online, at no cost. This is a good book that is suitable for use in classroom of first- or second-year university students of various level. (In comparison, OCaml from the Very Beginning and Real World OCaml are more aimed as self-study than use in classroom, and the Cornell CS3110 textbook is aimed at more advanced students with a strong background.)

For the second year in a row, we funded a Spanish summer school on functional programming in OCaml, organized in Saragossa by Ricardo Rodriguez and Roberto Blanco. This is an occasion for students to discover OCaml and functional programming, and the organizers also run a one-day mini-workshop for the students and anyone interested (including online), the Day of the Caml.

Outreach

We are funding the recurring OCaml Meetup in Paris; this year we are also funding a new meetup in Toulouse, a city in the south-west region of France known for duck cuisine, white beans, and strong aerospace industry. If you are interested in organizing an OCaml meetup in your city, and some light funding would help, please get in touch!

We got in touch with the organizers of the ICFP 2023 conference to ensure that colocated workshops (which include the OCaml Workshop) can be attended online at low or no cost. The ICFP organizers accepted to (semi-officially) make virtual attendance free, so we tried to encourage broad participation to the OCaml Workshop. We also supported the OCaml Workshop by funding the expenses of some of the program committee members to attend, when they do not have an employer in academia or industry that can easily reimburse their trip.

We are supporting the work of Alan Schmitt on the Caml Weekly Newsletter (CWN).

Kim Nguyễn ran the OCaml User Survey 2023 for the OCaml Foundation – we have not posted the survey results yet.

We invited Sudha Parimala to propose more actions oriented towards diversity and inclusion. A first step is the inclusion of demographic questions in the 2023 survey, to get a better picture of the current composition of the OCaml community.

Ecosystem

Infrastructure

As in previous years, we are funding Kate Deplaix to work on “release readiness” of the OCaml ecosystem: when a new OCaml release is being prepared, Kate checks the compatibility of all opam packages with the upcoming release and gets in touch with maintainers to contribute or request support for the new version. The OCaml 5 transition has been a lot of work for Kate on this front – mostly not due to the Multicore runtime changes, but the removal of various long-deprecated functions of our C and OCaml APIs.

For almost as long as we can remember, Kate Deplaix has also been the most active maintainer of the opam-repository – the person who provides feedback when there is a packaging issue in a new PR to the opam-repository, to interpret CI failures, recommend best packaging practices, etc. (Kate’s work on this topic was funded by OCamllabs then Tarides, not the OCaml Foundation.) Kate decided recently to move on to other things – notably, contributions to opam. (There was a call for volunteers on Discuss around that time.) This was a bit of a scare for us as the good health of the public opam-repository is central to the functioning of the current OCaml free software ecosystem. We were already providing financial support (in the form of research funding) to Marcello Seri, the second most-active contributor, and renewed our support. We also got in touch with other opam-repository contributors, and started funding the work of Haochen Xie.

Tools

We got in touch with frequent Dune contributors to offer financial support for their contributions. Ali Caglayan was supported in this way in 2023.

We are supporting some of the work of Jonah Beckford on Windows support of OCaml, as well as his work on mentoring OCaml students in the Seattle area. If you want to learn about Jonah’s work, consider watching his April 2023 talk at the Houston Functional Programmers meetup.

Simmo Saan spontaneously took up maintenance of ocamlearlybird, the bytecode debugger frontend that integrates with visual studio code – we had previously funded ocamlearlybird maintenance, but its original author moved to a demanding startup and was not available to work on ocamlearlybird anymore. We are funding the time of Simmo Saan, who accomplished a lot in a short amount of time, notably the integration of the ocamlearlybird plugin in the main OCaml plugin for vscode.

We will be funding one year of post-doc by Takafumi Saikawa at Nagoya University, to continue his work with Jacques Garrigue on the refactoring of the OCaml type-checker. The type-checker codebase suffers from technical debt, and the effort led by Jacques in the last few year has been precious in making it easier to understand, improve and extend for other developers.

Libraries

We funded work by Alan Hu to improve the OCaml LLVM bindings, to support newer LLVM releases and make them compatible with OCaml 5. Alan announced this work on Discuss.

We support the contributions of Daniel Bünzli to the OCaml ecosystem. Daniel used this support to fund the development of

  • cmarkit, a new Markdown parser and renderer for OCaml, and ocamlmark a tool to use Markdown to write OCaml documentation comments,
  • WebGPU support in brr, his browser interaction toolkit
  • support for Unicode 15.0 and 15.1 in his Unicode libraries
  • zipc, a pure-OCaml ZIP archiver.

We continued providing partial support for the work of Antonio Monteiro on Melange. In 2023, Antonio announced Melange 1.0.

We are supporting the work of Petter Urkedal on the Caqti library, the main database connection library in the OCaml community. Caqti 2 was released in 2023.

We will be supporting the time of Nathan Rebours to contribute to the maintenance of ppxlib.

42 Likes

I wonder if there’s an easy way to create some sort of non-for-profit org, in any jurisdiction, whose only purpose would be to accummulate small donations into larger ones which can be re-directed periodically to the OCaml Software Foundation.

1 Like

I’m obviously totally biased here but i think the work by the OCaml Software Foundation is awesome and underrated and I wish it had even more resources to found more essential work in the community.

If you’re in a company and using OCaml software with any means at all, consider asking your superiors to think about sponsoring it.

All that to say: thanks a lot about all the work/time you’re putting into this.

23 Likes

I think Open Source Collective does this?

The Open Source Collective is a non-profit umbrella organisation providing financial and legal infrastructure for thousands of open source projects. We’re an API between the world of distributed collaboration and the world of accounting and invoices.

Iiuc, they work thru, and closely with, Open Collective https://opencollective.com/

Both projects seems quite cool and pretty aligned with some OCaml initiatives.

If this is something the foundations is interested in exploring, I can try to help gather info or make some connections.

my understanding, but please correct me if I’m wrong, is that money isn’t the main blocker. The foundation doesn’t actively try to raise more money because it is lacking human resources to organize the allocation of the funds. So the choice is kind of between staying “small” and having targeting actions, or looking for an order of magnitude more money to have multiple people full time.

I already make some donations through Open Collective, for example to support the fediverse instance I use. I’d be happy to make a month donation to be directed to the OCaml Software Foundation.

1 Like

I also already have regular contributions via open collective (for magit), and adding something towards the ocaml foundations would be a pleasure :slight_smile:

My 2-cent comment: a big thanks to all contributors.

2 Likes

I would like some help organizing a meetup in my city (Seattle).
I actually own the Meetup.com group (I took over the payments when the previous owner left). I don’t need help with funding (I don’t think), but more around organizing and ideas for what to do. So I’d love to connect with somebody who’s done these before.

I was handling the meetup in Paris many years ago. Feel free to send me a message with your questions.