I’ve talked to many of Replicache’s customers personally about this upcoming change, but wanted to write down and publish all the details well ahead of time for complete transparency and to ensure there are no surprises.

Our goal is that every one of our existing users will be able to come along with us on this change and we think we’ve achieved that. If you have concerns or comments, please let us know either on Discord or at [email protected].

Summary

Replicache is going closed-source.

Nothing changes until Replicache v10, which is anticipated mid-April.

Even for v10, we do not anticipate any impact for most users. All you will have to do is follow a few instructions and obtain a license, which is easy to do. Otherwise using Replicache remains the same.

Our pricing for commercial projects is changing (see Pricing). The main change is that we will begin charging for funded or revenue-generating commercial projects after two months, instead of waiting for 500 monthly actives.

If you use the Replicache source code for any reason, as opposed to the npm package, then please talk to us about source access.

Background

Replicache has never been Open Source. It is currently licensed using the Business Source License (BSL), which is kind of a middle ground between Open Source and Closed Source.

The BSL was invented by MariaDB and is well-known as CockroachDB’s license. It is popular with infrastructure service products like hosted databases. The idea is that the code is available and you can use it for any purpose, ****with some key restrictions. For example, CockroachDB’s usage of the BSL restricts you from using the code to create a competing DB as a Service company.

We have experienced a few concrete problems with this setup:

  1. It has proven awkward to have the code available, but not truly open source. There have been occasions where people found Replicache, started reviewing how it worked, became interested in creating something competitive, and only then realized that the license prevented them from doing that.
  2. While you can add restrictions to the BSL, there are some parts that aren’t customizable. For example, the BSL always allows users to use code indefinitely if not “in production”. This differs from how we want our pricing to work.
  3. The half-open source nature of the BSL creates a weird relationship with contributors. People assume that projects on Github will accept PRs. We will, but we also want to retain copyright of the Replicache source code. So we must require people sign a contributor agreement, but they usually only realize that after they’ve made the change.

More generally we just got to the point where the BSL middle-ground didn’t feel right for us. We are creating a business for the long term. The core of our business is the Replicache client, and that’s what we charge money for. While it is true that the source code is only part of the value of a technical product like ours, it’s an important part, and one we want to protect to the extent possible.

As is frequently pointed out in open source, licensing has nothing to do with pricing. We will continue to offer Replicache completely free to non-commercial projects, and also to small commercial projects.

Details

Starting in Replicache v10, Replicache will be licensed using our shiny new Rocicorp Terms of Service. We have put quite a bit of effort into making them clear and easy to read. We encourage you to do so.

The replicache GitHub will go private. The npm packages will remain publicly accessible, but will contain only minimized/obfuscated code.