LinuCレベル1 オープンソースの文化 問17
オープンソースの文化/オープンソースのコミュニティとエコシステム利用しているオープンソースソフトウェアに、大きな新機能を加える変更を提案したい。プロジェクトに取り込んでもらうための進め方として適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル1の出題範囲「オープンソースの文化」に対応。実際の試験問題ではありません)
- A実装に取りかかる前に、イシューやメーリングリストで提案し、目的や設計の方針について意見を集める
- Bメンテナーの負担を減らすため、事前の議論はせず、完成した大規模な変更を一度にまとめて送る
- C採用を見送られた提案は、考え直してもらうために同じ内容のプルリクエストを何度も送り直す
- D提案がプロジェクトの方針と合わなくても、送られた変更はすべて取り込むのがメンテナーの義務である
正解:A
解説
オープンソースプロジェクトでは、大きな変更ほど、プロジェクトの方針や他の開発との整合性が問題になります。実装に取りかかる前にイシューやメーリングリストで提案し、目的や設計について意見を集めておくと、作業が無駄になることを避けられ、取り込まれやすくなります。変更は小さな単位に分けて送ると、レビューもしやすくなります。どの変更を取り込むかはメンテナーがプロジェクト全体を見て判断するもので、採用されない提案があることも前提として参加します。
選択肢ごとの解説
- A正しい。事前に提案して方針について意見を集めておくと、無駄な作業を避けられ、プロジェクトに取り込まれやすくなります。
- B誤り。事前の相談無しに大規模な変更をまとめて送ると、方針と合わずに作業が無駄になったり、レビューの負担が大きくなったりします。小さな単位に分けて送る方が受け入れられやすくなります。
- C誤り。同じ提案を繰り返し送ってもメンテナーの負担になるだけです。見送られた理由を確認し、必要なら議論したり内容を見直したりします。
- D誤り。どの変更を取り込むかは、メンテナーがプロジェクトの方針や品質を踏まえて判断します。送られた変更をすべて取り込む義務はありません。