DUICUO

コンピュータサイエンスの学生がオープンソース プロジェクトにコードを投稿する必要があるのはなぜですか?

ACM (Association for Computing Machinery) の旗艦雑誌である *Communications of the ACM* (CACM) は最近、「オープン ソース」に関連する「なぜコンピュータ サイエンスの学生はオープン ソース プロジェクトにコードを投稿する必要があるのか​​?」という記事を公開しました。

この記事の著者であるソフトウェア工学教授は、21世紀においてプログラミングスキルだけではコンピュータサイエンスの卒業生に求められるスキルを市場が満たすことはできず、また、過去と同じような専門資格も提供できないと考えています。そのため、彼はコンピュータサイエンスの学生に対し、授業活動を通じてオープンソースソフトウェアプロジェクトにコードを提供することを提案しており、自身も15年以上にわたりソフトウェア工学の授業でこのアプローチを実践してきたと述べています。

[[409310]]

この記事は、ソフトウェアエンジニアリングにおけるベストプラクティスが、大規模で成功を収めたオープンソースプロジェクトのベストプラクティスと融合していることを指摘しています。企業は多くのオープンソース開発プラクティスを吸収し、貢献してきました。これにより、関連する知識とスキルはオープンソースプロジェクトと企業プロジェクト間で移植可能になります。オープンソースプロジェクトへの貢献を通じて、学生は実践的に役立つ幅広いスキル、知識、そして経験を習得し、ハリウッド映画で描かれるような「一匹狼」のプログラマーではなく、バランスの取れた現代的な開発者へと成長することができます。最も重要なのは、従来のプログラミング教育では得られない、社会性と組織力を身につけることです。

  • プロジェクトのコンテキストに対する認識を深め、開発作業がプロジェクトの範囲、タスク、共同開発者チーム、新しいリーダーシップ スタイルにどのように組み込まれているかを理解します。
  • プロジェクトの多様なグローバルコミュニティとの交流
  • 交渉機能の要件、ニーズ、実装ソリューションの選択
  • 応答がないなどのコミュニケーションの問題に対処することは、ボランティアによって運営されるオープンソース プロジェクトでは一般的です。
  • 問題を分類したり、リリース計画を作成したりといった実践を通じて、ソフトウェアを製品として扱います。
  • コードレビューコメントの受信、議論、処理

学生がどのオープンソース プロジェクトに貢献するかをどのように選択すべきかに関して、教授は次のような提案をまとめました。

  • あなたを導き、質問に答えてくれるコミュニティが存在するように、アクティブな貢献者が複数いるプロジェクトを選択してください。
  • 比較的人気のあるプロジェクト (GitHub でスターの数が多いプロジェクトなど) を選択し、そのプロジェクトが便利な機能を提供しており、比較的合理的な方法で開発されていることを確認します (GitHub にアップロードされた放棄された紙のプロジェクトは避けます)。
  • 競争や雑音、官僚主義によって自分の貢献が埋もれてしまわないように、非常に人気のあるプロジェクトを選択するのは避けてください (ただし例外もあります。Tensorflow や Visual Studio Code などの非常に人気のあるオープンソース プロジェクトにコードを貢献している学生もいます)。
  • プロジェクトを自分のコンピューター上でビルドして実行できるかどうかを確認します。
  • 貢献したコードがマージされる機会が得られるように、プロジェクトが外部からのプル リクエストを定期的に受け入れるようにしてください。
  • プロジェクトのワークフローに従う能力をテストする方法として、ウォームアップ演習として、小さな修正を提供してみてください。
  • 「Good first issue」とマークされたプロジェクトの問題を探します。これは、プロジェクトが新しい貢献者に開かれていることを示します。

この記事はOSCHINAから転載したものです。

タイトル: コンピュータサイエンスの学生がオープンソース プロジェクトにコードを投稿する必要があるのはなぜですか?

この記事のアドレス: https://www.oschina.net/news/148962/why-computing-students-should-contribute-to-oss