|
min. read

PowerSync Supports Fair Source

Conrad Hofmeyr

On May 31, 2024, we announced a new open era for PowerSync and launched PowerSync Open Edition: a free, self-hosted and source-available version of PowerSync that engineers can run on their own servers.

From closed to open

This launch was a significant milestone for us: a once-tightly integrated part of our proprietary app development platform had become an openly available, standalone sync engine with code that could easily be inspected and hosted. It was part of our plan to accelerate the adoption of local-first app development by making a mature sync engine available to all developers eager to experience the developer benefits of the local-first paradigm.

This was no easy journey: besides the significant engineering work to be done, we needed to carefully consider how this edition would be licensed.

Licensing PowerSync Open Edition

As we wrote in May, our licensing discussions happened against the backdrop 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.

This led us to the Functional Source License (FSL), now the flagship license of the Fair Source initiative. As we wrote in May:

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. 

In summary: the only difference between the FSL and an OSI-approved open-source license is the non-compete: you may not use the code to offer something in competition with the licensed project. Additionally, all code under an FSL converts to an OSI-approved license after a period of two years.

Fair Source: a constructive step forward

We believe that the newly launched Fair Source initiative represents a constructive step forward in the software licensing world: by coining a new term (“fair source”) that provides clarity to users of the software regarding the principles and spirit of how the software is licensed. Setting clear expectations is exactly what we sought to achieve when we chose the FSL to license PowerSync.

Moreover, key principles of Fair Source align well with our aims in licensing PowerSync under the FSL:

  • Fair Source provides a reasonable balance between user freedom and developer sustainability.
  • Fair Source software is safe for companies to share and for developers to use.

Therefore, we are excited and proud to align ourselves with the Fair Source movement and to help advance its cause.

Subscribe to receive updates

Thank you! Your submission has been received.
Oops! Something went wrong while submitting the form. Please try again.