広域連携手法のメリット・デメリットと活用イメー … › downloads › JP › group › fri › opinion › ...2019/06/18 · 整 コ ス ト で あ る。各
使ってみて気づいた AGPL ライセンスの メリット・デメリット
-
Upload
fumito-mizuno -
Category
Internet
-
view
755 -
download
4
Transcript of 使ってみて気づいた AGPL ライセンスの メリット・デメリット
使ってみて気づいたAGPL ライセンスのメリット・デメリット
水野 史土[email protected]
オープンソースとは
● ソースコードが公開されている● 改変や再配布が許可されている
=> 顧客向けにカスタマイズしやすい
詳細はOpen Source Initiative(OSI) の定義参照
http://opensource.org/definition
GPL とは
● オープンソースライセンスの一つ● 多くのソフトウェアで採用されている
http://thinkit.co.jp/story/2014/02/03/4804によると、GPL2とGPL3をあわせて55%(2014年1月)
● コピーレフト条項がある
=> コピーレフトとは?
コピーレフトとは
● オープンソースソフトウェアを再配布する場合、元のソフトウェアと同一のライセンスにする義務
=> 派生物のライセンスが同じなので、元のソフトウェアへのマージが保証される
=> かなり厳しい制約
=> 配布しない場合は制限なし
ソフトAGPL
ソフトBGPL
GPLで配布
コピーレフトと派生物のライセンス
ソフトAGPL
ソフトB自分のみ利用
独自ライセンスで配布
NG
OK
コピーレフトと派生物のライセンス
ネットワーク経由での利用
● プログラムの利用形態– 手元の端末で実行する
– ネットワーク越しに実行する(ウェブサービス)
昔はネットワークの速度などで実現しにくかったが、現在はネットワーク越しの利用が増えている
=> 使う人の視点では、ほとんど違いが無い
ソフトAGPL
GPLとネットワーク利用
ダウンロード&インストール
手元の端末で実行する
コピーレフトが適用される
ソフトAGPL
GPLとネットワーク利用
ダウンロード&インストール
ネット上のサーバー
コピーレフトが適用されない
手元の端末
ネットワーク経由で利用
GPLとネットワーク
● 手元の端末で実行: コピーレフト適用
● ネットワーク越しに実行: コピーレフト不適用
=> 使い方がほとんど同じにも関わらず、
コピーレフト適用/不適用の差が発生する
コピーレフト適用/不適用の統一
● コピーレフトありに統一– 手元の端末でも、ネットワーク越しでも、コピーレフトを適用する
– AGPLなど
● コピーレフトなしに統一– 手元の端末でも、ネットワーク越しでも、コピーレフトを適用しない
– MITなど
AGPLライセンス
● GPLがベース● コピーレフト適用に統一● 採用しているソフトウェア
– MongoDB
– Berkeley DB
– iText
– SugarCRM
– Novius OS
Novius OS について
● フランスのNovius社が中心に開発
● 世界各地からコミットされている● 英語、フランス語、日本語、ロシア語、スペイン語
● FuelPHPベース
● 書籍「Fuelphp Application Development Blueprints」でNovius OS が紹介されている
なぜAGPLか
● 派生物のライセンスが同一– サードパーティのコミットをコアに入れる際、ライセンス
の衝突が生じない
● ウェブサービスでの使用を視野に入れている– 開発元によるクラウドサービス
AGPL を使って感じたメリット・デメリット
※ Novius OS には当てはまっても、他のプロダクトに当てはまるとは限りません
メリット1: 複数人による共同作業
● 例: フォームに条件分岐を追加
http://novius-os.jp/users/form-sample.html
● 私が提案&コードを書く
– Victor さんにより、JSの改善
– Foine さんにより、HTMLの改善
=> 複数人が得意分野で協力し合うと、より良いものが効率よく作成できる
ソフトAAGPL
ソフトBAGPL
フィードバック
ソフトA'AGPL
派生物のライセンスが同一↓
フィードバックして改善
ソフトCAGPL
ソフトAMIT
ソフトBGPL
フィードバック
ソフトA'MIT
派生物同士のライセンス衝突で、フィードバックを受けられないケースが起こり得る(派生物作者に委ねられる)
ソフトC商用ライセンス
メリット2: ウェブサービスへのコミット
● Novius 社がクラウドサービスを行っている
– Novius OS へコミットすると
– クラウドサービスへ反映される
● AGPLであれば、ネットワーク経由で利用する場合にもソースコードが受け取れる=> ウェブサービス自体を改善できる
ソフトAAGPL
ネットワーク経由で利用
ダウンロード&インストール
ネット上のサーバー
ソースコードが必ず入手可能=> 改善を提案しやすい
手元の端末
ネットワーク経由で利用
ソフトAGPL(MIT)
ネットワーク経由で利用
ダウンロード&インストール
ネット上のサーバー
ソースコード入手可能とは限らない
手元の端末
ネットワーク経由で利用
デメリット1: サーバー負荷
● AGPLはウェブサービスで利用することを想定
=> サーバー負荷を想定して作る必要がある
● ABテストするアプリケーション
– キャッシュ機能を無効にして作った
– サーバー負荷がかかる
=> 本体への組み込みは見送り
(各自が動かすソフトだったら、「負荷の高い機能」と注釈を付けた上で、各自に委ねることもできる)
デメリット2: コードを共有しない貢献
● AGPL=商用利用許可– 販売することができる
– コード共有必須・独自ライセンスは不可
NG: 独自ライセンスで販売
OK: AGPLライセンスで販売
=> 「コードは共有したくない」人・会社は参入しにくい
開発元
アドオンを販売するビジネスモデル
サードパーティ開発者
手元の端末
1. パッケージ販売委託
2. 販売
3. 支払い
4. 支払い
開発元は販売手数料で稼ぐサードパーティの収益にもなる
AGPL の場合、販売は可能だが、独自ライセンスでの販売は不可