Value in Open: EPPlus – Mats & Jan on indie success with PolyForm NonCommercial

Continuing the discussion from Value in Open: PostHog - James Hawkins on VC-funded open source:

Welcome to our second episode of “Value in Open”, a podcast by MeiliSearch about how to do open source as a living. Today I’m speaking with Mats Alm and Jan Källman. They are brothers, and together they have created a company around EPPlus, which is a spreadsheets library for the .NET ecosystem.

EPPlus started out as a regular, open source library, using the LGPL license. But Mats and Jan ran into a classic problem in open source: They made something so popular that it became unsustainable for them to keep developing it as a trivial side project. Faced with the options of either leaving the project or going all-in, they chose the latter. But the way in which they achieved sustainability is quite unconventional by current-day standards.

They didn’t have a product that they could naturally build a commercial service offering around. And their product was so easy to use that there was no point trying to charge for support. The path of least resistance for them, was to put a price tag on their code. No fancy workarounds. Just write code and sell it, using the PolyForm NonCommercial license, which you can read more about in the show notes.

Current-day open source licenses are code-first, developer distant second. They do not take the developer’s well being into account. Standard open source licenses don’t try to set the developer up for success; their only concern is ease of adoption for the code , at any cost. I’m speaking here as someone whose personal idea of a license utopia is a world where the vast majority of software exists under MIT style, permissive licenses. That’s the end-game I wish for. But I firmly believe that getting there will require a mix of licenses that challenge and expand our idea of openness.

Open source has an exploitation problem. The largest companies in the world have figured out how to extract massive amounts of value from open source creators without contributing a fair share back. For non-commercial users, PolyForm NonCommercial functions much like any other open source license. Source code is available and it can be modified and redistributed. Only for commercial users do the rules change. Only the people who are using EPPlus to make more money have to pay for it. There is a beautiful simplicity to that.

Is this license the solution to all our problems? Not at all. Will it fit every open source project? Nope. Is it a good fit for EPPlus? With enough income to pay for two full-time developers, I would call it a raging success! Please keep an open mind, and enjoy the episode.

As I tried to emphasize in the tweet above, I think this story is very necessary for the ongoing dialog about open source sustainability. Simply putting a price tag on the work you’ve done and actually making ends meet is nearly unheard of in open source. Rather than having to sell their future (support, services, updates, they get to sell the sizable work investment of their past leading up to present time.


Added to

1 Like

I’d like sales platform similar to what the EPPlus guys have, but with subscriptions that grant perpetual licenses. Probably makes sense to just build my own.

@kemitchell Any updated thoughts on the new direction?

I’m thinking of having a licensing identifier that is also a date, and then a subscription would grant a license to all versions of the software with LICENSING_ID <= NEXT_PAYMENT_DUE + GRACE_PERIOD. Security bug fix releases would keep the LICENSING_ID from their major.minor release, but otherwise I’d bump LICENSING_ID to the current date with every code release.

Setting aside the technical implementation details, what’s the licensing model you have in mind? What do people get when they pay the stated price?

The licensing model would be public/private, similar to License Zero and the current iteration of strictEq. Customers would buy private licenses that grant them the right to use the software without the non-commercial/copy-left type conditions of the public license.

Open-core and other business models don’t make as much sense for the software I’m developing (dev tools and libraries).

Panic’s Nova text editor uses a similar model of a perpetual license with upgrades on subscription. I think they only offer binaries though.

My feeling is that the idea of purchasing individual releases is a relic from the days when software was sold in shrink-wrapped boxes.

1 Like

I rarely see that any more.

Licensing a major version and subsequent minor updates happens all the time.

Yes, but that’s basically what I meant by an individual release. Sooner or later the free updates have to stop, otherwise the only way to maintain revenue is to keep chasing new customers.

Anyway, I’ll try it with subscriptions, and report back on the reaction.

1 Like