Feedback Wanted: Upcoming OCaml Users Survey 2026 Questions

Hi everyone,

I am preparing the OCaml Users Survey 2026 on behalf of the OCSF and would like your input on the survey questions before we finalize them.

You can find the proposed question list here: Proposed OCaml Users Survey Questions 2026

For reference, there is a summary of the changes compared to the 2023 survey.

Summary of proposed changes since the 2023 survey

New sections:

  • AI/LLM Usage (4 questions) - Do you use AI/LLM tools for OCaml development? Which ones? What for?
  • Debugging & Profiling (3 questions) - What debugging approaches and tools do you use? What are the biggest challenges? (Motivated by frequent mentions of debugging difficulties in the 2023 free-text responses.)

New standalone questions:

  • Community size preference (“I wish the community was…”)
  • Documentation tools used (odoc, ocamldoc, etc.)
  • Dedicated free-text fields for tooling and package repository feedback

Removed questions (10 total) - questions that yielded low-actionability data or were redundant, including: largest project size, release schedule satisfaction, source hosting platform, web deployment platforms, “OCaml tooling provides a comfortable workflow for me”, “OCaml libraries are stable enough”, “software written in OCaml is easy to maintain”, and the language feature wishlist (effect handlers have shipped in OCaml 5).

Modified questions - new answer options reflecting ecosystem evolution: OxCaml, Zig, Helix, Zed, WebAssembly targets, dune package management, Nix-based builds, Bluesky, and AI/LLM-related options in the “burning desires” section. Old compiler versions (4.02-4.06) collapsed into “≤4.07”. Benchmarking tools now listed by specific name rather than category.

We’d love your feedback on:

  • Are there questions you think should be added or removed?
  • Are any answer options missing?
  • Are there new topics that are important to the OCaml community that we should ask about?
  • Is the survey too long, too short, or about right at 58 questions?

Thank you for helping us make the survey as useful as possible! :two_hump_camel: :orange_heart:

Sabine

PS: See also the results of the OCaml Users Survey 2023!

9 Likes

To question Q41: can we add an option “as a unikernel”?

1 Like

Oh! Q18: would be interesting to know how many not only don’t have plans to use AI but morally oppose using AI.

7 Likes

Why is this ran by Tarides?

1 Like

It is not (am not sure how the inference was made). As mentioned at the top of the message, the survey is run by the OCSF. @sabine is collaborating with the OCSF, on an individual capacity, to help prepare the 2026 edition.

Cheers,
Nicolas

1 Like

Q3: it might be nice to have the “For work, in open source” option

Q26 should have 5.5. Depending on when the survey is going to be published and stop taking answers you can optionally add (pre-release) to it, but a generic 5.5 should do it in all cases.

Q29 should have “during the pre-release period” as an answer.

Q30 should probably have “Reliance on a compatible ppxlib version” and i think “Breaking changes” should be split into “Breaking changes (type-checking)” and “Breaking changes (standard library)”. The latter happens quite often for projects that aren’t careful enough when using open/M.() and also happened in a more direct form during the 4.14/5.0 migration.

Q32. The answer “cpp-style […]” should probably have an example for such tool (e.g. cppo)

Q34 should probably have “cram-style/expectation/functional tests”

I find Q53 is fairly weird. “state of the art” feels like an extremely vague metric which can mean wildly different things depending on the person. I feel like it would be better to ask “what would you like the OCSF to improve” or something like that, if that’s the value of the question.

4 Likes

I remember someone requesting to have overlapping or approximative time ranges. It’s maybe less precise but it’s easier to answer when you are unsure or when you happen to fall on the limit.

Also in my case I’d basically like to fill up 2 surveys or 2 entries of the survey. I do very different projects for work and for play and it’d be weird to answer, say, “Which types of software have you or do you currently develop with OCaml?” with two unrelated sets.

There are at least two kinds of ethical reasons for opposition to using AI: 1) using AI is inherently bad (e.g., because it takes away jobs); 2) AI companies engage in unethical practices that I don’t want to support.

