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
生産性向上チームの紹介
cybozuinsideout
PRO
1
860
サイボウズQAの紹介
cybozuinsideout
PRO
1
230
試験仕様書の英語化をやってみたら試験仕様書の本質が見えてきた
cybozuinsideout
PRO
0
230
販売管理オペレーターが開発チームの一員となった話
cybozuinsideout
PRO
0
220
主体的な活動で巨大な影響範囲のテストを乗りこなしていく話
cybozuinsideout
PRO
1
220
Garoon 開発チーム / Garoon development team
cybozuinsideout
PRO
2
2.9k
OSSの脆弱性との向き合い⽅
cybozuinsideout
PRO
2
75
既存プロセスからの脱却と変化に適応するために必要なこと
cybozuinsideout
PRO
2
530
スプリント内で試験を完了させるには?アジャイル・スクラム開発に参加したQAエンジニアの悩みと対策
cybozuinsideout
PRO
1
490
Other Decks in Technology
See All in Technology
TechFeed Experts Night#27 〜 フロントエンドフレームワーク最前線 (Svelte)
baseballyama
1
190
一生覚えておきたい「システム開発=コミュニケーション」〜初めての実務案件振り返りLT〜
maimyyym
0
110
NgRx Signal Store
rainerhahnekamp
0
150
Databricks における 『MLOps』
databricksjapan
2
170
Azure犬駆動開発の記録/GlobalAzureFukuoka2024_20240420
nina01
1
200
DevOpsメトリクスとアウトカムの接続にトライ!開発プロセスを通して計測できるメトリクスの活用方法
ham0215
2
230
Terraformあれやこれ/terraform-this-and-that
emiki
8
1.3k
SPI原点回帰論:事業課題とFour Keysの結節点を見出す実践的ソフトウェアプロセス改善 / DevOpsDays Tokyo 2024
visional_engineering_and_design
4
1.9k
On Your Data を超えていく!
hirotomotaguchi
2
650
データベース02: データベースの概念
trycycle
0
150
どうするコスト最適化のトレードオフ
tetsuyaooooo
1
490
私が trocco を推す理由
__allllllllez__
1
200
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1025
450k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Unsuck your backbone
ammeep
663
57k
What's new in Ruby 2.0
geeforr
337
31k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
14
1.5k
What's in a price? How to price your products and services
michaelherold
237
11k
Creatively Recalculating Your Daily Design Routine
revolveconf
210
11k
Code Review Best Practice
trishagee
55
15k
It's Worth the Effort
3n
180
27k
Scaling GitHub
holman
457
140k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
244
20k
Building Applications with DynamoDB
mza
88
5.6k
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