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
改めて考えるOSSのあり方について
Search
ufoo68
April 02, 2026
Programming
57
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
改めて考えるOSSのあり方について
ufoo68
April 02, 2026
More Decks by ufoo68
See All by ufoo68
BlenderをCodexで動かす
ufoo68
0
330
文法で学ばないJavaScript
ufoo68
0
71
Cookieとは?
ufoo68
1
84
今更ながら、開発現場での生成AI活用について
ufoo68
0
82
28歳独身エンジニア 婚活してみた
ufoo68
0
34
OpenAIでクッキー型を作る
ufoo68
1
69
初めて開発リーダーをやってみた話
ufoo68
0
150
M5Stack用の指紋認証デバイスを試す
ufoo68
0
910
結婚式のクイズアプリを自作した話
ufoo68
0
700
Other Decks in Programming
See All in Programming
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
560
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
250
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
140
Oxlintのカスタムルールの現況
syumai
6
1.1k
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
14
5.5k
RTSPクライアントを自作してみた話
simotin13
0
610
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
5.3k
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
290
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
540
Signal Forms: Details & Live Coding @enterJS 2026 in Mannheim
manfredsteyer
PRO
0
160
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
550
dRuby over BLE
makicamel
2
380
Featured
See All Featured
Utilizing Notion as your number one productivity tool
mfonobong
4
320
GraphQLとの向き合い方2022年版
quramy
50
15k
Music & Morning Musume
bryan
47
7.2k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
240
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
270
The World Runs on Bad Software
bkeepers
PRO
72
12k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
Six Lessons from altMBA
skipperchong
29
4.3k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
780
Transcript
改めて考える OSSのあり方について ざっくりと学ぶWebの基礎
自己紹介 • 名前 ◦ 松永勇太(@ufoo_yuta) • 出身学科 ◦ 大阪工業大学ロボット工学科 •
職業 ◦ Webエンジニア • すきなこと ◦ シンプルなものづくり
議論に入る前に、
改めてOSSとは何か Open Source Softwareのこと。 • ソースコードが入手可能 • 誰でも配布できる • 改変して配布できる
重要なのはOSSは無料で利用できるソフトではなく 、 ライセンスによって自由が保証されたソフトウェア ということ。
OSSとUNIXの思想 UNIXとは1970年に開発されたOSで、 その設計思想は後のOSS開発にかなり影響している。 • ソースコードを読んで改変する • 小さく単機能に作る • プログラムを組み合わせる ソフトウェア開発とは既存のOSSを組み合わせて作る
ものである。 その上で足りない機能を自らが実装していく 。
ここまでで言いたいこと 世の中のソフトウェア開発の全ては、 OSSの上に成り立っていて、OSS無しでは成り立たない。 と言っても過言ではないということ
ここから本題
Log4Shell事件 これは2021年12月にLog4jというJavaライブラリで見つかった、 ログ機能をハックして任意のコードが実行できる という恐ろしい脆弱性。 • Apple • Amazon • Microsoft
• Minecraft などの多数の大企業に影響した事件。
この事件が示した構造 これは単なるOSSの脆弱性の問題ではなく、 • 数多の企業のインフラになっていた • 保守は少人数のコミッター(ボランティア)によるもの という構造的問題が明るみになったことで、 OSSの責任問題がSNSでかなり議論された。
その後起こった事件 2022年初頭にあるOSS開発者による反乱が発生。 自身のJavaScriptのライブラリを意図的に破壊した • faker.js • color.js 無限ループコードを仕込んだり、空に近い状態に改変したりした。 これらを利用した多くのライブラリにも波及した(特にcolor.js)
二つの事件から改めて認識したこと OSSとは • インフラである • 保守が個人に依存 している そして非対称性がある • OSSを利用する企業は利益を得る
• OSSを開発する個人は無償でありながら責任を追及 される 反乱事件はこの非対称性に対する抗議 でもあった
解決モデル
OSSの管理は大体こうなっている • ライブラリ ◦ ユーティリティレベルのもの ◦ これはまだ個人単位での管理が多い • フレームワーク ◦
ソフトウェアの構造レベルに影響するもの ◦ 企業単位での管理が主流 • プログラミング言語 ◦ 言うまでもなく全ての開発に影響するもの ◦ これに関しては中立的であることが必要なので財団管理が主流 あくまで傾向、もちろん例外はたくさんある
企業が主体で管理する OSS例 フレームワークの例として、VercelとNext.js • Vercel ◦ フロントエンド特化のホスティングサービス ◦ 細かな設定なしでもデプロイ可能 ◦
GitHub連携をすればgit pushから自動化もできる • Next.js ◦ Vercelが開発したWebフレームワーク ◦ React.jsというライブラリを利用 ◦ VercelはNext.jsの利用に特化
企業で管理するメリット • 利用者側 ◦ セキュリティ問題があった時の責任を負ってくれる ◦ 長期での運用サポートをしてくれやすい ◦ アップデートの意思決定が早い •
企業側 ◦ ソフトウェア開発の標準を作ることができる ◦ 自社サービスへの誘導がしやすい ◦ 自社の技術スタックに適合したエンジニアを採用しやすい
そのことによる問題点 • ベンダーロックイン ◦ フレームワークとクラウドが強く結びつくと他の環境に移行しにくい • 方向性が企業の利益に左右される ◦ 自社サービスに有利な機能が優先される可能性 •
コミュニティの影響力が小さくなる ◦ 個人開発者の意見が通りにくい • UNIX哲学との剥離 ◦ 企業はオールインワンの OSS開発になりがち ◦ 小さな機能単位の提供にはなりにくい
まとめ OSSは、 • ソフトウェア開発の重要インフラである • 個人のボランティアに依存する構造的危うさを持つ • 企業主導もしくはスポンサーになるケースが主流になりつつある 理想としてはコミュニティベースで個人同士の自由参加 が良いとされるが、
ソフトウェアが経済インフラになってしまった昨今では難しくなっている。