コンテンツにスキップ

Knativeを使ったオープンソース入門 パート0:はじめに

公開日: 2023年7月11日 、  改訂日: 2024年5月30日

Knativeを使ったオープンソース入門 パート0:はじめに

著者: Calum Murray ソフトウェアエンジニアリングインターン @ Red Hat、および Leo Li ソフトウェアエンジニアリングインターン @ Red Hat

このブログシリーズとは?

このブログシリーズは、新しいコントリビューターがKnativeへのコード提供を開始するのに役立つことを目的とした投稿のコレクションです。新しいコントリビューターの方、またはコントリビューターになることを検討している方は、ようこそ!また、既存のコントリビューターで、Knativeのいくつかの基本的な概念の仕組みについて詳しく知りたい場合は、これらの投稿から何かを学んでいただければ幸いです。

このシリーズの投稿

  1. はじめに(この記事!)
  2. オープンソース入門
  3. Knativeの環境設定
  4. APIの変更
  5. コントローラー(近日公開)
  6. テスト(近日公開)
  7. 他の言語とのバインディング(近日公開)

なぜこのブログシリーズを書いているのですか?

このブログ記事を書く前の1か月間、私たちはRed Hatでインターンシップを開始し、Knativeの開発に取り組み始めました。そのため、私たちは過去1か月間、Knativeの仕組みをすべて学び、プロジェクトに最初の貢献をしました。私たちは、新しいコントリビューターが直面する多くの苦労を理解しています。なぜなら、私たち自身がまさにそれらを経験したからです。このブログシリーズを作成することで、私たちの後に続くコントリビューターの苦労を軽減できることを願っています。

それを念頭に置いて、私たちが経験してきた苦労について話し合ってみましょう。1つ目は、Knativeは非常に大規模なプロジェクトであり、巨大なリポジトリが多数あることです。新しいコントリビューターとして、変更を加える場所を見つけるためにコードベースをどのようにナビゲートすればよいかを知るのは非常に難しい場合があります。また、Knativeコードベースには多くの「マジック」があり、特定の方法で関数を命名する必要がある場合や、コード生成が行われる場合があります。そのため、変更を加えるのに十分な時間を費やして理解するまで、変更を加えるべき場所を理解するのは本当に困難です。また、かなり集中的なテストスイートがあり、新しいコントリビューターにとっては非常に混乱を招く可能性があるため、変更を加えることができたとしても、テストするのは依然として苦労する可能性があります。

私たちは、あなたのような新しいコントリビューターのためにこれらの苦労を軽減し、新しい開発者が私たちに加わりやすくなるようにしたいと考えています。学習プロセスをスピードアップし、混乱を減らし、この素晴らしいコミュニティとプロジェクトへの貢献を始めることを楽しんでいただけるようにしたいと考えています。さあ、飛び込んで始めましょう!

このブログシリーズを最大限に活用するにはどうすればよいですか?

この時点で、おそらく(少なくともそう願っています)これらのブログを最大限に活用するにはどうすればよいか疑問に思っているでしょう。実は、それはとても簡単です!あなたがする必要があるのは、一緒に学びながら積極的に学び、行き詰まったときにコミュニティに質問し、そしてそれを続けることだけです!どのようにすればよいかについて、もう少し詳しく説明しましょう。

アクティブラーニング

コードサンプルがある場合は、実際に自分で入力して、コードの各行を理解するようにしてください。コピーアンドペーストの方が速く、短期的に簡単になることは承知していますが、その方法では理解の一部を見逃してしまう可能性があります。

記事を読んでいるときに質問がある場合は、オンラインで調べてみてください!あなたを助けるための素晴らしいリソースがたくさんあり、それらを見つけることができること自体が貴重なスキルです。私たちは、このシリーズの各投稿で、あなたの調査の出発点となるように、さらに学ぶための厳選された記事リストを提供するために最善を尽くしますが、私たちが提供するもの以外にも読んでみることをお勧めします。

コミュニティに質問する

しかし、行き詰まったり、質問があったり、自分で調べてみてもまだ答えがない場合はどうすればよいでしょうか?さて、それはKnativeコミュニティの出番です。コミュニティは非常に協力的で、喜んでお手伝いします。質問があれば遠慮なく、Slackで質問してください!トピックに応じて、Slackでknative-eventingknative-functionsknative-serving、またはその他の `knative-*` チャネルで質問することができます。わからない場合は、knative-contributorsで質問することもできます。毎週または隔週のワーキンググループミーティングもあるので、たとえばイベント処理に関連するトピックについて質問がある場合は、イベント処理ワーキンググループミーティングに参加してそこで質問することもできます。私たちは皆、あなたが成功することを望んでいるので、遠慮なくご連絡ください。

諦めない

最後に、諦めずに続けてください! 最初は戸惑うこともあるでしょうし、変更を試みて行き詰まってしまうと落胆することもあるでしょう。しかし、このブログシリーズを読み進めていただければ、必ず簡単になるとお約束します。また、最初のissueやプルリクエストに取り組み始めたら、これらのブログ記事を参考に、どのように作業を進めるか思い出してください。忍耐と粘り強さは、最終的には報われるので、諦めないでください!

この最初の投稿を楽しんでいただけたことを願っています。次の投稿でお会いできるのを楽しみにしています!

サイトのトラフィックを理解するために、アナリティクスとCookieを使用しています。お客様のサイト利用に関する情報は、その目的のためにGoogleと共有されます。詳細はこちら