この記事は,東京大学工学部電子情報工学科・電気電子工学科(通称EEIC)の3年後期実験の一つである「大規模ソフトウェアを手探る」のレポートとして,書かれたものです。
「大規模ソフトウェアを手探る」という実験は,2–3人のチームで著名で大規模なOSSを1つ選んで,何か変更したり機能拡張したりするという実験です。 例年沢山の版画様々なOSSで開発をしています。例年のレポートはこちらから確認できます。2020年度レポートはこちら
私たちの班はOSSのお絵かきソフトであるinkscapeを題材として選択し、機能拡張を目指しました。
私たちはバグ修正を1つと、機能追加を1つ行い、バグ修正の方はMerge Requestを提出し、本リポジトリにマージされました。
開発ブログ目次
今回取り組んだ開発をいくつかのパートに分けてブログ記事にしました。
将来Inkscapeで開発したいと思っている方の参考になれば幸いです。
環境構築
Inkscapeの環境構築 - Qiita
macとUbuntuの二つのOSで環境開発をしました。
VSCodeを用いたデバッグの仕方
Visual Studio Codeを使ったデバッガ導入とデバッグ実行 - Qiita
実際のコード変更
Inkscapeの開発に参加した - Qiita
初めて見るソースコードに対して実際にどのように編集を加えていったのかを示します。
Issueの見つけ方
OSS開発初めかた (Issueの見つけ方) - Qiita
Issue一覧から自分たちに解決できそうなバグを見つけてそれに取り組むことにしました。Issueの探し方をまとめました。
MRを出すまで
OSS開発初めかた (GitLabにある本家にマージ) - Qiita
取り組みたいOSSを見つけてから、実際にバグを直したコードがマージされるところまでをまとめました。
感想
はじめてのオープンソースソフトウェア開発思うようにでバグがいかず班員に頼りきりの状態でした。今後自分でライブプレビュー機能の追加などInkscapeに機能追加をしてみたいです。 @momoka_0122y
今回、OSSのデバッグ、機能追加を行うのは初めての経験であり、自分ひとりでは大変でしたが、班員と協力しバグの修正、機能追加などを行う事ができいい経験になりました。この経験を今後も生かしていきたいです。@wolfram1293
「大規模ソフトウェアを手探る」というテーマの通り、たくさんのソースコードから該当箇所を見つけ出すのが最も大変であった。しかし、どんなソフトも結局それぞれの機能は普段使うような言語で書かれているということを実感できた。@ebiyuu1121
参考にした先輩方のレポート
過去の「大規模ソフトウェアを手探る」でInkscapeを選んだ先輩方のレポート