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
39
0
Share
改めて考えるOSSのあり方について
ufoo68
April 02, 2026
More Decks by ufoo68
See All by ufoo68
文法で学ばないJavaScript
ufoo68
0
54
Cookieとは?
ufoo68
1
68
今更ながら、開発現場での生成AI活用について
ufoo68
0
71
28歳独身エンジニア 婚活してみた
ufoo68
0
29
OpenAIでクッキー型を作る
ufoo68
1
63
初めて開発リーダーをやってみた話
ufoo68
0
140
M5Stack用の指紋認証デバイスを試す
ufoo68
0
880
結婚式のクイズアプリを自作した話
ufoo68
0
680
M5Stack Core2とAlexaでインターフォンに自動で対応してくれるIoTデバイスを作りたかった話
ufoo68
0
720
Other Decks in Programming
See All in Programming
飯MCP
yusukebe
0
500
Don't Prompt Harder, Structure Better
kitasuke
0
690
夢の無限スパゲッティ製造機 -実装篇- #phpstudy
o0h
PRO
0
200
実践CRDT
tamadeveloper
0
450
2026-03-27 #terminalnight 変数展開とコマンド展開でターミナル作業をスマートにする方法
masasuzu
0
320
Kubernetes上でAgentを動かすための最新動向と押さえるべき概念まとめ
sotamaki0421
3
480
存在論的プログラミング: 時間と存在を記述する
koriym
5
860
車輪の再発明をしよう!PHP で実装して学ぶ、Web サーバーの仕組みと HTTP の正体
h1r0
3
520
CDK Deployのための ”反響定位”
watany
4
700
Symfonyの特性(設計思想)を手軽に活かす特性(trait)
ickx
0
130
AI時代のPhpStorm最新事情 #phpcon_odawara
yusuke
0
160
AWS re:Invent 2025の少し振り返り + DevOps AgentとBacklogを連携させてみた
satoshi256kbyte
3
160
Featured
See All Featured
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
160
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
100
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
How to train your dragon (web standard)
notwaldorf
97
6.6k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.8k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
180
Making Projects Easy
brettharned
120
6.6k
GraphQLとの向き合い方2022年版
quramy
50
15k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.8k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.2k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
110
We Have a Design System, Now What?
morganepeng
55
8.1k
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は、 • ソフトウェア開発の重要インフラである • 個人のボランティアに依存する構造的危うさを持つ • 企業主導もしくはスポンサーになるケースが主流になりつつある 理想としてはコミュニティベースで個人同士の自由参加 が良いとされるが、
ソフトウェアが経済インフラになってしまった昨今では難しくなっている。