オープンソースソフトウェアのライセンスについて

今回はオープンソースソフトウェア(以下略OSS)のライセンスについて紹介します。

OSSのライセンスは大きく分けると次の三つのライセンスに分類できます。

1.コピーレフト型

主にGRLが当てはまります

2.準コピーレフト型

主にMPL(Mozilla Public License)が当てはまります

3.非コピーレフト型

BSD License,MIT License Apache Software Licenseなどがあります。

各ライセンス型の違いは次のようになっています。

ライセンス型 改変部分のソースコードの開示 他のソフトウェアのソースコード開示
コピーレフト型ライセンス
準コピーレスト型ライセンス 不要
非コピーレフト型ライセンス 不要 不要

次に各ライセンスの詳細について表にしました。

ライセンス種別 契約動作を示す動作 頒布する場合ライセンス継承が必要か 改変部分のソース・コード開示が必要か 他のソース・コードと組み合わせた場合※1、他ソース・コードにもライセンスが波及するか
GPL 改変・頒布
Q Public License 頒布
GNU LGPL 改変・頒布 ×
MPL(Mozilla Public License) 規定なし ×
Interbase Public License 規定なし ×
SUN Public License 規定なし ×
Apple Public License ダウンロード・使用 ×
Common Public License 使用・複製・頒布 ×
IBM Public License 使用・複製・頒布 ×
Artistic License(Perl License) 規定なし ×※2 ×規定なし
BSD License 規定なし ×規定なし ×規定なし
FreeBSD Copyright 規定なし ×規定なし ×規定なし
MIT License 規定なし ×規定なし ×規定なし
X11 License 規定なし ×規定なし ×規定なし
ZPL(Zope Public License)V2.0 規定なし ×規定なし ×規定なし
Apache Software License V1.1 規定なし ×規定なし ×規定なし
ISC License V1.0 規定なし ×規定なし ×規定なし

○はイエス、×はノーを意味する
※1MPLなどの場合combine,GPLの場合a part of whole which is a work based on the Programとすることを意味する
※2①改変したモジュールの名前を変え、標準モジュールとの違いを明記するか、②別の頒布方法について著作者と取り決めた場合は、改変部分のソース・コードを開示しないことも可能

日経BP社Web
http://itpro.nikkeibp.co.jp/members/SI/oss/20031118/1/hyo1.html?ST=oss
より引用しました。

各ライセンスの特徴について

GPL
ライセンシは、配布するOSSにGPLを適用しなければならない
ライセンサは、配布するOSSに自身の特許が含まれる場合、ライセンシに対して当該特許を無償でライセンス付与しなければならない
ライセンシは、OSSに改変を加えて配布する際、改変を加えた事実および日付を記載しなければならない

MPL
ライセンシは、配布するOSSのソースコードにMPLを適用しなければならない、とあるが「配布するOSS」として表現されるオリジナルOSSの派生物が意味する範囲は、オリジナルOSSを直接改変・複製したものに限定され、当該OSSと組み合わせたソフトウェアまでを派生物として捉えない。そのためMPLライセンスはライセンスを受けたOSSと組み合わせるソフトウェアまでをMPLで配布する必要はない。この点から、MPLは準コピーレフト型ライセンスと位置付けられている

BSD License
ライセンシはOSSをソースコード形式で配布する際、ライセンス本文・著作権表示・Disclaimer条項を含めなければならない
ライセンシは、OSSをオブジェクトコード形式で配布する際、ライセンス本文・著作権表示・Disclaimer条項を、配布時に提供する関連文書に含めなければならない
ライセンシは、OSSの宣伝又は販売促進のために、開発者またはほかの利用者の名前を許可なく使用してはならない
ライセンシは、OSSを宣伝する際には、広告内にオリジナルの名前を明記しなければならない

Apache License
BSD Licenseに近いライセンスであるが、特許ライセンスに関する知財事項を含むなど、BSD Licenseよりも多くの要求・制限内容を記載している点が特徴である
ライセンシは、OSSをソースコード形式で配布する際、著作権・特許・商標・帰属についての告知を添付しなければならない
ライセンサは、配布するOSSに自身の特許が含まれる場合、ライセンシに対して当該特許を無償でライセンス付与しなければならない

MIT License
BSD Licenseとほぼ同じ内容を短く簡潔に記載している点
MIT Licenseの具体的な要求内容であるが、上記のとおり、同ライセンスの本文が2-Clause BSD Licenseと同様にたった一行であることから、
非常にシンプルかつ明快である。そのため、MIT Licenseの具体的な要求内容は一点のみとなり、それは以下の通りである
・ライセンシは、OSSを配布する際、ライセンス本文および著作権を含めなければならない

情報処理推進機構(IPA)
http:/www.ipa.go.jp/software/open/ossc/download/OSS_License_Survey.pdf
より引用しました

Yamaha RTX1200を使ってWindows7でL2TP/IPsec VPNを利用する Vol.2

Windows 7 のレジストリ変更

まずWindows 7が初期設定ではnat-traversalに対応していないのでレジストリを変更します。

以下を参照(Windows VistaとWindows Server 2008の記事ですがWindows 7にも有効です)。

http://support.microsoft.com/kb/926179/ja

記事中でパスが

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesPolicyAgent

になっていますが、Windows 7 では

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesPolicyAgent

になっています

AssumeUDPEncapsulationContextOnSendRuleの値については2にしないと正しく動かない様です。

レジストリに変更を加えたら、Windows 7 を再起動します。

VPN接続の追加

