Hacker News new | ask | show | jobs
by danShumway 2352 days ago
> Open Source is pretty clear cut: it does not discriminate. If you get the source, you can do with it what you want (within the terms of the license) and no matter who you are (within the terms of the license). However as Open Source is defined — and also how I see it — Open Source comes with no strings attached. The moment we restrict what you can do with it — like not compete — it becomes something else.

I appreciate this distinction. I don't have anything against a company updating its licenses to remain profitable, as long as they're up-front about what they're doing.

My only complaint about licenses of this nature has been when businesses try to use them to argue that they're still Open Source in spirit, or that the restrictions are just technicalities that everyone should ignore, or that Open Source is doomed and they're here to save everyone.

Not everything needs to be Open Source, but Open Source should mean something.

2 comments

You might also be interested in this essay on "proprietary relicensing" from the Software Freedom Conservancy: https://sfconservancy.org/blog/2020/jan/06/copyleft-equality...
I am! This was an interesting read, thanks.

In particular, I fee like the comment on copyright assignment is an insightful way of explaining why these approaches to licensing often feel inconsistent with company claims to support 'Openness':

> If an entity does not gladly bind itself by its own copyleft license (for example, by accepting third-party contributions to its codebases under that license), we should not treat that entity as a legitimate license steward, nor treat that license as a legitimate FOSS license.

> My only complaint about licenses of this nature has been when businesses try to use them to argue that they're still Open Source in spirit

If a project is still usable in 99.9% of the ways most developers would care about (ie everything except AWS hosting their own paid version), are you saying you don't like it when projects communicate that fact by saying things like, "we're almost open source, except X"?

A better way of stating that would be, "we're Source Available with permissive licenses." Aesprite handles this particularly well; it's very up-front with what its license allows.

I don't inherently have a problem with people saying, "we're almost X, but not quite." However, I disagree that licenses like SSPL are "almost" Open Source, and I disagree that paid hosting is a particularly minor restriction.

To again quote Sentry's post:

> The moment we restrict what you can do with it — like not compete — it becomes something else.

Blocking companies from offering paid hosting has implications, not just on an ideological level but also on a purely practical level. Part of the reason I trust technologies like Matrix or Postgresql is because I'm hopeful that their hosting will be somewhat commoditized. I know that when hosts compete there, they're competing purely on hosting quality, not on software licenses.

If the official hosting services go sour for a truly Open Source project I have the option of self hosting -- but I also know that other companies will likely step up and provide alternative hosting solutions as well. When you restrict the ability to compete with your service, you make that less likely. So Open Source isn't just about the code I can run on my computer, it's also about my ability to delegate to other people. If you restrict my right to delegate hosting to an open market, that's not an insignificant restriction.

And again, not everything has to be Open Source. I use proprietary SaaS services, I even use open-core services like Gitlab. But I recognize that products like Gitlab's enterprise offering comes with substantial limitations.

> I disagree that licenses like SSPL are "almost" Open Source

Again, my definition of "almost" is what 99.9% of developers are actually likely to use it for. Most aren't interested in starting a competitor.

> Blocking companies from offering paid hosting has implications, not just on an ideological level but also on a purely practical level. Part of the reason I trust technologies like Matrix or Postgresql is because I'm hopeful that their hosting will be somewhat commoditized. I know that when hosts compete there, they're competing purely on hosting quality, not on software licenses.

There's nothing stopping companies from competing; they just can't use your code/binaries directly. They're free to implement your protocols themselves, which is very commonly done when people implement OSS implementations of Google or AWS APIs. Matrix isn't code; it's a protocol. If they had released their reference server as commons clause, you would be at exactly the same level of vendor lock-in you are now, because there are already multiple independent OSS server implementations.

> I also know that other companies will likely step up and provide alternative hosting solutions as well. When you restrict the ability to compete with your service, you make that less likely

Can you name a single example of this happening? From what I've seen, even moderately successful services (like Parse) simply die (aka self-hosting only). On the flipside, we have examples like AWS offering best-in-class hosted MongoDB that the mongo guys could never compete with, no matter how hard they try.

