Keygen is now Fair SourceStar us on GitHub arrow_right_alt

Longevity, or abandonware?

Wednesday, October 30th 2024Avatar for the author, Zeke Gabrielse, Founder of KeygenZeke Gabrielse, Founder of Keygen

In most business relationships, benefits offered to paid customers and to free users very often favor the customer. The customer subsidizes the user in most software businesses — it's how a business can make the financials of "free" work. Because of that, the customer should always take precedence — their support requests should be priority, their feature requests should be priority, their stability and uptime should be priority, their longevity should be priority.

And then you have open core, which flips that last bit. Under a typical open core relationship, the free users of the open source "core" have the benefit of 'longevity', while the paid customers of the proprietary bits are left holding the proverbial bag.

In fact, the paid customers are very often left with abandonware. The users get 'longevity' or whatever the COSS steward is selling, but customers get no such thing (a reality often misunderstood).

This is crazy to me — to prioritize longevity for users that don't tangibly support you, yet abandon the ones that do. This is backwards to any sane business relationship — the customer should be prioritized.

Under open core, if an author abandons the project or takes the project in a 'bad' direction, there are usually a couple scenarios.

As a free user of the core, there are avenues to fulfill that promise of 'longevity' — but not without work on somebody's part. In order to 'pick up the pieces', the community must 'band together' — or at the very least somebody with the means — to maintain a fork.

As a customer and user of the proprietary bits, it's a very different story. Without a non-typical commercial license, that promise of 'longevity' ends up not being a promise to you. You can't fork, and you can't maintain the proprietary bits, at least not forever.

Let me expound upon that last bit: 'forever.' Very often, the propriety bits of open core software is under commercial terms mirroring GitLab's enterprise license, which does allow modification.

But there's a caveat.

Those terms allow modification as long as the subscription is current. But what happens when the company is gone and no longer renewing subscriptions? It's easy to infer — you can no longer legally modify the proprietary bits, because your license has expired.

Now there are some open core projects that make promises to open source their proprietary bits, but these 'promises' are cheap. Without that promise of 'longevity' being codified into the license itself, to a customer, it's as good as a pinky swear.

This issue of 'longevity' is the entire reason I relicensed from ELv2 to FCL. The ELv2 had the same 'longevity' issue that open core has, and to offer abandonware to my customers yet longevity to users didn't sit well with me, and I spent a considerable amount of time fixing that.

My customers actually noticed this disparity, and brought it up, but a lot never do. Some customers of open core software read the promises of 'longevity' and never actually realize the promise isn't being made to them — it's being made to the free users.

(I'd like to clarify that Keygen isn't open source, and it isn't open core. Keygen is fair source, or if we're being particular, it's "fair core.")

Under fair source, if an author abandons its customers, or goes in an 'bad' direction, there's a fail-safe called DOSP, which allows the customer to 'pick up the pieces', just like a free user.

The key difference between open core and fair core, from a customer's point of view, is that fail-safe: a guarantee that if anything goes 'badly', after 2 years, both the core and the proprietary bits are fully open sourced. No need for pinky swears — it's all codified in the license.

(Arguably, an open core and fair source fusion could exist — where the proprietary bits undergo DOSP — but nobody's done that yet.)

From the user's point of view, fair source offers very similar freedoms to open source — at least those relevant to the topic at hand — they can fork, modify, and use in nearly all circumstances.

From the customer's point of view, which would you prefer —

Longevity, or abandonware?