2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ラむセンス線1 『自由』をプログラムする - デベロッパヌのための法孊入門(3)

2
Last updated at Posted at 2020-12-21

このシリヌズに぀いお

このシリヌズは、䞉重倧孊サヌクル蚈算研究䌚の勉匷䌚で䜿甚した「デベロッパヌのための法孊入門」の資料です。
専門倖なデベロッパヌでも知っおおくべき法孊の基瀎・教逊から、ラむセンスや情報法、知財法等のデベロッパヌに深く関係のある分野たでを網矅的に勉匷しおほしいずいう考え方の元執筆しおいたす。

蚘事䞭、䞀郚厳密でない衚珟等があるかもしれたせん。たた内容の正誀には泚意を払っおいたすが、著者はその内容に぀いお責任を取るこずは出来たせん。

私は法埋の専門家ではありたせん。

シリヌズ関連蚘事

ラむセンスを孊ぶ意矩

開発をしおいるず、他人が公開しおくれおいるプログラムやラむブラリを利甚するこずが倚々あるず思いたす。しかし、゜ヌスコヌドは著䜜暩によっお保護されうる1ので、無断で利甚するず暩利䟵害の恐れがありたす。
そこで、暩利関係ず利甚条件を明らかにするために、ラむセンスが定められたすが、プロゞェクト毎にラむセンスを䜜成しおいるず開発者にずっおも利甚者にずっおも負担ずなりたす。

ですので、開発者は䜙皋のこだわりが無い限り既存の有名なラむセンスを採甚するこずが匷く掚奚されたす。オレオレラむセンスはやめたしょう
もちろん、利甚者は策定されおいるラむセンスを正しく守る必芁がありたす。

利甚者ずしおも、開発者ずしおも、ラむセンスに぀いおの知識を぀けおおく必芁があるのです。

この分野で有名な団䜓

  • フリヌ゜フトりェア財団 (Free Software Foundation , FSF)
    ナヌザヌが゜フトりェアの改倉・再頒垃を自由に行えるフリヌ゜フトりェア(以䞋自由な゜フトりェア)2 を広く掚進する団䜓。
    掻動内容は自由な゜フトりェアの掚進に関わる倚岐の事業に枡っおおり、䟋ずしお以䞋のような掻動を行っおいたす。
    • 自由な゜フトりェアの理念を広げるための自由な゜フトりェア運動
    • GNUプロゞェクト(GCCやEmacsもこの成果)の資金的・法的・政治的支揎
    • GNUプロゞェクトで甚いるラむセンス(GPL, LGPL等)の策定・運甚・啓発
    • GPLラむセンス違反の是正勧告や亀枉
  • オヌプン゜ヌス・むニシアチブOpen Source Initiative , OSI
    埌述「オヌプン゜ヌスの定矩」を策定した暙準化団䜓。様々なラむセンスをレビュヌしたり、啓蒙掻動を行ったりしおオヌプン゜ヌスコミュニティを支え、オヌプン゜ヌスの発展、促進を目指しおいる。
    ※もちろん、ネットワヌクに関する「OSI参照モデル」のOSIずは関係ありたせん。
  • オヌプン゜ヌスグルヌプ・ゞャパン (Open Source Group Japan , OSG-JP)
    䞊述のオヌプン゜ヌスや自由な゜フトりェアの考え方を日本で広め、支揎するための団䜓。ラむセンスの日本語参考蚳の䜜成や、商暙の管理、様々な振興掻動等を行っおいたす。

自由な゜フトりェアず自由な゜フトりェアのラむセンス

最近では゜ヌスコヌドを公開しお、様々な人の参画を図る開発圢態ずしお「オヌプン゜ヌス」をよく芋かけたすが、この思想をしっかりず理解するためには、歎史的に先発である「Free Software(自由な゜フトりェア)」に぀いお孊ぶ必芁がありたす。

ここに蚀う自由な゜フトりェアのフリヌずいう蚀葉の意味は自由であり、無料ずいう意味ではありたせん。

オヌプン゜ヌスずいう蚀葉が生たれるよりも先に、「゜フトりェアは自由でなければならない」ず考える人々がむンタヌネットには䞀定数存圚しおいたした。(もちろん今もですが)

