Skip to main content

Contribution guidelines

Dada is pretty young and informal, but we welcome contributions!

Keep in mind that Dada is my "spare time, relaxation and exploration" project. Responses may be slow and I am driving the language direction, syntax, and semantics. Naturally I would absolutely love to hear what people think, but I am acting as Chief Dadaist and final decision maker for the time being. --nikomatsakis

Code of conduct

All participation in the dada-lang repository is subject to the code of conduct.

Note that this governs not only things like sexist behavior but also the responsibility to demonstrate empathy, respect other opinions, and both give and accept (constructive) feedback.

Feature gates

Dada uses nightly, but we are careful with the feature gates we use. We only want to use features that are close to stabilizing. Currently accepted feature gates:

#![feature(trait_upcasting)]
#![feature(try_blocks)]

Finding an issue

Issues on the repository that are tagged with "good first issue' and the like are a good bet.

Review policy

Anyone is welcome to review using the github review tool. Best practice is to get PRs reviewed by others.

To merge a PR, do NOT use the merge button. Instead use bors r+. Bors only accepts commands from the dadaists team (see below).

Naturally one should only approve PRs if you have thorough knowledge of the relevant code and are confident the code is correct.

Furthermore, anything which changes the syntax/semantics of Dada in some notable way needs approval from the BDFL.

The dadaists team

The dadaists team consists of recognized contributors. For the time being, since we are so young, anyone with a merged PR will be offered membership, but you should only accept if you are expecting to continue contributing. As the project grows, we will revisit the criteria for membership.

Membership in the dadaists team gives the ability to approve PRs, adjust labels, and so forth.

Members of the Dadaists team are expected to not only obey the CoC but to exemplify its principles, particularly demonstrating empathy and kindness to all (including those who may be violating the CoC, or bordering on it). Note that demonstrating kindness does not mean people can do whatever they want.

BDFL and decision making

Decision making strives to be by consensus. Please voice your opinion, keeping in mind the code-of-conduct.

For the time being, nikomatsakis is BDFL and has final say whenever anything gets controversial.