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
ソフトウェアライセンス 2022 / Software License 2022
Search
Cybozu
PRO
June 21, 2022
Technology
1
5.6k
ソフトウェアライセンス 2022 / Software License 2022
Cybozu
PRO
June 21, 2022
Tweet
Share
More Decks by Cybozu
See All by Cybozu
サイボウズQAの紹介
cybozuinsideout
PRO
1
12
試験仕様書の英語化をやってみたら試験仕様書の本質が見えてきた
cybozuinsideout
PRO
0
4
販売管理オペレーターが開発チームの一員となった話
cybozuinsideout
PRO
0
6
主体的な活動で巨大な影響範囲のテストを乗りこなしていく話
cybozuinsideout
PRO
1
11
Garoon 開発チーム / Garoon development team
cybozuinsideout
PRO
1
2.8k
OSSの脆弱性との向き合い⽅
cybozuinsideout
PRO
2
67
既存プロセスからの脱却と変化に適応するために必要なこと
cybozuinsideout
PRO
2
290
スプリント内で試験を完了させるには?アジャイル・スクラム開発に参加したQAエンジニアの悩みと対策
cybozuinsideout
PRO
1
260
サイボウズのQAエンジニア育成
cybozuinsideout
PRO
4
1.2k
Other Decks in Technology
See All in Technology
インシデントレスポンスのライフサイクルを廻すポイントってなに / Pinpoints of Incidentresponse Lifecycle for Operation
sakaitakeshi
0
280
Autonomous Database Cloud 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
13
35k
スタートアップの技術顧問を3年間続けて発生した事と気付き
biwakonbu
0
150
少数チームで挑む: SwiftUI, TCA, KMPを用いた 新規動画配信アプリ 「ABEMA Live」の開発について
tomu28
0
480
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
1
1.4k
「手動オペレーションに定評がある」と言われた私が心がけていること / phpcon_odawara2024
blue_goheimochi
1
310
Kubernetesでアプリの安定稼働と高頻度のアップデートを両立するためのプラクティス / Best Practices for Applications on Kubernetesto Achieve Both Frequent Updates and Stability
hhiroshell
10
2.9k
PHP"オレ"カンファレンスの告知
ysknsid25
0
240
OpenShiftはじめの一歩から継続的なチャレンジ
mame500
0
250
コードを書く隙間を見つけて生きていく技術/Findy 思考の現在地
fujiwara3
21
4.1k
Podmanで推す OpenShift Kubernetes入門/Introduction to OpenShift and K8s by Podman
tnk4on
0
180
PHPカンファレンス小田原2024
ysknsid25
2
630
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
781
250k
Ruby is Unlike a Banana
tanoku
95
10k
How GitHub Uses GitHub to Build GitHub
holman
468
290k
Designing the Hi-DPI Web
ddemaree
275
33k
WebSockets: Embracing the real-time Web
robhawkes
59
7k
10 Git Anti Patterns You Should be Aware of
lemiorhan
645
57k
Clear Off the Table
cherdarchuk
82
310k
Scaling GitHub
holman
457
140k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
114
18k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
20
1.6k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
124
32k
The Invisible Side of Design
smashingmag
293
49k
Transcript
ソフトウェアライセンス 2022/05 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 推進チームに相談しましょう