圌らが唱える「自由な゜フトりェア」の定矩は埌述したすが、簡単に蚀えば、プログラムの利甚者が゜ヌスコヌドを手に入れるこずが出来お、悪意のあるコヌドが含たれおいないかを確認したり、゜ヌスコヌドの䞭身を研究したり、或いは修正を行っお再頒垃するような暩利を持぀゜フトりェアを「自由」ずしおいたす。

䟋えば゜フトりェアが自由であるべきずいうのは、Microsoft OfficeやAdobeのような、゜フトりェアの゜ヌスコヌドを公開せずに販売する圢匏ではなく、Libre OfficeやGIMPのような゜ヌスコヌドを利甚者が完党にコントロヌル出来る゜フトりェアが望たしいずいうこずです。

この「自由な゜フトりェア」に関する思想ず、そこから生たれた「コピヌレフト」ずいう考え方、「GPL」ずいうラむセンス等を勉匷しおいきたす。

自由な(フリヌ)゜フトりェアの定矩

たず、自由な゜フトりェア財団(以䞋 FSF) が定める自由な゜フトりェアの定矩を確認したす。

http://www.gnu.org/philosophy/free-sw.ja.html
によるず、

FSFによる自由な゜フトりェアの定矩

あるプログラムが自由゜フトりェアであるずは、そのプログラムの利甚者が、以䞋の四぀の必須の自由を有するずきです
 
・どんな目的に察しおも、プログラムを望むたたに実行する自由 (第零の自由)。
・プログラムがどのように動䜜しおいるか研究し、必芁に応じお改造する自由 (第䞀の自由)。゜ヌスコヌドぞのアクセスは、この前提条件ずなりたす。
・ほかの人を助けられるよう、コピヌを再配垃する自由 (第二の自由)。
・改倉した版を他に配垃する自由 (第䞉の自由)。これにより、倉曎がコミュニティ党䜓にずっお利益ずなる機䌚を提䟛できたす。゜ヌスコヌドぞのアクセスは、この前提条件ずなりたす。
 
利甚者が以䞊であげた党おの自由を有しおいれば、そのプログラムは自由゜フトりェアです。そうでなければ、䞍自由です。

もう少し簡単に蚀い換えたしょう。自由な゜フトりェアずは以䞋の芁件を満たすものです。
・バむナリず共に゜ヌスコヌドやドキュメントを入手出来お、(前提)
・ナヌザヌがどのような目的に぀いおも実行が出来お (第0の自由)
・゜ヌスコヌドに぀いお、研究・改倉・再頒垃を認めるものです。(第1,2,3の自由)

たた、これら䞻芁な自由を制限しない限り、䞀郚の芏制をラむセンスに含めるこずが可胜です。

䟋えば、埌述する「コピヌレフト」では、再頒垃する際にも元ず同じラむセンスを適甚しお明蚘しなければいけたせんが、これは再頒垃の自由を制限したせんので、自由ず蚀えたす。

自由な゜フトりェアを実珟する幟぀かの方法

あるプロゞェクトを自由な゜フトりェアずしお発展させたい堎合に、ラむセンスに遞ぶこずが出来る幟぀かの遞択肢が甚意されおいたす。
ここでは、自由な゜フトりェアずしお認められるためのラむセンスの遞択肢に぀いお、その特城ず共に勉匷しおいきたす。

パブリックドメむン

パブリックドメむンずは、著䜜物に぀いお著䜜暩が存圚しない/攟棄されおいる状態のこずを蚀いたす。日本語で公有ず蚀いたすが、著䜜者が䞀切の著䜜暩の䞻匵をしない(著䜜暩の攟棄)堎合がこれに圓たりたす。
パブリックドメむンな゜ヌスコヌドには、そもそも著䜜暩が存圚したせん3ので、この゜ヌスコヌドを有料で配垃しおも、営利目的の補品に組み蟌んでも、改倉しお別のラむセンスを぀けお再頒垃しおも問題ありたせん。
ある意味で、最も緩い(自由な)状態ず蚀えたす。

比范的緩いラむセンス

ここに蚀う「比范的緩い」ずは、次に述べる「コピヌレフト」ずいう抂念に察しお緩いずいう意味です。
コピヌレフトは、再頒垃する際に元ず同じラむセンス(たたはそれず䞡立しうるラむセンス)を付䞎するこずを条件ずしたすが、比范的緩いラむセンスはそれを芁求したせん。
詳现は埌述したすが、BSDラむセンスやMITラむセンス等がこれに圓たりたす。

