May 30, 2024
May 31, 2024

A New Open Era for PowerSync

Conrad Hofmeyr

Today we announced a big milestone at Local-First Conf: the launch of PowerSync Open Edition, a free self-hosted and source-available version of PowerSync. In this post, I will provide background on the philosophy and vision that led us here and will guide us into the future.

Why an Open Edition?

There are undoubtedly many benefits to open-source software: End-users benefit from the transparency and freedom — they can freely access, use, review, copy, modify, redistribute and collaborate on the code. Creators/maintainers benefit from the fact that open collaboration within a developer community is the best way to build software. Having a community of developers reviewing, giving feedback and contributing to code results in the best possible end-product.

Not surprisingly, many organizations and individuals value the freedom and openness that comes with open-source software. At the same time, in recent years many developers have realized that sustainability is key to open-source. Underfunding of open-source projects has caused disastrous cases such as the OpenSSL Heartbleed and Log4Shell vulnerabilities. Adequately funding the investment in open-source development is important. As a result, organizations creating open-source projects have prioritized the ability to build a healthy business. Models have emerged such as open-core, where the core of the product is open-source, and premium/advanced features (typically aimed at larger commercial deployments) are available as add-ons.

Even before we launched the first beta of PowerSync in mid-2023, we planned on moving to an “open-core”-like model, and have now made that a reality.

What is the Open Edition?

Your first reaction to this news may be to wonder whether the “Open Edition” is merely a watered-down or hamstrung version of PowerSync. We wanted to avoid that mistake. It was important for us to make sure that our Open Edition is powerful and capable — it should include everything that makes the core value proposition of PowerSync possible. 

Here is how we decided to structure the available editions of PowerSync:

  • PowerSync Cloud: The cloud-hosted version of PowerSync that’s been available since we originally launched in 2023. Offers Free, Pro and Enterprise plans. The Enterprise plan will eventually offer some premium features focused on larger enterprises. Includes the PowerSync Dashboard: a visual interface for managing PowerSync instances.
  • PowerSync Enterprise Self-Hosted Edition: (released 2024-05-16) A self-hosted version of our Enterprise plan, for enterprise customers who require advanced features, support and compliance, while also needing control of their own hosting. This edition will eventually also offer additional premium features focused on larger and more complex deployments.
  • PowerSync Open Edition: The free, self-hosted, source-available version of PowerSync that contains all the same core functionality as PowerSync Cloud and Enterprise Self-hosted. Does not include the PowerSync Dashboard.

We are already investing millions of dollars into the R&D of PowerSync, and our commercial editions will enable us to continue to support and sponsor our Open Edition.

Why now?

PowerSync was spun off in 2023 from a closed-sourced cloud-hosted product (a rapid app development platform). Offering an open-core self-hosted product was not something that we had done before. Getting the organizational, legal and technical aspects ready was altogether a significant project for us. We started laying the groundwork last year, and have now reached our release milestone.

How is it licensed?

If you’ve been paying attention to major open-source projects in the last few years, you may be well aware of the “open-source licensing war”. Big cloud providers have taken successful open-source products and provided them as a service, capturing virtually all the value and not investing back into the community. This has been widely characterized as against the spirit of open-source. The creators of major open-source projects fought back by switching to licenses that protect them against “free-riding” and unfair competition — by restricting other cloud service providers from offering the product as a service, while preserving the principles of openness, transparency, and collaboration. 

However, these changes in licensing were not without significant controversy: Developers saw it as a bait-and-switch. For years, major open-source projects flourished under fully permissive licensing, and then changed the licensing after achieving widespread adoption. 

In deciding on licensing for the PowerSync Open Edition, we realized that we never wanted to be in a future position where we had to backtrack on our licensing. We wanted to choose a license from the start that we can stick to indefinitely.

After careful consideration, we settled on adopting the Functional Source License (FSL) created by Sentry. The goal of the FSL is to balance user freedom and developer sustainability. As Sentry explains, “In plain language, you can do anything with FSL software except economically undermine its producer through harmful free-riding. You can read it, learn from it, run it internally, modify it, and propose improvements back to the producer.”

The FSL gives you freedom to do almost anything you could do with a regular open-source license: copy, modify, and redistribute the code for non-commercial and commercial use. The only thing it disallows is providing a paid offering that is competitive to the creator — that right is reserved for the main creator/maintainer of the project. 

Another important aspect of the FSL is that the licensed software converts to a permissive license 2 years after its release. In the case of PowerSync Open Edition, we chose the Apache 2.0 license as our ‘Future License’ in the FSL. Unlike the MIT license, the Apache 2.0 license includes an explicit grant of patent rights from contributors/maintainers to users, which protects our users from patent litigation related to their use of the software. Since we are the primary maintainers, and since we hold related patents, we felt the Apache 2.0 license would provide users with peace of mind and legal clarity.

FSL is not technically “open-source”, because it doesn’t meet the strict criteria of the Open Source Initiative (OSI) which governs the official open-source definition (in which no usage restrictions are permitted). FSL is better described as a “source-available” license. Some folks have described FSL as “eventually open-source” because of the conversion to an OSI-approved license after 2 years. As Confluent has noted, some people use the phrase “open-source” in a loose sense to mean that you can freely download, modify, and redistribute the code, and those things are all true under a license like the FSL.

Lastly, it’s worth noting that only the server-side PowerSync Service is licensed under FSL. Since we want to make our software as open as possible, our client SDKs and other supporting client-side packages are open-source under OSI-approved permissive licenses (Apache 2.0 and MIT).

Looking ahead

We are excited to enter this new era of openness and transparency. We look forward to collaborating with the PowerSync developer community to take PowerSync to new heights, as well as with the broader local-first community to help accelerate the adoption of local-first.

We are pleased that the release of the Open Edition brings several immediate benefits to developers using PowerSync: You can inspect the code. You can debug it more easily. You can fork and modify it when needed. You can use it without having to worry about pricing or any commercial aspects. And you are not locked into a proprietary vendor, so you never have to worry about the future of the project’s creator.

Feedback or questions? Join us on Discord to discuss.