evilfactorylabs

Rizaldy
Rizaldy

Posted on

Yang terjadi dengan Redis

Pada 20 Maret 2024 Redis Inc mengumumkan bahwa per versi Redis 7.4 akan menggunakan lisensi ganda: Redis Source Available License (RSALv2) dan Server Side Public License (SSPLv1). Singkatnya, Redis sudah tidak bisa lagi dianggap "open source" karena kedua lisensi tersebut tidak termasuk dalam kategori Open Source menurut OSI (Open Source Initiative).

Sebelumnya, Hashicorp pun ber-transisi ke Business Source License (BSL) dari yang sebelumnya menggunakan lisensi Open Source.

Dan beberapa produk lain yang (pernah) dianggap sebagai Open Source seperti: MongoDB, Elasticsearch dan Graylog yang menggunakan lisensi Server Side Public License (SSPL).

Perubahan lisensi ini jika diambil kesimpulannya adalah untuk menghindari "big cloud provider" menjual layanannya seperti Elasticsearch vs Amazon Elasticsearch Service (Amazon ES) yang sekarang menjadi Amazon OpenSearch Service.

Intinya, setiap bisnis yang menawarkan "competitive offering" terhadap produk yang menggunakan SSPL itu dilarang.

Beberapa beranggapan bahwa SSPL itu buruk dan saya setuju. Meskipun di negara ini masih tidak terlalu memusingkan terkait lisensi—selain karena masih sibuk ngurus bokep, judol dan pencemaran nama baik—saya ingin berbagi tentang hal ini untuk penggiat Open Source dan pengembang yang bergantung dengan produk open source untuk alasan apapun itu.

Apakah saya terdampak?

Besar kemungkinan tidak.

Tapi jika solusi/produk/aplikasi mu menggunakan atau bergantung apalagi mendistribusikan Redis, mungkin kondisinya cukup rumit.

Di $currentJob kebetulan saya turut bertanggung jawab atas setiap stack yang digunakan, mungkin beberapa teman sudah tidak asing setiap saya roasting bila ada yang membawa kata "mongodibi", sambil bercanda.

Anyway, di bagian FAQ nomor 6 terkait perubahan lisensi Redis ada penjelasan "Who is impacted by this change?"

6. Who is impacted by this change?

Organizations providing competitive offerings to Redis will no longer be permitted to use new versions of the source code of Redis free of charge under either of the dual licenses. Commercial licensing terms are available and can enable use cases beyond the RSALv2 or SSPLv1 license limitations. If you are building a solution that leverages Redis, but does not specifically compete with Redis itself, there is no impact. If you have specific concerns or questions that you wish to discuss, please email redis_licensing@redis.com.

Bagian yang cukup pentingnya sengaja saya tebalkan.

Saya bukan pengacara namun yang saya tahu dalam sebuah hukum pasti ada bagian yang "abu-abu". Bagian "does not specifically compete with Redis itself" itu agak buram, jika suatu hari Redis menawarkan solusi/produk serupa dengan yang kamu kembangkan dan kebetulan kamu menggunakan Redis, well, mungkin Redis berhak untuk mencabut lisensi tersebut darimu.

Bagian nomor 7 juga agak buram, berikut bunyinya:

7. What is a "competitive offering" as defined under the Redis RSALv2 or SSPLv1 licenses?

A "competitive offering" is a product that is sold to third parties, including through paid support arrangements, that is derived from the Redis' code-base and significantly overlaps the capabilities of a Redis commercial product. For example, this definition would include hosting or embedding Redis as part of a solution that is sold competitively against our commercial versions of Redis (either Redis Enterprise Software or Redis Cloud). Custom licensing terms are also available to provide more clarity and enable use cases beyond the RSALv2 or SSPLv1 limitations. If you need further clarification with respect to a particular use case, you can email redis_licensing@redis.com.

Bagian yang cukup pentingnya saya tebalkan seperti biasa.

Kalimat "Custom licensing terms are also available to provide more clarity..." nya saja sudah mengindikasikan kalau bagian ini cukup buram.

