オープンソースプロジェクトに参加した話
Coggleのオープンソースの多言語翻訳プロジェクトに参加しました
1. 本記事のターゲット層
(1) オープンソースプロジェクトに参加してみたい人
(2) オープンソースプロジェクトにどうやって参加しているのか知りたい人
2. イントロダクション
今回、初めてオープンソースプロジェクトでプルリクを行い、マージまで進められたので、その体験談を話したいと思っています。
なぜそのような話をするかというと、日本にもっとオープンソースに参加する技術者を増やしたい。そしてオープンソースに参加することで、高レベル技術者を増やしたいと考えているからです。
Githubは2023年あたりから初めて触り始めたGithub初心者です。普段何をしているかというと、ゲームや映画が好きで、空き時間はそれらに時間を費やしています。そんな人間でもオープンソースプロジェクトに参加していけるんですよ。ということは今回はお伝えできればなと思います。
Githubはどのように使っているかというと、サンプルソースコードを読んだり、関心があるプロジェクトをBookmarkに登録してソースコードを眺めたり、空き時間(昼休みや通勤途中など)に個人的なコーディングをすることに使っています。ZennやQiitaの記事を管理することにも使っています。
3. きっかけについて
今回のプロジェクトに参加するきっかけは、普段使っているCoggleというマインドマップツールで多言語翻訳プロジェクトを行っていることを知ったからです。
頭の中を整理したり、あるいは複雑な経路でたどることが困難な処理を追うときに、普段からこのツールを使っています。ツールを使ってマインドマップを描くことで、何年かあとでも考えていたことをすぐに思い出せるので便利です。
実際、このツールを使い始めてからノートを使わなくなりましたし、複雑なことを思い出さなければいけなくなったときにすぐに思い出すことができました。あちこち資料を漁ったり、人に聞いたり、ぐぐったり、思い出す努力をすることに時間をかけなくて済みました。
多言語翻訳プロジェクトをGithubで行っていることを知ったのは、このCoggleというツールの請求ページに書いてあったので知りました。
4. そもそもどうやって参加するのか
どうやって参加するのかをお伝えする前に、この参加に至る前にどのようなことを考え、どのようなことを調べていたのかについても説明したいと思います。
ロジカルシンキングには前提条件を合わせることが必要です。前提条件が違うと結論も異なるからです。
今回、参加しようと思う前に、Githubを知ってからオープンソースプロジェクトに参加をして、技術を磨くチャンスを得たいとは常々思っていました。そこで、Githubで暇があれば情報収集をしていました。例えば、Xで面白そうなオープンソースのツールがあれば、レポジトリのソースを眺めてみたり、試しに動かしてみたり、デバッグでソースコードを追ったりしていたわけです。
その中で、オープンソースに変更を加えたいとき、みんなどのようにしているのか知ることができました。
(1)変更を加えたいレポジトリをForkする
(2)Forkしたレポジトリに変更を加えてCommitする
(3)変更したForkレポジトリからオープンソースのレポジトリにpull requestを行う
(4)オープンソースのContributorsがpull requestを承認すると、レポジトリにマージされます
参加が不安な場合は、まずはissueに質問を投げたり、答えられるものを探してissueを解決することに貢献してみるとよいと思います。何回かすると、英語でやりとりすることに慣れてくることでしょう。
私の場合、DeepL、Chat-GPTなどに日本語で内容をかき、英語に翻訳してもらっています。Chat-GPTの場合は「以下の内容を英語に翻訳してください」、メールでやり取りしたいことがある場合は「以下の内容を英語のメール向けに翻訳してください」などとお願いをするといいでしょう。
5. どうやって参加したのか
前述したとおり、私もissueに参加することから始めました。そして英語でやりとりすることに不安を覚えなくなり、issueでやりとりすることにも不安を覚えなくなったとき、あるときたまたまCoggleで多言語翻訳プロジェクトをオープンソースでやっていることを知り、挑戦しようと思いました。普段から自分が使っているツールなので、よく知っているため、心理的な参入ハードルも低かったというのもあります。
多言語翻訳プロジェクトのレポジトリをForkして、Readmeの内容をよく読み、日本語翻訳ファイルを作成してCommitし、pull requestを投げてみました。最初はマージしてもらえるか不安でしたが、翌日にはマージされており、安心したことを覚えています。
今回は簡単な内容でしたが、そのうち、複雑な変更も加えられるようになれたらと思います。
いずれにしても英語でのやりとりになれる。知らないプロジェクトに参加するというのは、小さな一歩ではありますがとても良い経験になったと思います。
Discussion