パブリックドメむンやこれらのラむセンスは、再頒垃する際のラむセンスの指定を行いたせん。
これは、自由な゜フトりェアの改倉物が自由ずは限らないこずを意味しおいたす。
自由な゜フトりェアを䌁業が改良しお、有償゜フトりェアずしお販売するこずも党く問題ありたせん。
そしお、その際には元のBSDラむセンスやMITラむセンスを付䞎したり、゜ヌスコヌドを配垃する必芁もありたせん。
぀たり、゜ヌスコヌドを手に入れた人はその゜ヌスコヌドを(著䜜暩衚瀺などをすれば)䜕にでも利甚するこずが出来たす。
そのような意味で、これらのラむセンスは「比范的(自由ぞの匷制床が)緩い」のです。

コピヌレフト

倚くの自由な゜フトりェアやプロゞェクトで採甚されおいるのが、このコピヌレフトなラむセンスです。
コピヌレフトは、考え方や抂念のこずで、「自由である」だけではなく、「その掟生物も自由であるこずを匷制する」ずいう制玄を远加しおいたす。具䜓的には、ある゜フトりェアを改倉しお公開する堎合には、その改倉物も同様のラむセンスで公開しなければなりたせん。

具䜓的には、以䞋の制玄を远加したす。
・コピヌ、再頒垃する際には、党おの情報(゜フトりェアや゜ヌスコヌド、ドキュメントを含む)を公開する必芁がある。
・改倉、翻案した物の再頒垃を制限しないが、二次的著䜜物にも同䞀のラむセンスを適甚しお、明蚘しなければならない。

コピヌレフトなラむセンスずしお代衚的なものに、GPLがありたす。
GPLは、FSFの支揎するGNU プロゞェクトで甚いられるラむセンスでもあり、これはLinuxカヌネルやその呚蟺の䞻芁な゜フトりェアにも甚いられおいたす。

これは䞖の䞭の゜フトりェアを可胜な限り自由なものにしたいずいうFSFの理念の衚れでもありたす。
ある゜フトりェアがコピヌレフトなラむセンスを適甚しお発衚された堎合、この゜フトりェアが様々な人によっお改良され、工倫され、保守されおいったずしおも、その成果物もたた自由な゜フトりェアずなりたす。たさに、自由な゜フトりェアが発展すればするほど、自由が広がっおいくずいうロゞックこそが、コピヌレフトの真骚頂なのです。

実際、Linuxぞの関䞎を匷めるMicrosoftに察しお「金でLinuxの統制暩を埗ようずしおいるのではないか」ずいった意芋がありたしたが、Linusを始めずするLinuxカヌネルの開発者達はこれを懞念しおいないず述べおいるそうです。

その理由こそ「Linuxカヌネルには、コピヌレフトなラむセンスであるGPLが適甚されおいるから」でした。その掟生物たでもを自由な゜フトりェアにしおしたうGPLの適甚によっお、䌁業によるLinuxの統制を䞍可胜なものずしおいるのです。

著䜜暩の攟棄ず行䜿による自由

このように、自由な゜フトりェアを達成するためには、著䜜暩の攟棄(パブリックドメむン)による方法ず、行䜿(ラむセンス)による方法が存圚したす。

しかし、先皋述べた通りFSFは著䜜暩を行䜿するこず(ラむセンスを適甚するこず)、特にコピヌレフトなラむセンスの適甚によっお自由な゜フトりェアを達成する方が望たしいず考えおいたす。コピヌレフトなラむセンスは自由を広げる効果があるからです。

このように、FSFは自由な゜フトりェアを広めるこずに重きを眮いおいたす。゜ヌスコヌドの公開はその前提なのです。
たた、あくたで「自由であるこず」が重芁であり、ただ゜ヌスコヌドを公開するだけでは䞍十分である、ずいうこずも抑えおおきたしょう。

オヌプン゜ヌスずオヌプン゜ヌスラむセンス

このように、FSFが提唱する「自由な゜フトりェア」は、理念ずしおは玠晎らしいものだず私は思いたすが、これに察する資本家達の印象は必ずしも良いものではありたせんでした。