Sekarang bagian yang lebih rumit: bagaimana jika kita menjual solusi ke pihak ketiga dan pihak ketiga tersebut yang menjualnya?

...bagaimana jika pihak ketiga tersebut kebetulan menjual produk serupa dengan Redis juga seperti SingleStore yang sama-sama memaksimalkan penyimpanan in-memory (who knows)?

Dan sebagai kesimpulan untuk bagian "Apakah saya terdampak?", jika kamu adalah penggiat; penggemar, dan pendukung Open Source sesantuy Torvalds ataupun se-ekstrim Stallman, jawabannya, ya, kamu terdampak.

Alternatif dari Redis

Perubahan ini hanya berdampak untuk versi Redis >= 7.4, jika masih menggunakan Redis versi 4 (HELLOW MY FELLOW PRAEDICTIO) dan selamanya menggunakan versi itu, besar kemungkinan aman (kecuali ada perubahan terkait security).

Sebelum perubahan lisensi ini ada 2 fork Redis yang cukup menjanjikan: KeyDB nya Snap Inc (BSD-3-Clause) dan Dragonfly (BSL). Saya pribadi sudah mencoba 2 alternatif tersebut dan terlepas fitur andalan yang ditawarkan (seperti "multithreaded"), pada akhirnya kembali lagi ke Redis "asli" karena alasan stabilitas.

Sekarang, menggunakan Redis "asli" sudah kurang memungkinkan, dan yang lumayan serupa setidaknya ada 2: Redict dan Valkey nya Linux Foundation. Linux Foundation juga yang membuat OpenTofu yang mana fork dari Terraform yang transisi ke lisensi BSL.

Saya pribadi penggemar Drew Devault atas pandangan, keyakinan dan usahanya terhadap open source atau free software. Drew adalah initiator dari project Redict, dibanding dengan Valkey, perkembangan Redict selangkah lebih maju. Redict 7.3.0 (hasil fork Redis 7.2.4, versi terakhir dari "OSS Redis") sudah dapat digunakan khususnya di lingkungan container.

Valkey sendiri sepertinya masih di proses perubahan nama %s/redis/valkey.

Berdasarkan urgensi saya, belum ada kebutuhan untuk upgrade ke versi > 7.2 khususnya di beberapa tempat yang sudah menjalankan Redis selama 1 tahun (Redis 7.2) dan ~2 tahun (Redis 4) tanpa restart.

Untuk sekarang, perbedaan paling mencolok antara Redict dan Valkey adalah lisensi. Redict menggunakan LGPL-3.0-only dan Valkey menggunakan BSD-3-Clause sebagaimana versi Redis <= 7.2. Berdasarkan pemahaman singkat saya, LGPL adalah "weak copyleft" sedangkan BSD adalah "permissive". Meskipun diantara keduanya cukup "aman" digunakan, sepertinya saya cenderung memilih BSD-3-Clause, karena, permissive.

Dan i guess mempermudah orang legal juga saat sertifikasi ISO karena hampir tidak ada perubahan dengan dokumen lama :))

Mari kita tunggu kabar gembira dari Valkey.

Penutup

Jika tertarik dengan perspektif lain terkait perubahan lisensi Redis ini, bisa kunjungi 3 tautan favorit saya berikut:

Sebagai penutup, berikut pertimbangan yang bisa dilakukan menghadapi perubahan lisensi dari Redis®1 tersebut:

  • Jika membuat konten edukasi terkait Redis, bisa pertimbangkan untuk menggantinya dengan alternatif
  • Jika memiliki dokumentasi yang merujuk ke Redis, bisa pertimbangkan untuk menggantinya dengan alternatif

Time to move on.

Trivia
Tidak sedikit yang menganggap jika "open source" berarti "sumber kode nya dapat dilihat oleh siapapun (terbuka)". Meskipun secara teknis tidak salah, definisi open source tidak sebatas kode yang terbuka (yang tidak minified/compiled/obfuscated).


  1. Redis is a registered trademark of Redis Ltd. Any rights therein are reserved to Redis Ltd. Any use by the author is for referential purposes only and does not indicate any sponsorship, endorsement or affiliation between Redis and the author. 

Oldest comments (0)