Kekeの日記

エンジニア、読書なんでも

エンジニアは間違いなく知るべきOSSのきほんのき

http://bandai-a.akamaihd.net/bc/img/model/b/1000088557_2.jpg

今回の記事書くにあたって

iOSアプリ開発だってOSSを多用するし、エンジニアとして知っているとかなり便利なので記事にしました。 ただし、法律に関わることですので、重要そうな部分をかいつまんで執筆しました

OSSは今ではエンジニアなら必ず聞いた言葉だと思います。

しかしながら、あまりApache 2.0などのライセンスが書かれてあったとしても意識することはなく「えいや」と使ってしまうケースがほとんどではないでしょうか。

私なんかも前までそうでした。

あー便利そう。って思った矢先には

gem ...
pod ...
dep ensure -add ...
glide get ..
go get ...
pip install ...
git clone ...
import com....
npm i -S ...

が頭をよぎります。

しかし、オープンソースソフトウェア(以下、OSS)は開発を促進させたり、新たなビジネスチャンスの起爆剤ともなり得る一方で、著作権などの侵犯の危険性などリスクが多いのです。

本記事は知的財産権などの法律の基本とOSSのライセンスについて解説して、どのようにOSS採用を進めていくかを解説していきます

読み終わった頃には、権利の関係を考慮に入れた技術選定ができるワンランク上のエンジニアになれるのではないでしょうか。

1部 OSSの基本

1.1 OSSの定義

オープンソースソフトイニシアティブ(OSI)という団体がOSSの浸透を目指し活動しています。

News | Open Source Initiative

その団体が定めるOSSとは以下の10つの条件を満たすものです。読まなくても大丈夫です。

  1. 再配布の自由

    OSSでは再配布を制限するライセンスであってはならないこと。また、報酬を要求してはいけない。

  2. ソースコード

    オープンソースならばプログラムのソースコードも公開してあるべきである。

  3. 派生ソフトウェア

    ライセンスはソフトウェアの変更と派生ソフトウェアの作成を認め、ならびに派生ソフトウェアを元にソフトウェアと同じライセンスの元で配布を認めないといけない。

  4. ソースコードの完全性

    バイナリ構築のためにソースコードと一緒にパッチソースを配布を認める限りにライセンスによって変更されたソースコードの再配布を制限できます。

  5. 個人や団体の差別の禁止

    ライセンスは特定の個人や団体を差別する内容ではいけない。

  6. 利用する分野の差別の禁止

    特定の分野を差別するような内容ではいけない。

  7. ライセンスの再配布

    OSSが再配布をするような場合でも、ライセンスも同様に再配布され等しく認められるべきである。

  8. 特定製品でのみ有効なライセンスの禁止

    プログラムに付与された権利は、特定のソフトウェア配布物の一部であることに依存するようなものではいけない。

  9. 他のソフトウェアを制限するライセンスの禁止

    ライセンスはそのソフトウェアとともに再配布されル他のソフトウェアに制限を設けてはいけない。

  10. ライセンスは技術中間的でないといけない

    ライセンスの中で特定の技術やインターフェースに依存するようなものであってはいけない。

簡単に重要な点をまとめると

オープンソフトウェアとは、著作者の承諾を得る必要がなく、対価を支払う必要がなに条件のもと、著作者の条件を満たす中で再配布、改変する自由があるソフトウェアのこと

です。

1.2 OSS採用のメリット

最近ではDevOpsやリーンスタートアップと言われるように、以下に開発コストを早めるかが重要になっています。 だからこそOSSを採用する動きは高いです。

Effective DevOps ―4本柱による持続可能な組織文化の育て方

Effective DevOps ―4本柱による持続可能な組織文化の育て方

リーン・スタートアップ

リーン・スタートアップ

  • 作者: エリック・リース,伊藤穣一(MITメディアラボ所長),井口耕二
  • 出版社/メーカー: 日経BP社
  • 発売日: 2012/04/12
  • メディア: 単行本
  • 購入: 24人 クリック: 360回
  • この商品を含むブログ (95件) を見る

特に、OSSは世界のトップ企業から排出されたものも多く、エンジニア自体も精鋭たちが必死に頑張っているので、非常に高機能です。 また、直接開発していなくでもバグレポートを送ってくれたりして、安全性が高いです。

