こんにちは、出前館のプロダクトを担当しているヨンジェです。私は10余りのオープンソースプロジェクトをディレクションして開発し、チームで新しいソフトウェアを設計するときは、なるべくオープンソースへの移行可能性を念頭においています。今回の記事では、その過程で主にどのような点を強調しているかについて紹介します。
インターネットで見られるオープンソース関連記事のほとんどは、オープンソースの哲学について話したり、これから始める人向けにREADMEの書き方やライセンスの違いを説明したりするような記事が多いです。今回の記事では、ソフトウェアの構造や構成方法について説明したいと思います。また、オープンソース活動をする上で価値をおくべき部分とネーミングについても触れる予定です。また最初に書いておきますが、これはあくまで私の考えであり、絶対的な指針ではありません。
この記事では「技術ユーザー」という表現を多用します。これはソフトウェアのエンドユーザー(end-user)ではなく、オープンソースで公開した技術をインストールして運用するエンジニアまたは技術導入を検討する人を指します。