Hacker News new | ask | show | jobs
by zeeg 652 days ago
I just wanna remind folks that Open Core is not the same as Open Source. I didn't look at specifics, but I was triggered by this comment:

> Some people call our strategy "open-core" and that's technically right. Still, I'd rather say that we have two pieces of software: one that is open-source and another that is not. I think that's more honest because we're not trying to hide the fact that we're selling a non-open-source version of our software.

I'm not morally opposed to open core software - and any version of more open source is valuable open source to me - but I think its important we do not conflate the two, just as we need to not conflate other approaches like source available.

4 comments

I would argue that they are not in any way exclusive of each other or opposed to each other.

An open source project can be built upon and extended by anyone, and that includes its creators.

We don’t say that an open source project is diminished because some third party productizes it and makes money. PostgreSQL is not diminished by neon or rds.

No, we continue to judge the project on its own merits. If it continues to offer value, to be compelling, well-supported, and stack up well against alternatives, then we keep using it. We don’t think “it doesn’t have all the features of rds, so screw postgres”.

If the commercial side of the project takes away from the oss side and the oss project goes downhill as a result, then that certainly is a frustrating and disappointing outcome. But when both sides are thriving, it’s a fantastic win-win.

The maintainers get to focus their full attention and passion on the project. The community gets better and better software. And people who are willing to pay for advanced or niche use cases get their problems solved too.

Summing up, the problem is not with the whole model of open core, but with specific projects and companies that get it wrong.

There’s no fundamental reason why the oss side and the product side have to be at odds. It’s just freemium, and there are countless successful and beloved freemium products out there who figured out how to get the balance right.

Postgres is not operated by the same people as Neon or Amazon, thats a fundamental difference. I was also not suggesting commercial cannot benefit Open Source (and would in fact quite the opposite).

In general I was not commenting if they're opposed, but suggesting an Open Core project is Open Source is not truthful. "Core" is a meaningless term, and if we suggest any Open Core project is Open Source, I can easily academically argue that the majority of businesses are Open Core, thus Open Source, and we'd all agree that's not true.

This project is Open Core, and thats fine, but Open Core is not inherently Open Source, and if we're going to care about that term in some contexts (e.g. with Fair Source) we need to care about it in all contexts.

I'm not sure I personally agree with this, and I'm not 100% sure the developer community at-large does either...

Let's take a few examples, which I've shared elsewhere in similar discussions:

- GitLab: Open Source or Open Core? Most would say open source, but (I assume) you would argue open core [0].

- Plausible: Open Source or Open Core? They say open source, but it's actually open core [1].

- Cal.com: Open Source or Open Core? They say open source, but once again, open core [2].

- Posthog: Open Source or Open Core? They say open source, but actually open core [3].

- Sidekiq: Open Source or Open Core? Open... core [4].

Yet, every dev I know would consider these projects Open Source... and yet also Open Core. So there's a disconnect somewhere.

Under this mindset, very few open source startups are actually open source, yet everybody says they are?

I'm not trying to argue either way; I'm trying to point out a real disconnect.

Is everybody just open-washing? Why's that allowed?

[0]: https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/LICENS...

[1]: https://github.com/plausible/analytics/blob/2dd2f058d1dcae6f...

[2]: https://github.com/calcom/cal.com/blob/main/packages/feature...

[3]: https://github.com/PostHog/posthog/blob/master/ee/LICENSE

[4]: https://github.com/sidekiq/sidekiq/blob/main/COMM-LICENSE.tx...

This is the problem with the definition. If the product is trurly open source, call it that. If its not, thats ok, but don't. Core has no real definition.

I definitely would never call GitLab Open Source. I can't comment as much on the others. Sidekiq is actually how I think the world should work: its open source, and then they sell Sidekiq Pro. One is Open Source, one isnt. The issue is most people don't operate that way.

GitLab Community Edition is Open Source, GitLab is not. Cal.com isn't open source, but is the Cal product? I'm not sure. Given I started Sentry I can at least use it as an analogy. Early days Sentry was open source, but getsentry.com was not (which was our billing infra). No one would have called Sentry Open Core, because no part of "Sentry" was closed source. That's not true for most Open Core.

> Sidekiq is actually how I think the world should work: its open source, and then they sell Sidekiq Pro. One is Open Source, one isnt. The issue is most people don't operate that way.

