Feb 17, 2020


Last weekend now defunct project ABC put up a press release that explained how they decided to whitelist their friends’ projects. One of the rules was quite specific in excluding exactly one project, another was written specifically to exclude exactly one other project.

On second read it becomes clear that the rules they wrote were handpicked to discriminate against certain projects.

ABC invented a rule that reads “The project must use open source software licenses compatible with other projects in the Bitcoin Cash ecosystem.”. I believe this one was written with Flowee in mind as Flowee’s choice of license has for a long time been a point of contention with the ABC people.

Goal of licensing

There is a slight difference in software licensing between Flowee and ABC that is irrelevant to almost everyone using the software, but as the ABC people highlighted it in their press release I will explain why this difference exists.

The goal of using open source for financial software is mostly to allow people to proof-read the code and make sure that nothing improper happens in the software that they depend on. It also allows to avoid lock-in as you can hire a different group to copy and fix the software at any time.

In Flowee we have those same goals, but we have additional ones as well. Flowee prioritizes creating community. Flowee aims for people and companies to work together on creating infrastructure instead of them competing by creating their own separate infrastructure.

As a result Flowee prefers the incentives created by the so called “protective licenses”(wikipedia). A company that contributes a feature under this type of license will be protected from competitors benefiting unequally.

Take for example the wallets and point of sale systems. When Bitcoin Cash started in 2017 we wanted to modify an open source PoS system, but there were zero available. We had to wait for some time before new ones were written, nothing was available to modify in order to support Bitcoin Cash. And to this day there is not a single point of sale system that has an active community of contributors.

We have a very active community in general, a good section of those people will have development skills. But what we see in real life is a certain lack of community-building around projects. It is not hard to understand why this is:

People may want to help an open source project, but when a popular wallet gets upgraded and there is no source code for months, any outside contributors will shun the project and take their time elsewhere. This actually happened recently, and is not an unusual occurrence.

A permissive license (like ABC uses) allows maintainers to fail the community in this way. There is no requirement to ship code that goes with the binaries.

The protective license that Flowee chose does not allow such a move. It protects the contributor. It protects the community. No one is more equal than any other. It is against the law to release a binary download without providing sources when asked for.

A license type that is protective of the contributor, of software freedom, is the cornerstone to create the incentives that build communities. And this is why Flowee chose a protective license.

Company usage

People want to run Flowee products in their company while keeping their own trade secrets, secret. This is completely legal and has several precedents in law. Companies can safely run Flowee products on their own servers and use the provided functionality over the network. This entirely isolates them from the choice of license of main Flowee components. To the user / programmer there is no difference between the ABC or the Flowee license in their responsibilities or rights.

We encourage any new features in Flowee code to be sent back to Flowee for integration, but there is no requirement to do so as long as they don’t distribute the software or binaries.

Community is life

The protective license type is one of the most picked one for free software in the world. Even within the Bitcoin Cash ecosystem Flowee is far from being alone in its choice of protective license. Mining software uses the same license, various other components in our ecosystem do too.

Freedom software is the most clear choice for infrastructure. Many people benefit from having well maintained infrastructure and a lot of value is lost when there is none. Similarly how it’s more expensive to have a diner when there are no roads that allow your deliveries to get there.

Flowee is aiming squarely at building infrastructure. The full node, like the ABC software, is just a small part of that and Flowee ships its own called “The Hub”. Infrastructure is all the parts that individuals and companies use as a base to build their own value on top of. This includes libraries and indexing servers and many others such services that surround the hub.

The thing that all infrastructure has in common is how it will be useful to new companies starting to deal with Bitcoin Cash. In contrary to most businesses this is actually something that the incumbents benefit from due to Bitcoin being cash. More companies entering and creating products increases the value of the coin and thus everyone’s holdings and future earnings.

Companies almost always have a short term incentive to contribute to an infrastructure project, and those companies are welcome to fix issues, create features and anything else that brings more benefit to Flowee and its users.

Because in the end the value created in infrastructure will end up giving back to all players and it will additionally accelerate growth of our economy, which creates more future value for our coin.

Image credit: Jeramey Jannene