back

by softwaredoug·7y ago·view on hn ↗
I wonder with Amazon if we’re seeing a failure mode of Apache and BSD licenses, and if the future OSS might trend back towards more aggressively being copy left... or some place in between.
6 comments
I'm actually not sure how this is a failure mode of those licenses.

I thought the point of permissive licenses over copyleft licenses is that you're explicitly granting companies the right to make money off your code without giving anything back.

It's the difference between believing that what matters is user rights and sharing code, and believing that what matters is the world containing more cool stuff.

Tim O'Reilly has a story (which I'll probably butcher) where after publishing the BSD manuals as books he was accused by someone at a conference of stealing the author's work. One of the authors stood up and said something like "Actually what Tim is doing is exactly what we want - spreading the material as widely as possible and making it as useful as possible. We knew exactly what we were doing choosing that license".

It's the same spirit in which MacOS being based on BSD is fine, even if not a single line of code is shared back. The question isn't "What did Apple share back to BSD programmers recently?", it's "Is the world a better place with MacOS in it as something people can choose to use?".

The same applies to Amazon. It simply wouldn't have been possible to build something like Amazon purely on proprietary code, running only proprietary OSes and services. Even if they had, it would have been a lot less interesting. I think it's pretty clear that the world is a better place with services like AWS available. As long as they follow the licenses of the software they use, there isn't a problem, but if some licensors disagree they can always change their license.

Yeah, what has failed is the idea that licenses are all basically the same and thus you should choose whatever license all the cool kids are using lately. We're seeing that licenses matter and you can't choose a permissive license and later complain about "the spirit of open source".
Right. These licenses are a thin layer on top of public domain mostly to disclaim liability. The whole point is that you don’t care what anyone else does with it.

If you want a quid pro quo, then you should have been using copyleft (or something else) all along.

You might be interested in this work: https://blog.licensezero.com/2018/11/24/parity-5.0.0.html
I don't think the existing permissive to copyleft spectrum is what matters here. MongoDB, for example, was previously licensed under the AGPL, which is the most aggressive OSI-approved copyleft license I can think of, but they still felt the need to adopt a controversial new license targeted at cloud providers. For another example, Redis Labs didn't decide to adopt a stronger copyleft license for their extensions, they decided to make them proprietary.
I really hope not, the fact that all of these services are based on OSS software is what will help keep Amazon in check as they grow, because at the end of the day if AWS starts to turn into Oracle and get abusive with their pricing/licensing then the customer has a lot more leverage to move to another cloud or self host.

To me, the fact that AWS is basing all their services OSS is a good thing for consumers. The thought of it all being proprietary is what would scare me.

If they aren’t open sourcing the innovations they make on top of open source software, then it is proprietary software.

I think amazon are unlikely to give up any competitive advantage they are not forced to give up.

> If they aren’t open sourcing the innovations they make on top of open source software

I'm not sure I'm reading your statement correctly, but it sounds like you're saying that anything not developed under a copyleft license is proprietary.

If it was important for authors to receive contributions from derivative works, why would they have selected a license that doesn't require that?

I don’t see how you interpreted it that way - anything released with a proprietary license, or closed source and not released at all, is proprietary. The fact that it’s derivative of an MIT or similarly licensed work makes no difference.
Yes, sorry, I thought you were giving it a normative interpretation, but you were just stating a fact.

I agree that your statement is correct.

The innovations Amazon ads are useless outside of Amazon. Everything is about scaling open source systems inside of the Amazon ecosystem. It's not going to be usable or useful anywhere else.
That’s difficult to discuss without knowing the details, but it’s hard to believe that there isn’t anything that is of use to someone outside of amazon, even other cloud providers. There must be some efficiency gains somewhere that would benefit the original software.
Maybe minimal benefits to other cloud providers, but hardly something you'd need in the core library. I think Amazon should contribute more to open source, but I certainly wouldn't think any company should release something that would only benefit it's competitors.
It is essentially a case of letter vs spirit - using it unmodified doesn't require a contribution. I never got hired by Amazon but I believe their work is technically schema and configuration. No license I am aware of calls for such radical transparency.
Good luck self-hosting DynamoDB and your AWS Lambdas...
There are DynamoDB Local[1] and AWS SAM CLI[2], both from AWS, which allow you to self-host DynamoDB and AWS Lambda functions. ;)

That said, I agree with your argument, but found it rather funny that you just picked two AWS services you can indeed run locally.

[1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerg...

[2]: https://github.com/awslabs/aws-sam-cli/

These are meant for anything more than dev testing though. All the big clouds offer various dev/local versions of their hosted products that are usually just wrappers around sqlite or rocksdb to emulate the interfaces.
DynamoDB is really only good for testing since it uses SQLite underneath.
All the more reason for an AWS managed version of MongoDB and Knative...
The only reason that's never going to happen is because Mongo's licensing prevents it.
Even GPL wouldn't stop Amazon from offering API interfaces to services built on GPL software. They're not selling/distributing the software. AGPL and similar provisions might work, but then you risk alienating most commercial interest.

Many either don't understand or don't want to take on any risk associated with some kinds of licensing or barriers in certain situations. Right now I've had to work around calling a GPL executable (pngquant), simply because we don't want to have to require it as a separate install. So switched to an alternative implementation.

It just depends on where you are, where your business is, and what you're working towards/against. It's hard to find a balance. And it will take some time to flush out. MongoDB and Redis come to mind here. They have to make some money to pay their bills and developers, also profit isn't a bad word. At the same time, huge cloud providers are offering services using their software and the devs make nothing. I get both sides here. There's no perfect solution here.

I am quite on fence about this topic. I think the best way for Amazon to do is to make contributions to the OSS organizations that helps them making so much money, if they choose not to give their source code back to the community.
Amazon sell thousands of things under their own brands that they cherry-picked from their vendors' products and sales data. It is unlikely to matter if your software is open source, it just means making an alternative which they've already done for everything from chairs to Java.

If they're going to compete on $1.28 shower hooks there's no proprietary SaaS with millions in MRR on AWS that will be too hard to copy.

https://www.amazon.com/AmazonBasics/b?node=10112675011