I guess this is where I get hung up on this topic. To me, there's no real distinction between Sidekiq's open-source core and proprietary features vs GitLab's. One has their proprietary code closed-source, while the other has it source-available in a monorepo. Functionally though, I don't see the real distinction. If Sidekiq can call itself Open Source by you, then why can't GitLab? They're both doing the same thing in the end, if you really reduce it down to its core (pun intended?).

I think we had a similar discussion before Fair Source launched i.r.t. ELv2 sharing some similarities here. I argued ELv2's license keys are yet another way of accomplishing the same thing, just differently: separating proprietary code from the core (ignoring the non-compete for the sake of this conversation).

whats so confusing about open core?

its open source for the masses and commercial for the very few enterprise with paid addons

https://en.wikipedia.org/wiki/Open-core_model

definitely the best of both—sustainability and freemium OSS for hobbyists and small companies

Open Core locks important part of a product away behind a proprietary license. If you build on it you need to hope that the company will hang around. If it ever goes away you have to hope that they do the right thing a relicense it.
Well the tricky bit is that AFAIK most of these companies have or at least had a full product that was indeed FOSS but then have a cloud offering which is open core.

Provided that the open source product is a close-enough subset of the open core cloud offering I think it's fine to take the easy route of just calling yourself open source although it's certainly a gray area.

There is a distinct Postgres entity which doesn't upsell, that's true. But looking at https://www.postgresql.org/community/contributors/ it seems like most of the actual people are employed to work on Postgres by companies who sell, among other things, proprietary Postgres derivatives and tooling. Maybe if one company came to dominate the list we'd be in trouble..
At neon we only worry about hyperscalers particularly Amazon. But they already have Aurora so we just open source everything under Apache 2.0

Being open is extremely important to us to build trust and we had this since day 1. VCs are fine with it because monetization is all cloud

Open core and open source are orthogonal. Open core is a description of what part is open source. Just because the entirety isnt open source doesn't mean the part that is somehow isn't.

At least that's the idea OP is trying to communicate, which makes sense to me.

I think the author did a great job communicating that some parts of software are fully open, and a few other pieces of code / repost are not.

I like this way better than software with complicated licensing schemes, where you can only use certain packages on Wednesdays.

I disagree. For an open core product the core is actually open source. You can fork it, change it, distribute it. It may have an OSI approved license. You can't do that with a source available product.

Furthermore, you can't even talk about the open core as a part of the closed source product, because the open core application is invariably a whole in and of itself. You could theoretically fork it, improve on it and it could have a life on its own as a 'fully' open source product. You can even make it incompatible with the closed version.

> You can fork it, change it, distribute it. It may have an OSI approved license. You can't do that with a source available product.

Small correction: under popular source-available licenses like the FSL, BUSL, and ELv2, you can fork, modify, and redistribute. These licenses are usually just concerned with cloud competition, which is none of those things. You can still fork, modify, and redistribute your changes, with no copy-left strings.

Still not Open Source like AGPL, but just wanted to clarify. :)

True, I'm not sure I would say these are source-available, but I'm a bit out of touch regarding the jargon around these clauses that guard against cloud competition.

There's a big difference between 'you can look at the source but not use this product in the way it is intended if you make money by doing so' (production use), and 'you can use the source in any way you like, also for production, but not to compete with us'. I've always understood 'source-available' to mean the former because it used to be like that, and the latter to be a slightly restrictive version of open source. Historically, the latter variant also emerged out of competition with the big clouds (mostly AWS), from projects that used to be truly open source, whereas a lot of what I think are source-available licenses come from vendors that were fully closed before or would be if there was no demand to see the source (for example, for security purposes).

They're explicitly not conflating the two.

They say they have a closed source hosted offering, and an open source self-hosted offering.

It's fair to call the overall approach something like 'open core' or 'source available', but when you offer the open core under a license like AGPL, it think it's pretty hard to claim that isn't open source.

When you offer a subset of the product as open, and a subset as not open, its not open source. Pretty simple math for me.

This is not a comment on "which" OSI license they used for the open part, but I will not support people calling Open Core broadly Open Source, as its not.

There's two things. One is open source, the other is not. I don't think it's that underhanded.