コントリビューションガイド #
mimiumはオープンソースソフトウェア(ソースコードが一般に公開されているソフトウェア)です。
言語の設計はオリジナルの開発者である松浦知也が中心に行なっていますが、コンパイラの実装には何人ものコントリビューターが関わっています。
また、mimiumのコンパイラの実装に関わることだけがコントリビューションの形ではありません。
mimiumで作った音楽のコードをコミュニティでシェアしたり、このWebサイトを含むドキュメントの編集や翻訳をすることもコントリビューションの形の一つです。
開発に関わる貢献 #
mimium(v2)の開発は現在ソースコード共有プラットフォームGitHub上で開発されています。
https://github.com/tomoyanonymous/mimium-rs
バグ報告、追加機能や改善の提案 #
バグや不可解な挙動を発見した場合は、Github上のIssueと呼ばれる掲示板機能を用いて報告できます。(開発では主に英語で投稿していますが、日本語での報告も歓迎です。)
https://github.com/tomoyanonymous/mimium-rs/issues
バグ報告の場合は、まず過去のIssueの中に同様の内容がないか検索して確認してみてください。
報告する際は、それを引き起こしたソースコード、使用しているmimium-cli
のバージョン、実行しているOSのバージョンなどの情報をわかる範囲で詳細に記述してください。
新しい言語機能の提案なども同様にIssueから投稿してください。ただし、mimiumは開発途中の言語で、既にさまざまな新機能の提案と実装が並行して進んでいます。実装の優先順位や、他の言語仕様とバッティングするなど、簡単には実現できないケースも多くあります。
Pull Requestによるコードの変更提案 #
あなたがもしRustでのプログラミングを既に行なっている場合は、直接バグの修正や、新機能の提案をPull Requestの形で寄せることも可能です。
PRを寄せる場合は、以下の点に留意してください。
cargo test
で既存のテストに影響がないか確かめてください。- 可能であれば、バグの修正や新機能の提案に関しては、それをカバーするテストケースを新たに追加してください。
- マージする前に
cargo fmt
でフォーマットを統一してください。(現在CIではfmtのチェックをカバーしていません)
PRのマージの裁量は現在のところ松浦の一存になっています。新機能の提案などは設計上の判断で受け入れられないこともあることを了承ください。
ドキュメンテーションの充実 #
mimium.orgの編集 #
このWebサイト(https://mimium.org)もまた、GitHub上のリポジトリで管理されています。
https://github.com/mimium-org/mimium-web
誤字の修正や新しい記事の執筆はGitHubのPull Requestで行えます。
記事はMarkdown形式のファイルで管理されており、Hugoという静的サイトジェネレーターを使用してビルドしています。
また、GitHubの使い方が分からなくても、アカウントさえ作ればDecapCMSのOpen Authoringという機能をを利用してWebサイトの編集提案をすることができます。
(TBD)