他の企業がOSSを使っていく中で使わないのは置いて行かれます。

時間、お金を考えるとコスト良く欲しい機能が入ったりします。

1.3 OSS採用のデメリット

特に以下の点が大きいのではないしょうか。

  • OSSを使った責任は使った側にあるリスク
  • 機能が足りないところがあり、ビジネスモデルを満たせなくなる機能不足の可能性
  • 時にはOSSを使っていることを明記しないといけないものがある公開義務の可能性

2. ソフトウェアの法的保護

2.1 特許権にによる保護

法律では特許権は、各国の特許権の効力が当該国の領域内においてのみ認められる「属地主義」です。 つまり、海外で権利を守るには海外での登録が必要なわけです。

また、保護期間は20年です。

2.2 著作権による保護

日本における著作権は「無方式主義」なので、登録がなくても侵害訴訟提起することができます。

保護期間も、自然人の場合は、50年です

しかしながら国際条約があります。

一つ目はベルヌ条約です。

www.jps.gr.jp

国内で無方式著作権を認めている国が加盟できる条約でした。 しかし、アメリカが方式主義だったので条約を締結することができず、次の万国著作権条約です。

しかし、米国が1981年にベルヌ条約に加盟しました。

重要な点として、外国著作物の著作権は内国著作物と同等の保護を受ける「内国民待遇」をされるという点です。

つまり、日本国民が創作したソフトウェアは、ベルヌ条約加盟国であるアメリカでも、アメリカ人が作った創作物と同様の保護を受けます。

3. ライセンスについて

いよいよ本題です。

OSSライセンスは数千種類とありますが、ライセンスは以下の二つに大きく分けることができます。

  • 寛容型ライセンス
  • 互恵型ライセンス

3.1 寛容型ライセンス

極めて単純な事柄を守ればOSSとして再配布だったり、改変ができるものです。

例としたら

  • MIT ライセンス
  • Apache ライセンス

などが有名です。

守らなければならない項目としては

  • 著作権表記をすること
  • ライセンスの明記をすること

です。

注意点としてはソースコードが入手できないことです。 例えば開発元からバイナリーをもらったとして、その開発元がOSSを改変していたとしましょう。

その改変された部分は入手できないことになります。

それでは具体的なライセンスを二つ見ていこうと思います。

3.1.1 MITライセンス

The MIT License | Open Source Initiative

MITが作ったライセンスで、個人プロジェクトから大きなものまで世界中に広く使われています。

このソフトウェアを使うときは、必ず見える形で著作権表示をしなければならない

それを満たすときに、利用者はなんの制限もなくこのOSSを使用することができる。

3.1.2 Apacheライセンス

www.apache.org

ApacheというOSSと利用承諾条件として用意されたものです。

特に特許に関わる部分がApacheライセンスの肝となっています。

Apacheライセンスは責任が、開発者にも、コントリビュータにも責任がないことを明記されてあります。

この二つのライセンスの確認事項としては、

  • 特許の利用承諾が書かれてあるか確認する
  • 他の権利を侵犯し、訴訟が起きたときは原作者やができなくなるので注意すること
  • 再配布するときは製品の取扱説明書などに著作権を明記する必要がある

3.2 互恵型ライセンス

寛容型ライセンスよりもはるかに強く開発者と利用者に情報共有を求めています。

例として、

  • GNU General Public ライセンス(以下、GPL)
  • Mozilla Public ライセンス

があります。

互恵型ライセンスの中でもGPLとその派生であるLGPLを焦点に説明します。

以後は合わせてGPL/LGPLと書きます。

GNU General Public License - Wikipedia

GPL/LGPLは多くのOSSで採用していることに加えて、ソースコードの公開が命じられていることが特徴的です。

確認事項としては

  • 再配布の場合は、GPL/LGPLで定められている条件しか条件をつけることができない。
  • GPL/LGPL6の文言を見える形にしていること。
  • ソースコードが入手できる方法はちゃんと書いているか
  • 少なくとも三年間は開発する意欲があるか

まとめ

法律の専門家でもないので、ざっくりと解説をしました。

本書でもあるように特に著作権については弁護士や裁判官の意見が割れることが多く、専門の人に話すのが良いそうです

参考文献

OSSライセンスの教科書

OSSライセンスの教科書