I’d like to see if we can fill a need that I feel is currently missing in the community.
In general, OCaml advances in spurts that come out of the productivity of very few individuals. This isn’t a bad thing per se, but the result is that there isn’t much planning or discussion in the general community, nor is there much feedback-gathering happening in public forums. Experts who know OCaml’s codebase will implement an idea and submit a PR, and then people may react to that PR, but again, this is almost entirely happening at a late stage of development. What about the non-expert who wants to raise an idea for the language and get people’s feedback? What if there’s some feature that people would find really useful, but the experts aren’t aware of demand for this feature because the community has nowhere where they’re permitted to express their desire?
What I’m thinking of is a category where people can propose ideas, either for libraries or for OCaml’s direction, and other people can show support for the idea or explain why it’s great, or not good, or just not a good fit for OCaml. A brainstorming area, if you will. Experts may look through these ideas for things to implement or just shoot down because they’re not supported by theory. An expert working on implementing a specific feature (e.g. Modular Implicits) can use this topic to think through repercussions of the feature, and to get people’s feedback before the next stage of implementation.
I know, the whole thing is experimental – but that’s kind of the point. I’m trying to encourage the kind of productive discussion that can lead to good things happening down the road. Many of these discussions take place before the PR on github comes about, but currently they only take place in limited quarters (e.g. Inria, Cambridge, Jane Street, and the emails of the lead developers), and I’d like to see if we can open up these discussions to make them more effective. Most importantly, unlike PRs, there’s minimal effort required to raise an idea here, and therefore there’s even less of a reason to feel bad if the idea is shot down.
As to why a category’s needed: I think it’ll give people the license to raise these kinds of ideas without just getting shot down right away. By creating the category, we give legitimacy to have these kinds of creative discussions, and acknowledge that we’re not wasting anyone’s time: if you don’t want to see these kinds of discussions, don’t subscribe to this category.
BTW I’m not set on the name for this category. I thought about calling it Design or Ideas, but I think these 2 things are encompassed by the term ‘Proposals’.
Worst case, if the category doesn’t work out, it can be removed later on.