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
ソフトウェアライセンス 2021 / Software license 2021
Search
Cybozu
PRO
April 08, 2021
Technology
5
16k
ソフトウェアライセンス 2021 / Software license 2021
Cybozu
PRO
April 08, 2021
Tweet
Share
More Decks by Cybozu
See All by Cybozu
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
9
45k
テクニカルライティング
cybozuinsideout
PRO
4
300
サイボウズのアジャイルクオリティ2024
cybozuinsideout
PRO
3
260
モブに早く慣れたい人のためのガイド2024
cybozuinsideout
PRO
3
360
モバイル
cybozuinsideout
PRO
3
180
ソフトウェアライセンス
cybozuinsideout
PRO
4
160
ソフトウェアテスト
cybozuinsideout
PRO
3
260
自動テスト
cybozuinsideout
PRO
3
270
Docker入門2024
cybozuinsideout
PRO
3
450
Other Decks in Technology
See All in Technology
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
940
Terraform Stacks入門 #HashiTalks
msato
0
350
B2B SaaS × AI機能開発 〜テナント分離のパターン解説〜 / B2B SaaS x AI function development - Explanation of tenant separation pattern
oztick139
2
220
強いチームと開発生産性
onk
PRO
33
11k
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
160
Why does continuous profiling matter to developers? #appdevelopercon
salaboy
0
180
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
3.2k
信頼性に挑む中で拡張できる・得られる1人のスキルセットとは?
ken5scal
2
530
Making your applications cross-environment - OSCG 2024 NA
salaboy
0
180
[FOSS4G 2019 Niigata] AIによる効率的危険斜面抽出システムの開発について
nssv
0
310
なぜ今 AI Agent なのか _近藤憲児
kenjikondobai
4
1.3k
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
2
280
Featured
See All Featured
Side Projects
sachag
452
42k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
410
Designing for Performance
lara
604
68k
Practical Orchestrator
shlominoach
186
10k
Optimizing for Happiness
mojombo
376
70k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
A Philosophy of Restraint
colly
203
16k
For a Future-Friendly Web
brad_frost
175
9.4k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
A designer walks into a library…
pauljervisheath
203
24k
Transcript
ソフトウェアライセンス 2021/04/08 法務統制本部 & OSS推進チーム
理想 ▌他者のソフトウェアを使うときの注意点を考慮できる ▌OSS 関連活動を適切に⾏える
この講義のゴール ▌ソフトウェアライセンスの法的背景がわかる ▌OSS ライセンスがどんなものかわかる ▌業務での OSS との関わり⽅がわかる
⽬次 ▌ソフトウェアとライセンス ▌OSS ライセンス ▌他者ソフトウェア (OSS) を使うとき ▌サイボウズの OSS ポリシー
▌OSS を公開するとき
ソフトウェアとライセンス
ソフトウェアと著作権 ▌ソフトウェア = 著作物 ↓ 著作権法が適⽤される ▌他⼈の著作物の無断利⽤は、著作権侵害になる
「利⽤」と「使⽤」の違い ▌著作権違反になるのは、著作物を「利⽤」したとき ▌プログラムの「利⽤」に該当する⾏為 l ユーザー環境にインストールさせるためにプログラムを提供する l パッケージ製品に組み込んで提供する l ダウンロードサイトに置く l
プログラムを改変する ▌プログラムの「使⽤」に該当する⾏為 l ローカルでプログラムを実⾏して⾃分で使う l サーバー上でプログラムを実⾏し、ユーザーにその機能を使わせる = クラウドサービス
ライセンス ▌ライセンスとは、著作権法に基づく利⽤許諾条件 l 「私が権利を持っている著作物を利⽤させてあげる 代わりに、この条件を守ってね」というもの ▌条件はライセンサ次第で、どういった制限が掛かるかは それぞれのライセンスによる
ライセンス違反で起こり得ること ▌著作権の⾏使 l 派⽣(対象のソフトウェアを組み込んだ)製品の販売停⽌(差⽌め) l ソフトウェアの利⽤料の請求(損害賠償請求) ▌許諾条件の強制 l 派⽣製品のソースコードの開⽰ ▌レピュテーションリスク
l ライセンスビジネスをしている企業としてのブランド価値の低下 l オープンソースコミュニティで炎上
OSS ライセンス
OSS ライセンスとは ▌OSS とは l ソースコードが無償で公開され、誰でもその改変と 再配布を⾃由に⾏えるソフトウェアのこと l Linux, MySQL,
Java, Nginx, ... ▌OSS ライセンスとは l OSS を利⽤する際のライセンス l ⾊々な種類があり、それぞれ条件が違う l Open Source Initiative (OSI) の承認が必要
OSS ライセンスに共通する主な条件 ▌再配布する際にライセンス本⽂を付ける ▌利⽤は無保証、脆弱性や不具合は⾃⼰責任 ▌対象のソフトウェアに関連する特許がある場合、 無償で利⽤許諾する(特定のライセンスのみ)
OSS ライセンスの類型 OSS ライセンスの類型 改変部分の ソースコード開⽰ 他のソフトウェアの ソースコード開⽰ コピーレフト型ライセンス (代表︓
GPL) 要 要 準コピーレフト型ライセンス (代表︓ MPL) 要 不要 ⾮コピーレフト型ライセンス (代表︓ BSD License) 不要 不要
コピーレフト型 ① ▌特徴 l 派⽣製品のソースコードも開⽰させる → ⾃由に使えるソフトウェアを広げていく、という考え l 製品に組み込んだ場合、製品全てのソースコード開⽰が 必要となる
▌主な OSS ライセンス l GPL, AGPL, EUPL
コピーレフト型 ② ▌コピーレフト型の OSS l Linux, MySQL, WordPress ▌主な条件 l
再配布する際に同じライセンスを適⽤する l 派⽣製品(動的リンクも含む)のソースコードを開⽰する l AGPL︓クラウドサービスのサーバーで使⽤した場合、 派⽣製品(動的リンクも含む)のソースコードを開⽰する
準コピーレフト型 ① ▌特徴 l 改変した場合、その改変部分を開⽰させる ▌主な OSS ライセンス l MPL,
LGPL
準コピーレフト型 ② ▌準コピーレフト型の OSS l Mozilla (Firefox, Thunderbird) ▌主な条件 l
改変した場合、その改変部分のソースコードを開⽰する l MPL︓改変しない場合、取得元を開⽰する l LGPL︓派⽣製品(動的リンクを含まない)のソースコードを 開⽰する
⾮コピーレフト型 ▌特徴 l ほぼ何も気にしない(p12の条件くらい) ▌主な OSS ライセンス l BSD License,
Apache License, MIT License ▌⾮コピーレフト型の OSS l Nginx, Apache, React
他者ソフトウェア (OSS) を使うとき
ライセンスを確認する
ライセンスの確認(優先順) ▌ソースコード中のライセンス原⽂の記載 l プログラムファイルのヘッダに記載された ライセンス名とリンクも同様 ▌アーカイブに配置されたライセンスファイル ▌アーカイブ内の README ファイルの記載 ▌DLサイト上の記載(根拠としては弱い)
l DLサイト上の記載と、アーカイブ内のライセンス ファイルが異なる場合もある...
気を付けるポイント ▌ライセンスが明確ではないソフトウェアを使わない ▌パッケージ製品に、コピーレフト型の OSS を使わない ▌クラウド製品に、AGPL の OSS を使わない
サイボウズの OSS ポリシー
ドキュメント ▌ポリシー l 権利帰属についてや、OSS 関連活動をどのように ⾏うべきかが書かれた内規 ▌ガイドライン l 業務に沿った⼿引き
策定の背景 ▌サイボウズでは製品・サービスにおいて数多くの OSS が利⽤ されており、従業員も業務や個⼈活動で OSS 関連活動の機会 が増えている ▌そこで、以下を⽬的に策定された l
OSS 関連活動を過⼤な負担なく⾏えるよう⽀援するため l オープンソースコミュニティにおける良き⼀員であるため
著作権の帰属 ▌サイボウズの著作物 ① 当社の極秘情報を含むもの ② 上⻑の明⽰的な指⽰または承認のもと作成されたもの ↓ それ以外は個⼈の著作物となる ▌著作権の譲渡 l
条件に従って承認されれば、著作権が譲渡される
努⼒義務とライセンス違反への対応 ▌他者 OSS を利⽤するなかで不具合を発⾒した場合、 速やかに当該不具合を報告するよう努める ▌ライセンスに違反する事実を発⾒した場合、 速やかに OSS 管理組織に報告しなければならない
OSS を公開するとき
気を付けるポイント ▌著作権が⾃分に帰属している場合 l OSS を公開する際に「Copyright YEAR Cybozu」のように サイボウズの著作物として表⽰することはできない ▌著作物が会社に帰属している場合 l
公開のルールに従う
⾃社 OSS を社外に公開する流れ ▌GitHub にリポジトリを作成する ▌OSS ライセンスを選択し、必要なファイルを配置する ▌選択した OSS ライセンスに従って著作権の年号や著作権者を
表記する
まとめ
▌ソフトウェアを利⽤する際は、ライセンスに気を付けましょう ▌OSS ポリシーを守りましょう ▌困ったら、法務統制本部か OSS 推進チームに相談しましょう