Web開発にはあまり関係のない内容なのですが、縁があってProcessing Foundationが開発しているライブラリテンプレートの開発に関わることがあったので、 その時のことを書かせていただきます。 こちらがProcessing Foundationのライブラリテンプレートになります。
https://github.com/processing/processing-library-template
先にキーワードを紹介
ProcessingやJavaに関係する内容になるので、いくつかのキーワードを紹介しておきます。
- Processing: Javaをベースにしたグラフィックに特化したプログラミング環境
- Processing Foundation: Processing財団。Processingやp5.jsの管理をしている財団です
- Gradle: Javaのビルドツール。ビルド手順はGroovyやKotolinをベースとしたDSLで記述する
- Apache Ant: Javaのビルドツール。ビルド手順はXMLで記述する
以前に自分が開発していたライブラリテンプレートについて
自分はもともと こんなテンプレートを 開発していました。 (もう公式のテンプレートを使っていただいた方がいいと思います)
以前の記事にも、 このテンプレートの使い方についてはまとめてありました。 テンプレートの開発を始めたモチベーションとしては、 自分が作品制作をするきっかけとなったProcessingに貢献したいという気持ちと、 以前の公式テンプレート がAnt製だったので、 ライブラリを開発する際に 「Gradleで書いてあったらJavaの開発に慣れてなくても少し読みやすいのになー」 と思ったのがきっかけです。 自分が開発しているライブラリはこちらになります。
このテンプレートは2018年5月に公開したのですが、 使ってくださる方が何人かいたので嬉しく思っていました。
今回の経緯
そして、月日は経ち知り合いの学生たちが、 2024年の5月にNYUで開催されるITP Camp 2024に参加することが決まりました。 ITP Campはニューヨーク大学のITPで開催されている、 “UN-UNIVERSITY”(開かれた大学)と位置づけられる取り組みです。 様々な作家さんや講師陣と交流しながら、作品制作のための考え方を学ぶことができます。 現地の様子を聞いていて「自分も海外の開発者、作家さんと交流を持ちたいなー」と思ったのが、 公式テンプレートの開発に関わるきっかけになりました。
ひとまず、自作のテンプレートを少し整えて、 Processingフォーラムで 成果物を共有しました。 実は共有した次の瞬間には、 公式の旧Gradle製のテンプレートを知り「もっと早く提案していればよかった……」と少し後悔していました。
するといくつかの反応が返ってきました。 そのうちの一つが、Processing fellowshipに採択されている方からのお誘いでした。 ちょうど公式テンプレートを改めてGradle化しているところで、 初学者でもProcessingライブラリを開発できるように整備しているところだったようです。 そのために自分のテンプレートも参考にしてくれていたようです。
公式テンプレートの開発
そこからしばらくは、ProcessingフォーラムのDMを通じてやりとりしていました。 自分が英語が苦手なことを伝えても「あなたの英語はグレートだよ」と言ってくれました。 テンプレートの方針も相談してくれましたし、 自分が開発したテンプレートやライブラリもテストに使ってくれました。 テンプレートが大まかに固まってからは、GitHubでのIssueやPull Requestを使ったやり取りに移行しました。
自分が以前に開発していたテンプレートには、 GitHub Actionsを使ったビルドと配布機能があったので、 この機能を今回の公式テンプレートにも実装しました。 他にも、テンプレートの設計方針(Javaのコード内にライブラリのバージョンを待たせるべきか、持たせるとしたらどのように持たせるか)なども議論もしました。
難しかった点は、 日本語を英語にして伝えようとすると、 ぼんやりした言い方になってしまう点でした。 「日本語で通話することができればもっとスムーズに伝えられるのに……」となんども思いました。 頑張って英語を勉強したいと思います。
しかし、学会発表の準備で忙しくてお返事が遅れたときにも 「私も学会発表の大変さは知ってるから大丈夫だよ」 と言ってくれました。とてもありがたかったです。
そしてリリース
そして、いよいよリポジトリの所有者を Processing Foundationに 切り替える時が来ました。 その際には、「あなたの仕事の成果を記載したい」と言ってくれて、 READMEのContributorsに自分のことも書いてくれました。
まとめ
実は自分もfellowshipには応募していたのですが、 残念ながら採択されなかったので、思わぬ形で関わることができました。 Processing Foundationにはあたたかい人たちが多いので、 自分の作品やツール開発などの仕事を共有したら、 何かしらの提案をしてくれることが多いです。 英語が苦手でも翻訳ツールを使ったらなんとかやり取りはできますし、 思い切って共有してみることをおすすめします。
今後も、オープンソースは使うだけじゃなく、 何かしらの形で貢献していきたいと思います。