-
Notifications
You must be signed in to change notification settings - Fork 5
Things to work on
The official OCaml bug-tracker lists many more reported issues and feature requests. Tasks tagged junior_job
may be particularly suitable for the inexperienced, but the tagging is very far from exhaustive, so feel free to look around.
A couple more things worth knowing:
- the
assigned
state doesn't necessarily mean that you should not work on the issue, since many bugs are auto-assigned by area of responsibility, and patches may still be welcome - issues in the
resolved/suspended
state are not considered closed; the core developer team isn't intending to work on such issues further but, again, patches may still be welcome
The Compiler or Language projects to work on wiki page has a list of suggested projects that tend to be larger chunks of work (probably not something you can finish in one evening, but it's fine to start now and finish later). Past entries moved to the list of Compiler or Language projects previously worked on.
Other tasks that are super-useful and accessible to beginners (in fact very good way to learn around) are to review pull requests, document code and contribute to the manual. If you wonder how to do any of these, ask someone!
The ocaml compiler (see also above).
The multicore runtime project has a list of proposed "first tasks". See also the dedicated Multicore OCaml and OCaml Multicore Runtime wiki pages.
The ocaml.org website has a tracking issue.
The Lwt concurrency library has a section for new contributors and an easy issues list.
The pure OCaml SAT solver mSAT has an issue about performance improvement: #8 that could be fun to look at.
The quality of the central public opam repository directly affects most OCaml users. You can help improve its metadata to avoid bad surprises when installing packages by looking at the OPAM bulk logs. (TODO: also mention opam-builder.)
Documentation is often a weak point of open-source project, and virtually all OCaml projects (except maybe those by François Pottier or Daniel Bünzli) out there would benefit from contributions to their documentation. If you have used a specific library recently, taking the time to write an usage example for specific modules or APIs for example helps a lot. For instance, see the examples contributed to the standard library for the Hashtbl (#30), Map (#44) and Set (#45). The odoc project has an in-progress centralized documentation website for OCaml packages at http://docs.mirage.io/, where your contribution will become visible and easy to find for users of the library.
The ocaml-migrate-parsetree project, started in 2017, provide a support library to make programs manipulating the OCaml AST (in particular ppx
extensions) robust to the change of AST definition across OCaml versions -- no more reimplementation of parts of the code at each new OCaml release. If you use some OCaml-AST-manipulating programs, in particular ppx
extensions, have a look at whether they already use it, or consider submitting a Pull Request to make it happen! The github page has a lot of information. Migration examples:
We have a new surprisingly effective (afl-based) fuzzer called Crowbar, and you can run it on the project of your choice to find and report plenty of bugs. See this blog post!