.NETプロジェクトへのプルリクエスト体験談 - 個人が巨大プロジェクトに貢献する面白さとは?

詳細情報

日時 2023年08月17日 22:30 - 23:00
テーマ dotnetにpullreq投げた話
発表者 anatawa12
集会名 個人開発集会
発表資料 リンク

大学2年生の私が、.NETにプルリクエストを送ってマージされた話!

本記事は、2023年8月17日に行われたVRChatの「個人開発集会」でのanatawa12さんによる発表内容を元に、ブログ記事として再構成したものです。

anatawa12さんは、日頃からUnityを使ったツール開発などを精力的に行っている開発者です。

今回の発表では、anatawa12さんが.NETプロジェクトにプルリクエストを送り、見事マージに至るまでの体験談について語ってくださいました。

発表のハイライト

  • きっかけは、自身が遭遇した.NET 6のWindows Formsアプリケーションにおけるバグ
  • .NETプロジェクトは規模が大きく、最初は戸惑うことも多かった
  • 開発チームとのコミュニケーションは英語ベースだったが、非同期コミュニケーションだったため、そこまで問題はなかった
  • マージされるまでのやり取りは約1ヶ月間で、テストコードの作成やレビューなどを通して多くの学びがあった
  • 規模の大きなプロジェクトに貢献できた達成感は大きく、プルリクエストを送る面白さを実感した

.NETとは?

.NETは、Microsoftが開発しているプログラミング言語のランタイム環境です。

Javaに対するJavaVMのように、様々なプログラミング言語を.NET上で動作させることができます。

従来の.NET Frameworkや.NET Coreなどを統合し、Windowsだけでなく、macOSやLinuxでも動作するのが特徴です。

プルリクエストを送るまでの経緯

anatawa12さんは、普段からMacOS環境で開発を行っており、Windows向けのアプリケーション開発もクロスコンパイルで行っていました。

しかし、クロスコンパイルでのみ発生するバグに遭遇してしまいます。

そこでanatawa12さんは、.NETプロジェクトのIssue Trackerを確認したところ、自身が遭遇したバグがオープンな状態であることを発見します。

.NET 8のリリースが迫っていたものの、リソース不足などの理由から、anatawa12さん自身がプルリクエストを送ることを決意しました。

プルリクエストの内容

anatawa12さんが遭遇したバグは、Windows Formsアプリケーションをクロスコンパイルでビルドした際に、本来表示されるべきではないコンソール画面が表示されてしまうというものでした。

この問題を解決するために、anatawa12さんは以下の作業を行いました。

  • 問題箇所の特定と修正
  • 外部ライブラリの導入
  • テストコードの作成
  • ドキュメントの修正

.NET開発チームとのやり取り

.NETプロジェクトは、世界中の開発者によって支えられているオープンソースプロジェクトです。

anatawa12さんは、開発チームとのコミュニケーションを英語で行う必要がありました。

時差やコミュニケーションの頻度など、最初は戸惑うことも多かったようですが、開発チームはanatawa12さんの質問に対して丁寧に回答してくれたため、スムーズに開発を進めることができたそうです。

マージされるまでの期間

.NETプロジェクトは非常に大規模なプロジェクトであるため、プルリクエストがマージされるまでにはある程度の時間がかかります。

anatawa12さんの場合、プルリクエストを送信してからマージされるまでにかかった期間は約1ヶ月間でした。

プルリクエストを送ってみての感想

anatawa12さんは、.NETプロジェクトにプルリクエストを送った感想として、以下のように語っています。

  • 世界中の開発者が利用するプロジェクトに自分のコードが組み込まれるという、大きな達成感を得られた
  • 開発チームとのやり取りやコードレビューを通して、多くのことを学ぶことができた
  • 個人でも、オープンソースプロジェクトに貢献できるという面白さを実感した

まとめ

anatawa12さんの体験談は、私たちにオープンソースプロジェクトへの貢献の素晴らしさを教えてくれます。

日頃からソフトウェア開発を行っているのであれば、自分が利用しているソフトウェアのIssue Trackerを確認したり、プルリクエストを送ってみたりしてみてはいかがでしょうか?

あなたの貢献が、世界中の開発者を助けることに繋がるかもしれません。

anatawa12さんの開発情報

anatawa12さんは、Unityを使ったツール開発を多数公開しています。

  • VRChat向けツール
  • Unityエディタ拡張
  • その他

興味のある方は、anatawa12さんのGitHubリポジトリをご覧ください。

個人開発集会の他の発表もチェック!

初心者でもできる!AITuber開発の道 - VRChat個人開発集会

Bun×AI SDK×Cloudflareで構築するカスタム音声アシスタント - らてさんが明かす最新技術スタック

VRChatワールド制作:ユーザー課題解決で生まれる新たな価値

【実践解説】ChatGPTとCursorで作るTwitterブロック拡張機能の開発手順 - 4〜5時間でリリースした話

Denoモノレポは茨の道?Sveltekit、Hono、Drizzle構成でハマった話

VRChatのポスター管理をブラウザから!「SyncFrame」でイベント運営がもっと楽になる!

個人開発集会の開催情報・参加方法

個人開発集会のポスター

個人開発集会

開催日: 2023年08月17日

開催時間: 21:00 - 22:00

開催曜日: 木曜日

開催周期: 隔週(グループA)

個人開発にまつわる話でワイワイする集会です。 個人開発をやっている方も初めてみたい方も大歓迎! 企画・技術・マーケティング・保守・運用など 技術的なことに限らない幅広い分野を想定しています。 個人開発に興味がある方はぜひ遊びに来てください!

個人開発にまつわる話でワイワイする集会です。 個人開発をやっている方も初めてみたい方も大歓迎! 企画・技術・マーケティング・保守・運用など 技術的なことに限らない幅広い分野を想定しています。 個人開発に興味がある方はぜひ遊びに来てください!