TL;DR
2024年3月20日Redis社は、これまでオープンソースとして開発してきたRedis 7.4ソースコードのライセンスを、Redis Source Available License (RSALv2)とServer Side Public License (SSPLv1)のデュアルライセンスに変更すると発表しました。この変更によりRedis社の許可なくRedisを用いたマネージドサービスなどを提供することができなくなります。
2009年1人の情熱的なエンジニアAntirezが作り出したRedisですが、2013年のGarantia Data社の介入により様々なドラマが勃発し2020年にAntirezはIPそしてトレードマークを同社に譲渡します。その後、Redisのコアコミュニティメンバーを中心に開発・更新を続け、またAWS ElastiCacheを筆頭にRedisのアダプションが促進されました。Redisが世界的に広まったのも第三者の貢献と参画があってこその結果です。これによりElastiCache Serverlessを含む様々なserverless cacheのサービスの出現に一役買っているとも言えるでしょう。
Momentoはserverless版Redis(いわゆるRedis互換)だと思われがちですが、これは大きな誤解でMomentoはマルチテナントモデルやゲートウェイ層を兼ね備えたserverless cacheを元から作っています。それによりでRedis互換のサービスとは一味も二味も違うサービスとなっています。まさにMomentoはserverless cacheの進化形なのです。
以下はこれまでのRedisの歴史、Redisコミュニティの貢献、管理サービスの出現とアダプションの促進、そしてMomentoはservelress Redisなのかと今回のRedisライセンスの変更に伴った今後のクラウドサービスプロバイダーの動きの予測の詳細を記載しています。
本文はCEOのカワジャ・シャムスとHead of Productのトニー・バルデラマ、TL;DRはMomento CEO室室長のサープ恵里花、翻訳はサープ恵里花が担当しました。
ポエムが完全に終わった訳ではありません。ただ見捨てられただけなのです。何回も見直すことで改善し続ける事は一生できます。単一のプロジェクトとして、完全なエージェンシーのサポートは理にかなっています。しかし、10年以上の愛の詰まった盛り上がっているコミュニティからのサポート、そして機能的な管理者が集った共同のプロジェクトを一方的に取り上げるのは大胆な、いや、無謀と言える行いであろう。
Stack Overflowの開発者調査によるとRedisは継続的に開発者に愛されているデータベースランキングで数年に渡り上位にランクインしていた。コアのドライバーからモジュールにかけて、Redisをサポートしているオープンソースコミュニティは栄えている。過去15年、たくさんの会社また個人からのサポートをRedisプロジェクトは受けてきた。
Redisは開発者を加速させる機能や能力を備えたSwissアーミーナイフのようなもの!様々なAPIを初め、本当であれば墓穴を掘るような実装もRedisのおかげでプロトタイプから本番環境のシステムまで対応できる機能に簡単にアクセスする事ができ、開発者の仕事を楽にしてくれる。
RedisはRedisの生みの親ではない
もしこのタイトルに混乱した人は、読み続けるべし!
Redisはコミュニティを閉じる法的権力はあるかもしれないが、RedisはRedisの生みの親ではない事を知っておくことが重要である。
Redisの再ライセンスのアナウンスメントでは、同社とオープンソースプロジェクトを同じ意味合いで言及している:
“From day one, Redis has provided a foundation of performance and simplicity for the applications and data infrastructure that power the modern Internet. Now, 15 years later, we’re proud to serve millions of developers across the globe by supporting real-time applications the world depends on every day.”
しかし、この巧妙な言い回しによって重要なポイントが隠されている: Redisとして知られている会社は昨年までオープンソースプロジェクトに関わっていなかったのである!
2009年にRedisは1人の情熱的なイタリア人開発者Salvatore “Antirez” Sanfilippoによってローンチされた。Garantia Dataという小さなRedisホストプロバイダーが同社を”RedisDB”に変名した2013年にドラマが始まった。Antirezがその変更の取りやめを主張した後、彼らはそれに従い変更を取りやめた。以下はGarantia DataのCEO、Ofer Bengalの主張である:
“We were about to change our company name to RedisDB and even acquired the domain redisdb.com for that purpose; however, respecting a request by Salvatore Sanfillipo, the Redis creator, we decided to stick to Garantia Data.”
数ヶ月後の2014年に、Garantia DataはRedis Labsとなった。
“It’s the second time in the past three months the company has said it is changing its name. In the fall, Garantia changed its name to RedisDB but after some retort from the open-source Redis community, the company pulled back and kept the Garantia name. This time, the company says there is no going back — it is now Redis Labs.”
2015年にRedis LabsはAntirezを雇用し、Redisオープンソースプロジェクトの公式スポンサーとなった。2020年のプロジェクトからの離脱以前に、AntirezはRedisのIPおよびトレードマークをGarantiaに譲渡している。これによりGarantiaは現在プロジェクトの再ライセンスに対して法的権利保持していることになる。
Garantiaは2021年に完全にRedisの名前を奪い取り、単純に”Redis”となっている。その後、彼らは一貫してGarantia Dataであったという歴史を排除し曖昧にしている。
たくさんの助けがあってのオープンソースコミュニティの成功
単刀直入に言うと、GarantiaはRedisの革新的な開発の主力ではない。(コードの行数に惑わされないで。)他のオープンソースプロジェクト同様、Redisは尊敬されたコアチームの徹底したガイドの元、たくさんの努力家のコミュニティメンバーによってつく作られた製品である。彼らの貢献には尽きる事のない感謝のみしかない。情熱的な開発者によってこんな素晴らしいものが作り出されるなんて、と驚愕している!
Garantiaはアダプションの主力でもなかった。Amazon ElastiCacheが先駆者である。Redisを簡単にデプロイ、スケール、レプリケーション、モニターすることを可能にすることによって、開発者が精通し大好きなRedisの大衆へのアダプションを容易にしてきた。もちろんElastiCacheはこれによりたくさんの利益を得ている。しかしこのマネタイズはテクノロジーをメインストリーム化しブランド認識を世界中に広めた見返りとも言える。
コントロールプレーン: 忘れられたヒーロー
私たちの多くは今日の自動車産業のマスプロダクションとアダプションをHenry Fordのおかげだと考えている。しかし、1956年にDwight Eisenhowerによって署名された法律であるアメリカのインターステート高速道路システムによって車のための展開システムが構築された。この政策によりDetroitは車の販売を容易に実現し、自動車の黄金時代を先導し最終的に莫大なグローバル産業となった。
Redisは革命を開始した内部の燃焼エンジンだ。しかし、完全に機能する車であるElastiCacheそして高速道路であるAWSがグローバルでの成功に導いたと言えるであろう。この比喩の中で、Garantia Dataは車でもエンジンでもない。車を作った第一人者でもない。オールズモビルなのである。ChevroletやFordに負かされているそしてエンジン、車、高速道路システムをマネタイズしているだけのブランドにすぎない。
Redisを生産化するのはかなり難しい課題である。高度なオーケストレーション無しでは、膨大なデプロイメントは支えることができない。ElastiCacheが最初のコントロールプレーンを紹介した時、そのような膨大なデプロイメントが可能である事を世の中に知らした。Uptash, Dragonfly, KeyDB, Aiven, Google MemoryStoreなどのマネージドRedisのサービス、さらにはGarantia / Redis Labsまでもをインスパイアした。
ElastiCacheが大スケールでのRedisデプロイメントを可能にさせたことで、様々なチームがレプリケーション、スケーリング、スナップショットといった複雑な課題と向き合う必要が出てきた。今日まで、ElastiCacheチームはRedisをスケールさせるため1000年分のエンジニア時間を投資してきた。彼らはRedis Coreに対して最も複雑で価値のある改善に対して貢献してきた。
最終的に、これらの貢献によりElasticache Serverlessやserverless cachingへの変動が見受けられるようになった。
Momentoはserverless Redisではない?
ここで明確にしておきたいのが、Momentoはserverless Redisではないことだ。Serverless RedisとマネージドRedisはcacheのエコシステムに置いて重要な部品になりうる。そして、私たちはUpstash, Google Memory Storeや他のたくさんのサービスの働きをとても誇らしく思っている。各サービスは開発者が高いパフォーマンスそしてスケーラブルなシステムを構築する手助けをしているのである。
Momentoは違うアプローチを取った。内部の燃焼エンジンをスキップして電気部分から着手することにした。私たちもRedisが大好きだが、元からserverless cacheを作る事を決めたのである。これにより、スケール、可用性、そして使いやすさに対する全ての厳しい要件を満たしたたサービスデザインを可能にした。そして他とは違うことを実現している。
Momento独自のマルチテナントモデルがユーザのcache全体のリソースをプールし、どのスケールでも効率的に大きなスパイクの吸収や、一貫性、コストの効率化を実現している。また、私たちのゲートウェイ層はモバイルやIoTデバイスなどからの数百万の直接的なコネクションにも対応でき、それに加えエンタープライズ級の認証や細かなアクセス制御も提供している。これによりクラウドアーキテクチャを劇的にシンプルにしている。
Momentoはserverless cachingの進化形である。
予測される動きとは?
私の推測では(私のAWSへの申し立てでもあります)ElastiCacheチームはRedisをフォークして、(うまくいけば)Rustで書き換え、そして今まで以上のRedisソフトウェアとエコシステムを作るのではないかと思っている。時間は進み続けているため、早く動くことが重要になってくるであろう。Garantia Dataが掻っ攫っていくには勿体無い、コミュニティがたくさんの愛を注ぎ込んできたプロジェクトだ。今回の発表によって今までのダメージの治療が開始される事を望んでいる。