Reason-category 2 could be remedied in the future, for example, by having new companies enter, having old companies reform, or using local models.

If I encountered the answer choice “I don’t use AI and have no plans to because I am morally opposed to AI,” I would hesitate to select that choice because my reason would be in category 2, and the wording makes it seem (to me) as though it applies only to reasons in category 1. “Morally opposed” might also not be about ethics but rather such reasons as it offends one’s sensibility or standards relating to how software engineering ought best to be accomplished or is uncreative or similar.

Also, note this relevant post in another topic: https://discuss.ocaml.org/t/in-2026-is-the-average-ocaml-hacker-ai-augmented/17917/4?u=waleedmebane

E.g., I’m X, only hack OCaml for hobby projects, and would never use AI. But if I were still a pro (and had the enormous fortune of being hired to hack OCaml?) I’m sure I’d feel constrained to use AI, yeah.

On Q23, it probably counts if I have cross-compiled for Webassembly (since I don’t think there is a Webassemly platform for development per se, is there?), but if I cross-compiled for Windows, that probably isn’t intended to count as using the Windows platform. It might be worth clarifying that.

Some questions seem to miss an “I don’t know”, e.g. “Q53. If one piece of the ecosystem could magically be made state-of-the-art, I would ask for: […]”

For Q40, although this could fit under “Other”, the Windows version of ocamldebug is less feature-full and more difficult to use (as far as I have noticed and understood). That could possibly be a frequent answer among others developing on Windows.

(In my case, since the project I worked on was cross-platform, I often used the debugger on Linux first to see if I could track down the problem before switching to Windows, esp. if I couldn’t reproduce the bug under Linux.)

Q25, and Q31 through Q35 refer to “your current projects”, while some previous questions refer to “the past year”. Is it intended that someone who has recently separated from a project that they worked on in the last year would not answer those questions? Contextually, Q26 through Q30 seem like they might be intended also to apply to current projects as referred to in Q25.

Right. I don’t want to go deep into the ethical implications of AI usage. Maybe the question could be rephrased more like “no, and it’s an active choice” as opposed to just not planned at the moment.

3 Likes

Thanks @sabine as always for your hard work on this!

One question I’m really curious about is the CPU architectures people are deploying to: x86, ARM32/64 and the more obscure RISC-V/S390/POWER. We’re deprecating/have deprecated 32-bit native code for 32 bit architectures, but I don’t have much insight into how much (e.g.) RISC-V is being used by the community. And more importantly, how much do people want to use other CPU architectures but can’t currently (e.g. due to shortcomings in cross-compilation or other matters)?

4 Likes

Q9. Could we add Android/iOS apps to go alongside “web frontend”?

Q??. I’ll second the addition of a question about CPU architectures. This week the thread Dropping some intermediate OCaml versions from CI claimed that ARM32 is “completely irrelevant”. Given the hundreds of millions of Android users who use armeabi-v7a as their mobile device (cf. [ANN] Simplified Android cross-compiler with DkML) or devs who want to target the other Android Wearables / TV / etc categories that still (!) use ARM32 (Google embraces the future, mandates 64-bit apps for Wear OS - Android Authority), we could gauge whether survey respondents want the same CPU capabilities that most general purpose languages provide.

Q20. Could we split the “translating from other languages” into “translate code from other languages into OCaml” and "translate OCaml into other languages "? I think very few people are doing the latter today, but … it is a technique I’m adopting to mitigate OCaml’s lack of first-class support for widely used platforms like Windows and Android, and I suspect others who love OCaml as their primary programming language may adopt it by your next survey.

Thanks!

1 Like

maybe melange could be mentioned next to js_of_ocaml in Q24

Q20 — I think code completion and generation should be split, as they are quite different wrt. workflows

Q19 — the options are rather arbitrary, it’s mixing model/model providers and tools

Q33 — why not have neovim as a separate option?