

中嶋悟
名前:中嶋 悟(なかじま さとる) ニックネーム:サトルン 年齢:28歳 性別:男性 職業:会社員(IT系メーカー・マーケティング部門) 通勤場所:東京都千代田区・本社オフィス 通勤時間:片道約45分(電車+徒歩) 居住地:東京都杉並区・阿佐ヶ谷の1LDKマンション 出身地:神奈川県横浜市 身長:175cm 血液型:A型 誕生日:1997年5月12日 趣味:比較記事を書くこと、カメラ散歩、ガジェット収集、カフェ巡り、映画鑑賞(特に洋画)、料理(最近はスパイスカレー作りにハマり中) 性格:分析好き・好奇心旺盛・マイペース・几帳面だけど時々おおざっぱ・物事をとことん調べたくなるタイプ 1日(平日)のタイムスケジュール 6:30 起床。まずはコーヒーを淹れながらニュースとSNSチェック 7:00 朝食(自作のオートミールorトースト)、ブログの下書きや記事ネタ整理 8:00 出勤準備 8:30 電車で通勤(この間にポッドキャストやオーディオブックでインプット) 9:15 出社。午前は資料作成やメール返信 12:00 ランチはオフィス近くの定食屋かカフェ 13:00 午後は会議やマーケティング企画立案、データ分析 18:00 退社 19:00 帰宅途中にスーパー寄って買い物 19:30 夕食&YouTubeやNetflixでリラックスタイム 21:00 ブログ執筆や写真編集、次の記事の構成作成 23:00 読書(比較記事のネタ探しも兼ねる) 23:45 就寝準備 24:00 就寝
GPLとMPLの基本的な違いをひとめで理解する
ソフトウェアのライセンスにはいろいろなルールがありますが、GPLとMPLはオープンソースの中でも特に重要な考え方を示しています。まず肝心なのはコピーレフトの考え方です。
GPLは強いコピーレフトと呼ばれ、GPLで配布されるソフトを改変した場合や、GPLのコードと他のコードを組み合わせて配布するときには、元のソースだけでなく改変後のソースも同じGPLの下で公開しなければなりません。つまり「作って配らなければいけない源泉は必ず公開する」というルールが強く働きます。これに対してMPLはファイル単位のコピーレフトと呼ばれる考え方をとり、個々のファイルがMPLで修正されるかどうかによって結論が決まります。結果的にMPLの下で公開義務が生じるのは、MPLでライセンスされたファイルそのものを改変した場合や、それらのファイルを修正して配布する場合に限られ、他のファイルやモジュールは別のライセンスのままで共存させることができます。
この違いを理解することが、プロジェクトの将来設計を左右します。GPLの強いコピーレフトは再利用性の透明性を高め、利用者がソースを手に取りやすくします。一方でMPLはファイル単位での公開義務にとどまるため、企業が内部で使うソフトウェアと外部公開部分をうまく分離することが比較的しやすいという利点があります。
実務ではこの二つを組み合わせて使う場面もあり、選択の基準としては「公開したい範囲」「他のコードとの結合度」「将来的な商用利用の計画」などが挙げられます。ここからは具体的な違いをさらに詳しく見ていきましょう。
ポイントとして、コピーレフトの強さ、ファイル単位か全体かの範囲、クラウド提供時の扱い、商用利用の柔軟性などがあります。
GPLとMPLの実務的な使い分けと影響
具体的な使い分けを考えるときは、プロジェクトの性質と公開先、商用利用の予定をよく考えることが大切です。例えば、Linuxの核となるソースはGPLで公開されており、改変を加えて配布する人はソースを同じGPLの下で公開する責任があります。これに対してMozilla製品の多くはMPL 2.0 の下で提供され、ファイル単位の修正だけを公開すればよいという柔軟性があります。つまり、企業が内部で使うソフトウェアを作る場合、MPLは他の部分を商用ライセンスのまま保つことができる点で利点があります。とはいえGPLの強い防御力は、公開コードを広く広めたいときには有効です。ここで大事なのは「組み合わせ方」と「配布の範囲」です。ソースを公開する義務の範囲が広いほど再利用の透明性が高まりますが、企業のノウハウが外部に出るリスクにもなりえます。
実務的な使い分けの目安としては次のような考え方があります。
・新規開発でオープンにしたい場合はGPLを選ぶと、公開コードの透明性が高まります。
・既存のモジュールと組み合わせ、または商用利用を想定する場合はMPLの柔軟性が有利です。
・両方を併用する場合はライセンス間の整合性をしっかり確認しましょう。
ねえ、さっきのGPLとMPLの話、どうしても一言じゃ説明できないところがあるよね。ミソは“ファイル単位のコピーレフト”という仕組み。つまりプロジェクト内の MPL ファイルだけを MPL のまま公開すれば良いので、他の部分を非オープンのままにできる可能性がある。これをうまく使うと、企業の機密性を保ちつつオープンソースの恩恵も受けられる。僕は友達と、この仕組みを使えば“最新の技術を共有しつつ、商用ソフトとの共存も現実的になる”と話した。