Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
2019-04 ソフトウェアライセンス/2019-04 software license
Search
Cybozu
PRO
May 29, 2019
Technology
2
170k
2019-04 ソフトウェアライセンス/2019-04 software license
Cybozu
PRO
May 29, 2019
Tweet
Share
More Decks by Cybozu
See All by Cybozu
PSIRTでAIテストを実施するまでの道のり
cybozuinsideout
PRO
0
86
無理なく続けるサイボウズの社内勉強会
cybozuinsideout
PRO
1
1.2k
分散システムにおける 無兆候データ破損の影響について
cybozuinsideout
PRO
1
58
タンパク質構造のシミュレーションソフトウェア試行錯誤
cybozuinsideout
PRO
1
47
読みやすいアセンブリ言語
cybozuinsideout
PRO
1
40
Wasmで拡張できる軽量マークアップ⾔語Brack(後編)
cybozuinsideout
PRO
1
32
Wasmで拡張できる軽量マークアップ⾔語Brack(前編)
cybozuinsideout
PRO
1
36
kintone開発組織のAWSエンジニアの紹介
cybozuinsideout
PRO
0
230
kintone開発組織のサービスプラットフォームチームの紹介
cybozuinsideout
PRO
0
120
Other Decks in Technology
See All in Technology
RubyOnRailsOnDevin+α / DevinMeetupJapan#2
ginkouno
0
800
API の仕様から紐解く「MCP 入門」 ~MCP の「コンテキスト」って何だ?~
cdataj
0
170
Kotlinで学ぶ 代数的データ型
ysknsid25
5
1.1k
Long journey of Continuous Delivery at Mercari
hisaharu
1
230
Amplifyとゼロからはじめた AIコーディング 成果と展望
mkdev10
1
320
DenoとJSRで実現する最速MCPサーバー開発記 / Building MCP Servers at Lightning Speed with Deno and JSR
yamanoku
1
150
IAMのマニアックな話 2025を執筆して、 見えてきたAWSアカウント管理の現在
nrinetcom
PRO
4
620
Rubyで作る論理回路シミュレータの設計の話 - Kashiwa.rb #12
kozy4324
1
320
Model Mondays S2E02: Model Context Protocol
nitya
0
120
堅牢な認証基盤の実現 TypeScriptで代数的データ型を活用する
kakehashi
PRO
2
240
Observability в PHP без боли. Олег Мифле, тимлид Altenar
lamodatech
0
110
vLLM meetup Tokyo
jpishikawa
1
250
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Navigating Team Friction
lara
187
15k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
How to train your dragon (web standard)
notwaldorf
92
6.1k
Being A Developer After 40
akosma
90
590k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.7k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Rails Girls Zürich Keynote
gr2m
94
14k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
Transcript
ソフトウェアライセンス 2019/05/29 法務統制本部 & OSS推進チーム
理想 ▌他者のソフトウェアを使うときのリスクを考慮できる ▌OSS 関連活動を適切に行える 2/32
この講義のゴール ▌ソフトウェアライセンスの法的背景がわかる ▌OSS ライセンスがどんなものかわかる ▌業務での OSS との関わり方がわかる 3/32
目次 ▌ソフトウェアとライセンス ▌OSS ライセンス ▌サイボウズの OSS ポリシー ▌他者ソフトウェア (OSS) を使うとき
▌OSS を公開するとき 4/32
ソフトウェアとライセンス 5/32
ソフトウェアと著作権 ▌ソフトウェア = 著作物 ↓ 著作権法が適用される ▌他人の著作物の無断利用は、著作権侵害になる 6/32
「利用」と「使用」の違い ▌著作権違反になるのは、著作物を「利用」したとき ▌プログラムの「利用」に該当する行為 ⚫ ユーザー環境にインストールさせるためにプログラムを提供する ⚫ パッケージ製品に組み込んで提供する ⚫ ダウンロードサイトに置く ⚫
プログラムを改変する ▌プログラムの「使用」に該当する行為 ⚫ ローカルでプログラムを実行して自分で使う ⚫ サーバー上でプログラムを実行し、ユーザーにその機能を使わせる (クラウドサービス) 7/32
ライセンス ▌ライセンスとは、著作権法に基づく利用許諾条件 ⚫ 「私が権利を持っている著作物を利用させてあげる 代わりに、これを守ってね」というもの ▌条件を守らないと、ライセンス違反 = 著作権侵害 となる 可能性がある
8/32
ライセンス違反で起こり得ること ▌著作権の行使 ⚫ 派生(対象のソフトウェアを組み込んだ)製品の販売停止(差止め) ⚫ ソフトウェアの利用料の請求(損害賠償請求) ▌許諾条件の強制 ⚫ 派生製品のソースコードの開示 ▌レピュテーションリスク
⚫ ライセンスビジネスをしている企業としてのブランド価値の低下 ⚫ オープンソースコミュニティで炎上 9/32
OSS ライセンス 10/32
OSS ライセンスとは ▌OSS とは ⚫ ソースコードが無償で公開され、誰でもその改変と 再配布が自由に行えるソフトウェアのこと ⚫ Linux, MySQL,
Java, Nginx, ... ▌OSS ライセンスとは ⚫ OSS を利用する際のライセンス ⚫ 色々な種類があり、それぞれ条件が違う 11/32
OSS ライセンスに共通する主な条件 ▌同一条件での再配布 ⚫ 再配布の際は、同じライセンスにする ▌無保証 ⚫ 利用については、全て自己責任(脆弱性や不具合など) ▌特許の無償ライセンス ⚫
ソフトウェアに関連する特許がある場合でも、 特許ライセンスを求められない 12/32
OSS ライセンスの類型 OSS ライセンスの類型 改変部分の ソースコード開示 他のソフトウェアの ソースコード開示 コピーレフト型ライセンス (代表:
GPL) 要 要 準コピーレフト型ライセンス (代表: MPL) 要 不要 ⾮コピーレフト型ライセンス (代表: BSD License) 不要 不要 13/32
コピーレフト型 ▌特徴 ⚫ 派生製品のソースコードも開示させる → 自由に使えるソフトウェアを広げていく、という考え ⚫ 製品に組み込んだ場合、製品全てのソースコード開示が 必要となる ▌主な
OSS ライセンス ⚫ GPL, AGPL, EUPL ▌コピーレフト型の OSS ⚫ Linux, MySQL, WordPress 14/32
準コピーレフト型 ▌特徴 ⚫ 改変した場合、その改変部分を開示させる ▌主な OSS ライセンス ⚫ MPL, LGPL
▌準コピーレフト型の OSS ⚫ Mozilla (Firefox, Thunderbird) 15/32
非コピーレフト型 ▌特徴 ⚫ ほぼ何も気にしない ▌主な OSS ライセンス ⚫ BSD, Apache,
MIT ▌非コピーレフト型の OSS ⚫ Nginx, Apache, React 16/32
サイボウズの OSS ポリシー 17/32
ドキュメント ▌ポリシー ⚫ 権利帰属についてや、OSS 関連活動をどのように行うべきか が書かれた内規 ▌ガイドライン ⚫ 業務に沿った手引き 18/32
策定の背景 ▌サイボウズでは製品・サービスにおいて数多くの OSS が利用 されており、従業員も業務や個人活動で OSS 関連活動の機会が 増えている ▌そこで、以下を目的に策定された ⚫
OSS 関連活動を過大な負担なく行えるよう支援するため ⚫ オープンソースコミュニティにおける良き一員であるため 19/32
著作権の帰属 ▌サイボウズの著作物 ① 当社の極秘情報を含むもの ② 上長の明示的な指示または承認のもと作成されたもの ↓ それ以外は個人の著作物となる ▌著作権の譲渡 ⚫
条件に従って承認されれば、著作権が譲渡される 20/32
努力義務とライセンス違反への対応 ▌他者 OSS を利用するなかで不具合を発見した場合、 速やかに当該不具合を報告するよう努める ▌ライセンスに違反する事実を発見した場合、 速やかに OSS 管理組織に報告しなければならない 21/32
何かあったら OSS 管理組織(現 OSS 推進チーム)まで 22/32
他者ソフトウェア(OSS) を使うとき 23/32
ライセンスを確認する 24/32
ライセンスの確認(優先順) 1. ソースコード中のライセンス原文の記載 ⚫ プログラムファイルのヘッダに記載された ライセンス名とリンクも同様 2. アーカイブに配置されたライセンスファイル 3. アーカイブ内の
README ファイルの記載 4. DLサイト上の記載(根拠としては弱い) ⚫ DLサイト上の記載と、アーカイブ内のライセンス ファイルが異なる場合もある。。。 25/32
気を付けるポイント ▌ライセンスが明確ではないソフトウェアを使わない ▌パッケージ製品に、コピーレフト型のソフトウェアを使わない ▌クラウド製品に、AGPL を使わない ⚫ AGPL は、クラウド製品に OSS を「使用」した場合に、
その製品のソースコード開示を求める条件がある ⚫ クラウド製品に OSS を組み込んでサービスとして提供する 行為は「利用」ではなく、AGPL 以外のライセンスでは ソースコード開示は求められない 26/32
利用までの流れ 1. 使いたい OSS のライセンスが「OSS license リスト」にあるか確認 ⚫ リストにあれば、利用条件に従って利用 2.
リストになければ、「オープンソースライセンス確認アプリ」 で過去に利用可能判断がされているか確認 ⚫ リストにあれば、利用条件に従って利用 3. 過去の判断が無ければ、「OSS推進チーム依頼箱」 でライセンスの確認を依頼 27/32
OSS を公開するとき 28/32
気を付けるポイント ▌著作権が自分に帰属している場合 ⚫ OSS を公開する際に「Copyright YEAR Cybozu」のように サイボウズの著作物として表示することはできない ▌著作物が会社に帰属している場合 ⚫
公開のルールに従う 29/32
自社 OSS を社外に公開する流れ 1. GitHub にリポジトリを作成する 2. OSS ライセンスを選択し、必要なファイルを配置する 3.
選択した OSS ライセンスに従って著作権の年号や著作権者を 表記する 30/32
まとめ 31/32
▌ソフトウェアを利用する際は、ライセンスに気を付けましょう ▌OSS ポリシーを守りましょう ▌困ったら、法務統制本部か OSS 管理組織に相談しましょう 32/32