In an effort to create a repeatable, predictable process for creating official Haskell Foundation proposals, I am proposing a proposal process proposal. So very meta. Wow.
You can find the proposal and any discussion around it in the Haskell Gitlab MR: https://gitlab.haskell.org/hf/meta/-/merge_requests/11
For convenience, here is a link to the rendered initial version: https://gitlab.haskell.org/hf/meta/-/blob/8088111238a35f6415c8b3633c7bff45dad314c9/proposals.md
Here is the full, initial text:
Lifecycle of Haskell Foundation Proposals
This process is open to anyone in the community with ideas on how the Haskell Foundation should operate, what work we should undertake, and how that work should be structured. Generation, brainstorming, and discussion prior to officially proposing are out of scope of this document.
Proposals are created as Merge Requests in the proposals repository of the Haskell GitLab. Create a markdown file with an appropriate name, define the proposal as described below, and open an MR when you are ready for comments and review.
Community Notification and RFC
Once the merge request is opened, send a message to the Board mailing list announcing the MR. Post to the Haskell Discourse under the Haskell Foundation topic with the initial text and a link to the MR.
Although proposals may be announced on other social media platforms, these are the only two notifications required.
Review and Commentary
Feedback, commentary, dissent, and change requests are handled in the merge request. Discussions on Discourse and social media platforms are encouraged, however no one working on the proposal is required to read or incorporate feedback outside the merge request itself.
Official Board Vote
Once the proposers are ready they notify the Board, by sending email to the Board mailing list, that the merge request is ready for a final up or down vote. Each member of the Board is added as an approver, and those who vote yes will approve the MR.
Any Board member who votes no should add a comment to the MR with their reservations.
Board Meeting Vote
In some cases the proposals will have legal impacts. During an official Haskell Foundation Board Meeting there will be a vote taken on the record, and tallied in the minutes.
Once the voting is finished by whichever mechanism, a successful proposal will be merged into the master branch of the repo and will become official.