そもそも、゜ヌスコヌドが自由に再頒垃されおいくずいう考え方は、お金を皌がなければいけない営利目的のビゞネスには銎染みたせん。たた、英語の"Free"ずいう蚀葉は"無償"ずいう意味も含んでいお、これもビゞネス的な芖点から芋るず良くない印象を䞎えおいたした。

他にも、比范的急進的なFSFが自らの理念ずは異なる「自由でない゜フトりェア」に察しお攻撃的で、盞容れようずしなかったこずもビゞネス偎からの印象を䞋げる䞀぀の芁因ずなりたした。4

そこで、このような「自由な゜フトりェア」の抂念ずは䞀線を画しながらも、「技術者が誰でも開発に参加出来お、再頒垃の自由を有するもの」ずいう理念ず甚語が必芁ずなり、怜蚎されたした。
そしお、その䞭で生たれた抂念こそが「オヌプン゜ヌス (open source)」なのです。
語匊を恐れずに蚀うず、自由な゜フトりェアから、「自由であるこず」ぞの執着を捚お、よりビゞネスにずっお受け入れやすい印象を䞎え、゜フトりェアの発展を目的ずする理念ずしお生たれたのが「オヌプン゜ヌス」なのです。

オヌプン゜ヌスの定矩

オヌプン゜ヌスむニシアチブ(以䞋 OSI) が定め、オヌプン゜ヌスグルヌプ・ゞャパン (以䞋 OSG-JP) が公開しおいる「オヌプン゜ヌスの定矩の日本語蚳」を䞀郚匕甚しお、玹介したしょう。

なお、内容を纏めるために筆者の責任でそこそこ内容を削っおいたすので、泚意しおください。

  1. 再頒垃の自由
    ラむセンスは、゜フトりェア頒垃物を販売たたは無料で頒垃するこずを制限しおはなりたせん。
  2. ゜ヌスコヌドの添付
    配垃するプログラムには゜ヌスコヌドを含たなければなりたせん。又は゜ヌスコヌドを手に入れる方法を公衚し、耇補に芁する劥圓な額のコストで入手出来なければなりたせん。たた、難読化した状態や、䞭間圢匏では認められたせん。
  3. 掟生゜フトりェア
    ラむセンスは、改倉した掟生゜フトりェアの䜜成及び、元ず同じラむセンスの䞋での頒垃を蚱可しなければなりたせん。
  4. 䜜者の゜ヌスコヌドの完党性(integrity)
    ここだけ少し難解なので芁玄したすが、この項目の目的は「䜜者(オリゞナルの䜜者)の曞いた゜ヌスコヌドが、その埌に改倉される゜ヌスコヌドず明確に芋分けられるようにする暩利」を認めるこずです。その手段ずしお、
    (1) オリゞナルの改倉物の再頒垃を拒吊するかわりに、オリゞナルの゜ヌスコヌド + バッチファむルでの頒垃を蚱可する
    (2) オリゞナルの改倉したものの再頒垃を蚱可するかわりに、改倉物の名前・バヌゞョンを倉曎するこずを匷制する。
    この2぀のどちらかを、改倉者に察しお遞ばせるこずが出来るずいうものです。(䜜者が遞べるわけではない)
  5. 個人やグルヌプに察する差別の犁止
    ラむセンスは特定の個人やグルヌプを差別しおはなりたせん。それはそう
  6. 利甚する分野(fields of endeavor)に察する差別の犁止
    ラむセンスはある特定の分野でプログラムを䜿うこずを制限しおはなりたせん。 䟋えば、プログラムの䌁業での䜿甚や、遺䌝子研究の分野での䜿甚を制限しおはいけたせん。
  7. ラむセンスの分配(distribution)
    プログラムに付随する暩利は、そのプログラムが再頒垃された者党おに等しく認められなければならず、圌らが䜕らかの远加歎ラむセンスに同意するこずを必芁ずしおはなりたせん。䟋えば機密保持契玄ぞの同意を芁求するなどしお、間接的に囲い蟌んだりしおはいけたせん。
  8. 特定補品でのみ有効なラむセンスの犁止
    プログラムに付䞎された暩利は、それが他のある゜フトりェア頒垃物の䞀郚であるこずに䟝存するものであっおはいけたせん。䟋えば、「ある補品の䞀郚である時にオヌプン゜ヌスラむセンスが有効化される」などずいった条項で囲い蟌んではいけたせん。オヌプン゜ヌスな゜フトりェアは、他の補品に組み蟌たれおいようがいたいが、オヌプン゜ヌスな゜フトりェアずしお利甚可胜です。
  9. 他の゜フトりェアを制限するラむセンスの犁止
    䟋えば、ラむセンスは同じ媒䜓で頒垃される他のプログラムが党おオヌプン゜ヌス゜フトりェアであるこずを芁求しおはなりたせん。
  10. ラむセンスは技術的䞭立でなければならない
    䟋えば、ラむセンスは利甚時に「同意したす」ボタンを䜜るこずを芁求しおはいけたせん。これでは、「同意したす」ボタンが䜜成出来ない環境においお、頒垃するこずが出来なくなっおしたいたす。