Sorry if my response seems combative. I'm mostly trying to improve my own understanding of what I see as a tricky problem. I've released a couple services lately that I would love to open source in some fashion, but there don't seem to be any great solutions.

Amazon doesn’t offer hosted MongoDB service - it’s some other documentDB with sort of compatible API. How can you compare them directly ?
No worries, I don't take it as combative. To be clear, I'm not trying to shame anyone who decides that they can't Open Source something they make. There are positives and negatives to these approaches. I'm also not trying to say that there aren't reasonably ethical, proprietary, Source Available licenses out there.

I still use Aseprite, in part because its license terms are very good, even for a Source Available application. In the art world, some of the Creative Commons licenses are far more restrictive than any Open Source code license could ever be. I don't think the Creative Commons licenses are unethical.

That out of the way:

> Can you name a single example of this happening?

Your own example is quite good.

> we have examples like AWS offering best-in-class hosted MongoDB that the mongo guys could never compete with, no matter how hard they try.

There are two ways of looking at this. One of them is that by outcompeting Mongo, AWS is making it harder to maintain the core software. That's a negative. However, it doesn't mean that the alternative wouldn't also have drawbacks.

The other way of looking at it is that in a world where AWS couldn't Freely build hosting services on top of Mongo, we would be losing out on a best-in-class Mongo hosting solution that the Mongo maintainers could never provide at the same level of quality and reliability. The entire Mongo ecosystem would be worse, because (frankly) the Mongo team is not as good at SaaS as Amazon is.

Sure, Amazon could license the software under separate terms. They can license Oracle Database too. But in both cases, the core license isn't Free (Libre). We're now in a situation where companies are competing on contracts, not just on on hosting, and we're now in a situation where the Mongo maintainers can leverage prices or exclusivity to change how the market looks.

Jumping back the the example of Matrix: yes, Matrix is a protocol. But it's also an Open server implementation (Synapse) that anyone can host for commercial purposes. Having Open server implementations means that what hosts are competing on isn't "who can implement the protocol best", or "who can secure the best licensing agreement". It's just "who can provide good hosting and customer service". The organization behind Matrix does provide their own Synapse hosting, but their explicit goal is that eventually their service will be outcompeted and die.

I would contend that supporting that kind of ecosystem matters for a heck of a lot more than 0.1% of developers. 99.9% of developers are not hosting their own Mongo instance. They're taking advantage of the market. Unless you're planning on rolling your own cloud for every SaaS product you ever launch, the market matters. Every developer who uses a 3rd-party cloud to host their stuff (ie most of them) benefits from companies like Amazon being able to freely offer hosting.

This might sound like a technicality, but it's the same reason why a lot of other things matter in Open Source. I have never read the Linux kernel source code, but the fact that other people have makes me trust it more. I've never compiled a custom kernel, but the fact that other people have means I can get custom kernels for obscure hardware. I have never started a commercial Postgresql hosting service, but the fact that other people have gives me confidence that I will always be able to find a quality Postgresql service when I need hosting for my own projects.

Of course, that Open market has downsides in that there are fewer people funding the software. But those are the same downsides we see in many other core attributes of Open Source. Being able to freely compile and distribute programs has the obvious downside that in practical terms, it is very hard to sell your stuff, regardless of what Richard Stallman would claim.

My goal is not to demonize people who say, "giving up an Open competitive market is a fair tradeoff for supporting core software." My goal is not to demonize people who say, "if I release my game/tool/library as Free (Libre), I won't be able to support myself." I think those are reasonable concerns.

But at the same time, I would challenge you -- if Amazon's ability to host Mongo doesn't matter to 99.9% of developers, why is Amazon making so much money from this? Why are developers choosing AWS over Mongo's SaaS offerings? I would argue that the answer is that AWS is genuinely providing a tangible value to a huge number of programmers, and that those programmers really do care about being able to access 3rd-party hosts offering that kind of value.