[コントロールパネル] -> [ネットワークとインターネット] -> [ネットワークと共有センター]を選択。”ネットワーク設定の変更”の[新しい接続またはネットワークのセットアップ]を選択します。

ss01

“接続オプションを選択します”の画面で[職場に接続します]を選択します。

ss02

“どの方法で接続します?”は[インターネット接続(VPN)を使用します]を選択します。

ss004

“接続に使用するインターネットアドレスを入力してください”の画面が出るので

[インターネットアドレス] ルータのグローバルIPアドレス

[接続先の名前] 任意の名前

を入力し、”今は接続しない。自分が後で接続できるようにセットアップのみ行う”

にチェックを入れ[次へ]をクリック

ss005_public
“ユーザ名およびパスワードを入力してください”の画面で

[ユーザ名] 各ユーザ名

[パスワード] パスワード

[ドメイン] 空白で作成をクリック

“接続の使用準備ができました”のウインドウが出たら[閉じる]をクリックします

ss006_public

VPN設定変更

[コントロールパネル] -> [ネットワークとインターネット] -> [ネットワークと共有センター] -> [アダプターの設定の変更]を選択し、

先ほど作ったVPN接続を選択して、アイコンの上で右クリック、[プロパティ]を選択します

ss007

[オプション]のタブを選択して[Windows ログオンドメインを含める]のチェックを外します

[セキュリティ]のタブを選択して、[VPNの種類]を

[IPsecを利用したレイヤー2 トンネリング プロトコル(L2TP/IPsec)]を選択

ss008

[詳細設定]をクリックし、”認証に事前共有キーを使う”のラジオボタンを選択し、

[キー]に ルータで設定した事前認証パスワードを入力します

を入力し、[OK]をクリックする。

ss009_public

VPNに接続

タスクバー右下のネットワークアイコンをクリックして、[VPN接続]を選択して、[接続]をクリック

Yamaha RTX1200を使ってWindows7でL2TP/IPsec VPNを利用する Vol.1

Yamaha RTX1200はL2TP/IPsec VPNに対応しているので、
その機能を使ってみる。

参考は
http://www.rtpro.yamaha.co.jp/RT/docs/l2tp_ipsec/index.html
http://jp.yamaha.com/products/network/solution/setup_rtx1200/#config2

http://blog.fusic.co.jp/archives/2426

なおWindows 7 をクライアントに使った通信はYamahaのサポート外ですので、自己責任で行ってください。

RTX-1200のLAN1を内部LANとし、3ユーザがVPN接続できるようにした設定例

注意点(Yamaha webサイトより)
※ アドレス不定の複数のL2TPクライアントから接続を受け付ける場合には、IPsec事前共有鍵が統一されている必要があります。
とのことです。

通常の設定から追加する部分は以下の部分

ip lan1 proxyarp on

pp select anonymous
pp bind tunnel1-tunnel3
pp auth request mschap-v2
pp auth username <ユーザ1 ユーザ名> <ユーザ1 パスワード>
pp auth username <ユーザ2 ユーザ名> <ユーザ2 パスワード>
pp auth username <ユーザ3 ユーザ名> <ユーザ3 パスワード>
ppp ipcp ipaddress on
ppp ipcp msext on
ip pp remote address pool 192.168.100.190-192.168.100.199
ip pp mtu 1258
pp enable anonymous

tunnel select 1
tunnel encapsulation l2tp
ipsec tunnel 101
ipsec sa policy 101 1 esp aes-cbc sha-hmac
ipsec ike keepalive use 1 off
ipsec ike local address 1 192.168.100.1
ipsec ike nat-traversal 1 on
ipsec ike pre-shared-key 1 text <事前共有鍵>
ipsec ike remote address 1 any
l2tp tunnel disconnect time off
l2tp keepalive use on 10 3
l2tp keepalive log on
l2tp syslog on
ip tunnel tcp mss limit auto
tunnel enable 1

tunnel select 2
tunnel encapsulation l2tp
ipsec tunnel 102
ipsec sa policy 102 2 esp aes-cbc sha-hmac
ipsec ike keepalive use 2 off
ipsec ike local address 2 192.168.100.1
ipsec ike nat-traversal 2 on
ipsec ike pre-shared-key 2 text <事前共有鍵>
ipsec ike remote address 2 any
l2tp tunnel disconnect time off
l2tp keepalive use on 10 3
l2tp keepalive log on
l2tp syslog on
ip tunnel tcp mss limit auto
tunnel enable 2

tunnel select 3
tunnel encapsulation l2tp
ipsec tunnel 103
ipsec sa policy 103 3 esp aes-cbc sha-hmac
ipsec ike keepalive use 2 off
ipsec ike local address 3 192.168.100.1
ipsec ike nat-traversal 3 on
ipsec ike pre-shared-key 3 text <事前認証鍵>
ipsec ike remote address 3 any
l2tp tunnel disconnect time off
l2tp keepalive use on 10 3
l2tp keepalive log on
l2tp syslog on
ip tunnel tcp mss limit auto
tunnel enable 3

nat desctiptor masquerade static 1 1 192.168.100.1 esp
nat desctiptor masquerade static 1 2 192.168.100.1 udp 500
nat descriptor masquerade static 1 3 192.168.100.1 udp 4500

ipsec transport 1 101 udp 1701
ipsec transport 2 102 udp 1701
ipsec transport 3 103 udp 1701
ipsec auto refresh on

l2tp service on

以上でルータの設定は完了。

Windows 7 のレジストリの変更とWindowsのVPNクライアントの設定は次回。