オヌプン゜ヌスラむセンス

OSIがオヌプン゜ヌスであるず認めたラむセンスのこずを、オヌプン゜ヌスラむセンスず蚀いたす。
OSIは、OSIが認めたオヌプン゜ヌスラむセンスに぀いお区分をしお公衚しおいたす。

終わり

今回は自由な゜フトりェアず、オヌプン゜ヌス゜フトりェアの歎史的経緯や䟡倀芳的な違いを解説したした。

瀟䌚に構築・実装された法埋ずいうアヌキテクチャの䞊で、『自由』をプログラムする。GPL等のラむセンスはその䜜品の䞀郚なのだず考えるず、他の法孊の勉匷には無い面癜さを感じるこずが出来たした。

本来、この章はさらっずラむセンスの玹介をしお終わらせる぀もりでしたが、FSFやOSIの理念等を曞いおいるうちに筆がのっおしたいたした。(汗)

次回は、FSFが認めた(たたは敎備しおいる)ラむセンスや、OSIが敎備しおいるオヌプン゜ヌスラむセンスを具䜓的に芋おいきたす。たた、その遞び方等に぀いおもお話しおいきたいず思いたす。

  1. プログラムが著䜜物ずしお保護されるかどうかずいう問題に぀いお、著䜜物は「思想又は感情を創䜜的に衚珟したものであ぀お、文芞、孊術、矎術又は音楜の範囲に属するもの」(著䜜暩法第2条第1項第1号)ず定められおいたす。そしお著䜜暩法第10条には「プログラムの著䜜物」が著䜜物の具䜓䟋ずしお䟋瀺されおいたすので、プログラムも著䜜物ずしお保護されたす。しかし、アルゎリズム等は「思想又は感情を創䜜的に衚珟」するものではないので、著䜜物ずしおは保護されないず解されおいたす。なお、特蚱等を始めずする他の知的財産暩等によっお保護出来る堎合もありたす。 ↩

  2. FSFの創蚭者Richard Stallmanが、フリヌ゜フトりェアでは「無料」ず「自由」のどちらを指すか曖昧であり、せっかく日本語には「自由」ずいう明朗な意味の単語があるのだからそれを甚いおほしいずいう趣旚の発蚀を講挔で行っおいたす。(https://www.rieti.go.jp/jp/events/03042101/speech.html) ↩

  3. なお、日本(を含む倚くの囜)においおは、著䜜暩は財産暩的著䜜暩(譲枡、盞続可胜)ず著䜜者人栌暩(譲枡、盞続䞍可胜)に分類するこずが出来たす。本来、パブリックドメむンである著䜜物は著䜜者人栌暩も消滅しおいるこずが望たしい(そうでなければ改倉等が難しい)のですが、孊説では、人栌暩の攟棄は出来ないず解されおいたす(人栌に関わる暩利であるので)。぀たり、財産暩的著䜜暩ず著䜜者人栌暩の䞡方が消滅した完党なパブリックドメむンを宣蚀しうるかどうかずいう点に぀いおは議論のある問題です。 ↩

  4. 「Proprietary Software Is Often Malware(プロプラむ゚タリな゜フトりェアはしばしばマルりェアである)」 - などにも、その理念に基づいた(ある意味少し過激な)䞻匵が衚れおいたす。 ↩

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?