विठ्ठलमाऊलीज्ञानेश्वरतुकारामपांडुरंगहरिएकनाथनामदेवरामकृष्णसोपानमुक्ताबाईचोखामेळाजनाबाईगोरा कुंभारॐ
← मुखपृष्ठ॥ श्री ॥№ 046

The Fork Survived but the Community Did Not

License forks preserve the code and fracture the thing that made the code valuable.


The hook

Two weeks after Redis changed its license, I watched our infrastructure team spend two full engineering weeks evaluating Valkey. Testing Lua scripts, checking Sentinel migration paths, reading compatibility matrices. Not a single line of product code shipped. We lost a sprint to a licensing decision made by someone else's board.


विष्णुमय जग वैष्णवांचा धर्म · The World Is Vishnu; the Vaishnava's Dharma

विष्णुमय जग वैष्णवांचा धर्म । भेदाभेदभ्रम अमंगळ ॥
कोणा ही जीवाचा न घडो मत्सर ॥
तुका म्हणे एका देहाचे अवयव । सुख दुःख जीव भोग पावे ॥
All parts belong to one body; when one part is cut, the whole body feels the pain. Division based on labels is inauspicious.


What I keep seeing

In March 2024, Redis Labs changed the Redis license from BSD to a dual license under RSAL and SSPL. Within weeks, the Linux Foundation announced Valkey, a fork backed by AWS, Google, Oracle, and Ericsson. Seven months earlier, HashiCorp had moved Terraform from the Mozilla Public License to the Business Source License. OpenTofu forked. Same pattern: real contributors, real sponsors, real CI pipelines on day one.

Both forks are alive. Both are shipping releases. Both ecosystems are now worse off than before the split. The Terraform provider registry, thousands of community-contributed providers, now has to be mirrored and maintained separately for OpenTofu. Plugin authors decide which project to target, or burn time maintaining compatibility with both. Neither gets their full attention. The Redis module ecosystem (RedisJSON, RediSearch, RedisGraph) is a question mark: which modules work with Valkey, which are Redis-only, which are quietly abandoned?

I have seen this movie before. I watched it with Elastic and OpenSearch. Five years after that fork, the plugin ecosystem is fragmented, the documentation is split, and engineers have to specify which flavor they mean on their resume. Nobody won. The total value is less than what one unified project would have generated.

The mechanics

Open-source communities generate value through compounding. One person writes a core. Ten people write modules. A hundred people write tutorials, Stack Overflow answers, conference talks. A thousand people file bugs that improve edge cases. This compounding only works when everyone builds on the same foundation. The network effect is the product.

When a fork happens, the compounding fractures. Contributors choose a side or split their time. Conference talks need a disclaimer. Job postings that say "Redis experience" become ambiguous. Monitoring tools like Datadog have to decide which fork to support natively. The code is identical on day one. By month six, the APIs drift. By year two, they are meaningfully different projects with different performance characteristics and different operational playbooks.

Division is not multiplication. It is subtraction with extra steps.

Where Tuka comes in

Tukaram's verse is not about tolerance. It is about anatomy. एका देहाचे अवयव: these are limbs of one body. When he says सुख दुःख जीव भोग पावे (the being experiences both the pleasure and the pain), he is describing a physical fact, not a moral aspiration. You cannot cut your hand and expect only the hand to hurt.

Open-source communities are the same kind of body. भेदाभेदभ्रम अमंगळ: the confusion of separateness is inauspicious. Tukaram does not say the separation itself is wrong. He says the भ्रम, the illusion, is the problem. The fork maintainers believe they have created an independent project. They have not. They have created a wound in a shared body, and both halves feel it.

What I would actually do

Stop treating open-source licenses as a religious identity and start treating them as a business interface. If you build on a project with a permissive license, budget engineering time for the possibility of a license change, the same way you budget for API deprecations. Maintain a thin abstraction layer over any infrastructure dependency: databases, caches, message queues, IaC tools. Not thick. Thin enough that if Redis becomes Valkey, the migration is a configuration change and a test suite run, not a two-week evaluation. And when your team contributes upstream, contribute to the project with the larger active contributor base, not the one with the license you prefer on principle. Compounding only works at scale. Pick the bigger body.

Chetan Dhandal

Xb8IiMO1nc
← Previousदुजे खंडे तरी
Next →आम्ही तरी आस