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
ソフトウェアライセンス_2020 / Software_License_2020
Search
Cybozu
PRO
August 19, 2020
Technology
0
60k
ソフトウェアライセンス_2020 / Software_License_2020
Cybozu
PRO
August 19, 2020
Tweet
Share
More Decks by Cybozu
See All by Cybozu
生産性向上チームの紹介
cybozuinsideout
PRO
1
870
サイボウズQAの紹介
cybozuinsideout
PRO
1
270
試験仕様書の英語化をやってみたら試験仕様書の本質が見えてきた
cybozuinsideout
PRO
0
270
販売管理オペレーターが開発チームの一員となった話
cybozuinsideout
PRO
0
260
主体的な活動で巨大な影響範囲のテストを乗りこなしていく話
cybozuinsideout
PRO
1
260
Garoon 開発チーム / Garoon development team
cybozuinsideout
PRO
2
2.9k
OSSの脆弱性との向き合い⽅
cybozuinsideout
PRO
2
76
既存プロセスからの脱却と変化に適応するために必要なこと
cybozuinsideout
PRO
2
580
スプリント内で試験を完了させるには?アジャイル・スクラム開発に参加したQAエンジニアの悩みと対策
cybozuinsideout
PRO
1
550
Other Decks in Technology
See All in Technology
Reducing Cross-Zone Egress at Spotify with Custom gRPC Load Balancing Recap
koh_naga
0
210
Postman v10リリース後を振り返る / Looking back at Postman v10 after release
yokawasa
1
160
複雑な構成要素を持つUIとの向き合い方 〜新・支出グラフでの実例〜 / B43 TECH TALK
nakamuuu
0
140
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2024年版)
infiniteloop_inc
4
15k
Delivering Millions of Messages within seconds @ Duolingo
pelelgrino
0
350
KubeConにproposalを送りたい人へのアドバイス
sat
PRO
3
250
MapLibreとAmazon Location Service
dayjournal
1
160
Google Cloud の AI を支える裏側のインフラを垣間見る!
maroon1st
0
350
LLM開発・活用の舞台裏@2024.04.25
yushin_n
1
300
リテール金融(キャッシュレス・ネット銀行・ネット証券)の競争環境と経済圏
8maki
0
1.2k
チームでロジカルシンキングに改めて向き合っている話 〜学習環境と実践⽅法〜
sansantech
PRO
3
2.5k
IaCジェネレーターとBedrockで詳細設計書を生成してみた
tsukasa_ishimaru
1
240
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
319
37k
Building Applications with DynamoDB
mza
88
5.6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
60
14k
Build The Right Thing And Hit Your Dates
maggiecrowley
24
2k
Designing with Data
zakiwarfel
96
4.8k
Making Projects Easy
brettharned
108
5.5k
Bash Introduction
62gerente
604
210k
The Invisible Side of Design
smashingmag
294
49k
Code Reviewing Like a Champion
maltzj
514
39k
GraphQLの誤解/rethinking-graphql
sonatard
50
9.2k
VelocityConf: Rendering Performance Case Studies
addyosmani
320
23k
KATA
mclloyd
15
12k
Transcript
ソフトウェアライセンス 2020/04/28 法務統制本部 & OSS推進チーム
理想 ▌他者のソフトウェアを使うときの注意点を考慮できる ▌OSS 関連活動を適切に⾏える 2/ 34
この講義のゴール ▌ソフトウェアライセンスの法的背景がわかる ▌OSS ライセンスがどんなものかわかる ▌業務での OSS との関わり⽅がわかる 3/ 34
⽬次 ▌ソフトウェアとライセンス ▌OSS ライセンス ▌サイボウズの OSS ポリシー ▌他者ソフトウェア (OSS) を使うとき
▌OSS を公開するとき 4/ 34
ソフトウェアとライセンス 5/34
ソフトウェアと著作権 ▌ソフトウェア = 著作物 ↓ 著作権法が適⽤される ▌他⼈の著作物の無断利⽤は、著作権侵害になる 6/ 34
「利⽤」と「使⽤」の違い ▌著作権違反になるのは、著作物を「利⽤」したとき ▌プログラムの「利⽤」に該当する⾏為 l ユーザー環境にインストールさせるためにプログラムを提供する l パッケージ製品に組み込んで提供する l ダウンロードサイトに置く l
プログラムを改変する ▌プログラムの「使⽤」に該当する⾏為 l ローカルでプログラムを実⾏して⾃分で使う l サーバー上でプログラムを実⾏し、ユーザーにその機能を使わせる = クラウドサービス 7/ 34
ライセンス ▌ライセンスとは、著作権法に基づく利⽤許諾条件 l 「私が権利を持っている著作物を利⽤させてあげる 代わりに、この条件を守ってね」というもの ▌条件はライセンサ次第で、どういった制限が掛かるかは それぞれのライセンスによる 8/ 34
ライセンス違反で起こり得ること ▌著作権の⾏使 l 派⽣(対象のソフトウェアを組み込んだ)製品の販売停⽌(差⽌め) l ソフトウェアの利⽤料の請求(損害賠償請求) ▌許諾条件の強制 l 派⽣製品のソースコードの開⽰ ▌レピュテーションリスク
l ライセンスビジネスをしている企業としてのブランド価値の低下 l オープンソースコミュニティで炎上 9/ 34
OSS ライセンス 10/34
OSS ライセンスとは ▌OSS とは l ソースコードが無償で公開され、誰でもその改変と 再配布を⾃由に⾏えるソフトウェアのこと l Linux, MySQL,
Java, Nginx, ... ▌OSS ライセンスとは l OSS を利⽤する際のライセンス l ⾊々な種類があり、それぞれ条件が違う l Open Source Initiative (OSI) の承認が必要 11/ 34
OSS ライセンスに共通する主な条件 ▌再配布する際にライセンス本⽂を付ける ▌利⽤は無保証、脆弱性や不具合は⾃⼰責任 ▌対象のソフトウェアに関連する特許がある場合、 無償で利⽤許諾する(特定のライセンスのみ) 12/ 34
OSS ライセンスの類型 OSS ライセンスの類型 改変部分の ソースコード開⽰ 他のソフトウェアの ソースコード開⽰ コピーレフト型ライセンス (代表︓
GPL) 要 要 準コピーレフト型ライセンス (代表︓ MPL) 要 不要 ⾮コピーレフト型ライセンス (代表︓ BSD License) 不要 不要 13/ 34
コピーレフト型 ▌特徴 l 派⽣製品のソースコードも開⽰させる → ⾃由に使えるソフトウェアを広げていく、という考え l 製品に組み込んだ場合、製品全てのソースコード開⽰が 必要となる ▌主な
OSS ライセンス l GPL, AGPL, EUPL 14/ 34
コピーレフト型 ▌コピーレフト型の OSS l Linux, MySQL, WordPress ▌主な条件 l 再配布する際に同じライセンスを適⽤する
l 派⽣製品(動的リンクも含む)のソースコードを開⽰する l AGPL︓クラウドサービスのサーバーで使⽤した場合、 派⽣製品(動的リンクも含む)のソースコードを開⽰する 15/ 34
準コピーレフト型 ▌特徴 l 改変した場合、その改変部分を開⽰させる ▌主な OSS ライセンス l MPL, LGPL
16/ 34
準コピーレフト型 ▌準コピーレフト型の OSS l Mozilla (Firefox, Thunderbird) ▌主な条件 l 改変した場合、その改変部分のソースコードを開⽰する
l MPL︓改変しない場合、取得元を開⽰する l LGPL︓派⽣製品(動的リンクを含まない)のソースコードを 開⽰する 17/ 34
⾮コピーレフト型 ▌特徴 l ほぼ何も気にしない(p12の条件くらい) ▌主な OSS ライセンス l BSD License,
Apache License, MIT License ▌⾮コピーレフト型の OSS l Nginx, Apache, React 18/ 34
サイボウズの OSS ポリシー 19/34
ドキュメント ▌ポリシー l 権利帰属についてや、OSS 関連活動をどのように ⾏うべきかが書かれた内規 ▌ガイドライン l 業務に沿った⼿引き 20/
34
策定の背景 ▌サイボウズでは製品・サービスにおいて数多くの OSS が利⽤ されており、従業員も業務や個⼈活動で OSS 関連活動の機会 が増えている ▌そこで、以下を⽬的に策定された l
OSS 関連活動を過⼤な負担なく⾏えるよう⽀援するため l オープンソースコミュニティにおける良き⼀員であるため 21/ 34
著作権の帰属 ▌サイボウズの著作物 ① 当社の極秘情報を含むもの ② 上⻑の明⽰的な指⽰または承認のもと作成されたもの ↓ それ以外は個⼈の著作物となる ▌著作権の譲渡 l
条件に従って承認されれば、著作権が譲渡される 22/ 34
努⼒義務とライセンス違反への対応 ▌他者 OSS を利⽤するなかで不具合を発⾒した場合、 速やかに当該不具合を報告するよう努める ▌ライセンスに違反する事実を発⾒した場合、 速やかに OSS 管理組織に報告しなければならない 23/
34
何かあったら ▌OSS 管理組織(現 OSS 推進チーム)まで 24/ 34
他者ソフトウェア (OSS) を使うとき 25/34
ライセンスを確認する 26/ 34
ライセンスの確認(優先順) ▌ソースコード中のライセンス原⽂の記載 l プログラムファイルのヘッダに記載された ライセンス名とリンクも同様 ▌アーカイブに配置されたライセンスファイル ▌アーカイブ内の README ファイルの記載 ▌DLサイト上の記載(根拠としては弱い)
l DLサイト上の記載と、アーカイブ内のライセンス ファイルが異なる場合もある... 27/ 34
気を付けるポイント ▌ライセンスが明確ではないソフトウェアを使わない ▌パッケージ製品に、コピーレフト型の OSS を使わない ▌クラウド製品に、AGPL の OSS を使わない 28/
34
利⽤までの流れ ▌使いたい OSS のライセンスが「OSS license リスト」 にあるか確認 l リストにあれば、利⽤条件に従って利⽤ ▌リストになければ、「オープンソースライセンス確認アプリ」
で過去に利⽤可能判断がされているか確認 l リストにあれば、利⽤条件に従って利⽤ ▌過去の判断が無ければ、「OSS推進チーム依頼箱」 でライセンスの確認を依頼 29/ 34
OSS を公開するとき 30/34
気を付けるポイント ▌著作権が⾃分に帰属している場合 l OSS を公開する際に「Copyright YEAR Cybozu」のように サイボウズの著作物として表⽰することはできない ▌著作物が会社に帰属している場合 l
公開のルールに従う 31/ 34
⾃社 OSS を社外に公開する流れ ▌GitHub にリポジトリを作成する ▌OSS ライセンスを選択し、必要なファイルを配置する ▌選択した OSS ライセンスに従って著作権の年号や著作権者を
表記する 32/ 34
まとめ 33/34
▌ソフトウェアを利⽤する際は、ライセンスに気を付けましょう ▌OSS ポリシーを守りましょう ▌困ったら、法務統制本部か OSS 推進チームに相談しましょう 34/ 34