Hacker News new | past | comments | ask | show | jobs | submit login

The AGPL is nearly 2 decades old, and its tradeoffs are well known among people working in open source. If Elastic had wanted its protections (and restrictions) they easily could have chosen it.



AGPL also harms adoption at companies because of the "invasive" nature of the license. Google, for example, bans the use of any AGPL software. It's too vague for the legal team to confidently understand the "bounds" of the copyleft license.

Permissive licenses like MIT/Apache have historically been what companies prefer to have when evaluating free software. And, generally, it hasn't been a problem for companies like Elastic because companies like Amazon didn't "take" profits from Elastic (and others).

What has shifted is that, where before, there was a "code of honor" that companies could use FOSS software and Elastic would benefit from the uptick in adoption via support contracts, community building libs + writing docs, and encouraging "network effects" for them.

The "cost" of being a FOSS company was lower than the "reaped" benefits of the network effects.

That has shifted with "predatory" behavior from companies like Amazon. That abuse of the "vulnerability" in the FOSS ecosystem is a tragedy of the commons. It means that companies have to be more cautious about what they choose to open source.

This is just my opinion, of course. As a founder of a software company though, I see this as a real struggle. I would prefer have https://refinery.io be an entirely open source tool and we make money via supporting the ecosystem.

Unfortunately, it just isn't clear cut. The best option that I see today is a model like what MongoDB and CockroachDB have with licenses like BSL. But, they're not truly "open source". And that sucks.

We are living in a time where there are no good answers in the face of exploitative behavior by companies like Amazon. It means companies like mine have to maintain a proprietary platform in order to make money.

As a developer, it hurts my ideals. As a business owner, it's a risk I can't afford to take. That's why this behavior is a problem for FOSS.


> What has shifted is that, where before, there was a "code of honor" that companies could use FOSS software and Elastic would benefit from the uptick in adoption via support contracts, community building libs + writing docs, and encouraging "network effects" for them.

I've run a couple of COSS companies and have a few arrows in the back on this subject. The 'code of honor' is not enough to float even a small company. I don't think it ever was.

Most people simply won't pay if they don't have to. It's not just a matter of money. Buying software in established companies can be a head-exploding hassle--as in 6 months of fighting procurement. Plus those do-a-good-deed contracts have a habit of disappearing as soon as there's a budget crunch or the enlightened manager who pushed it through moves to something else.

I'm not knocking such contracts in any way. They are kind of like crowdfunding for OSS and can be lifesavers. But it's naive to build a company on them.

To have a profitable COSS business you need to sell something sticky that customers need and can't get elsewhere, so there's a real exchange of value.


"sell something sticky"

Amazon unsticks anything that isn't nailed down...


In these specific contexts, it's important to stop using the term "FOSS." It just clouds the issue. FOSS is Free Software and software so permissively licensed that it could be relicensed and extended as Free Software. Open Source is simply giving up your ownership of the code one wrote, and this Spirit of Open Source is when one pretends that people won't actually take advantage of explicit grant of rights for reasons.

Open Source is for getting popular, and all of the arguments that Open Source people make against Free Software are about the ability to get popular (corporate usage and corporate contributors.) The reason companies use Open Source is because when you license something that way, it's theirs now. They're investing in their own property.

Free Software doesn't intend to have this problem, and if it sees a problem, it fixes the bug. You don't own Free Software, you own the devices that you install it on. You still might end up competing with someone, but you'll never fall behind.


No FOSS license would have protected ES from the problem they have with Amazon. Amazon is in full compliance with the AGPL for example, so if ES had changed the license from Apache to AGPL, nothing would have changed - that is why they had to move to a non-free license instead.

Basically, their problem is that it's impossible to compete with Amazon on delivering a managed SaaS, and most of their money was coming from that.

In terms of the software itself and user freedoms, the licenses used have achieved their goals - ES is free, people using it can control exactly what they are running, can patch it and redistribute etc. No one owns ES itself, so it is Free Software in your sense.

The people who are having a problem though are the project behind most of the work on this. Now, whether this is a real problem (the company is struggling to remain profitable because of Amazon) or just a fake problem (the company is profitable but it's not growing as expected in some 5 year plan) I don't know, but this is the reason for this type of change.


As someone who has used OSS Elasticsearch, the Amazon managed offering, and the licensed and supported product, I don’t think that’s true.

Amazon has a small team for developing their version and at the end of the day, it has to fit into the operating constraints that they have. There are plenty of huge gaps in managed ES that the vendor can (and does) exploit.


This comment is really insightful. Thank you for the perspective!

It's an interesting idea to think that "Free Software" creates a sort of "distributed code base". In the sense that "code will be eventually pushed to the main repo when the patch is created". That's an interesting perspective.


Not necessarily. "Just" making it free software (eg slapping a GPL v2 on Elasticsearch) doesn't require AWS to share any changes to the codebase, and wouldn't have prevented the current AWS/Elastic drama as it wouldn't have prevented AWS from monetizing Elasticsearch.

Now AGPL might have, if it was used from the start... not because it would prevent any monitization, but because it might bring enough legal uncertainty for AWS to even consider using it


Agreed! No silver bullet. AWS is able to extract value regardless of the license being used.


None of this is new. GNU was founded and developed its licenses to address this issue. But there’s a tradeoff. One that GNU happily accepts. But there has never been a “code of honor” in this space. Give me a break. Companies have been offering Apache- and GPL- licensed software as a service for longer than Elastic has been a company. Elastic wanted to have its cake and eat it too. They overplayed their hand here and now they’re paying the price. They’ll likely soon lose control of the code base. But that’s the whole point of open source.


The whole point of open-source is to curate a useful software commons. Suppose Elastic does lose control of their codebase, and it winds up getting maintained entirely by AWS. Then what's to stop AWS from taking their forked Apache2 code closed-source? Bam, no more ElasticSearch. Without professional maintainers, CVEs will pile up and it will gradually become abandonware.

Suppose Elastic had used GPL instead. Then Amazon's hands are tied to a greater extent, but we still lose out. If AWS is the one maintaining ElasticSearch, then ES will steadily become more and more nichely-suited to being a part of the Amazon cloud and less suited to a self-hosted use case. Users can patch it for their own use-cases, but they'll never be able to make it as good as it would have been if there were full-time maintainers supporting them. The commons still become less rich.

The dream is that Elastic can keep maintaining ES but ES remains Apache2. Given AWS's presence in the market, it seems like that's not an especially viable option. For Elastic to keep maintaining ES while switching ES to a more restrictive license which doesn't prevent normal use cases but hamstrings AWS is less desirable, but still preferable to Elastic folding, because ES remains a tool which we can all use and patch as needed to power our own services.


> Suppose Elastic had used GPL instead. Then Amazon's hands are tied to a greater extent, but we still lose out. If AWS is the one maintaining ElasticSearch, then ES will steadily become more and more nichely-suited to being a part of the Amazon cloud and less suited to a self-hosted use case. Users can patch it for their own use-cases, but they'll never be able to make it as good as it would have been if there were full-time maintainers supporting them. The commons still become less rich.

On the contrary, the commons gets the version of ElasticSearch that is most useful to end users. If Elastic can offer better service to end-users, their deployment will be more popular and people will prefer their patches; if AWS can offer better service to end-users, their deployment will be more popular.


> If Elastic can offer better service to end-users, their deployment will be more popular and people will prefer their patches; if AWS can offer better service to end-users, their deployment will be more popular.

Not really, because Elastic doesn't get money from people using their free product. So, Elastic could theoretically go bankrupt even while providing an arbitrarily more popular ElasticSearch version.

AWS on the other hand is charging money for using their service, so they only need to compete with Elastic on the hosted version of ES. If their fork of ES is very hard to host on your own, that's a net benefit to AWS, regardless of how easy Elastic's fork is in the same scenarios - neither company is making money off the non-hosted version.


ES has to provide a much better service to win. Amazon can use their market power and vendor lock in to drive adoption of a worse service and squeeze out a better ES.

Network effects are great for behemoths but not so good for consumers.


This is a job for antitrust, not licensing.


It sure would be nice if the DOJ in an administration sponsored by Amazon can be relied upon to prosecute an antitrust against Amazon.

I'm skeptical though.


Well, it's actually a job for Elastic, since their primary concern is ensuring that they continue to turn a profit. But I'm certainly not opposed to antitrust.


> The whole point of open-source is to curate a useful software commons.

If that were the point of the licensing, it'd be encoded in the license. This is the branding of the license, which is just innuendo. Amazon doesn't belong to any church that recognizes the spirit of Open Source, instead they just read the license and follow it.


Even if we take out the whole morals aspect of it all, because capitalism, I think this this is really right. Yes on: amazon is free to do whatever the license allows. But no on: if that wee the point of the licensing, it'd be encoded in the license.

I think the point of OSS - and there are various flavors so this isn't some unitary point, but more like a general direction - is the insight that copyright isn't actually a good model for software development. OSS licenses are a hack to sidestep fundementally misdesigned legal structures while staying within them. But because OSS uses licenses to create a more open development model, it's restricted in what it can do; it's "just" an EULA essentially.

Ideally, we'd fix this in the law, not via tricky licenses, but we don't live in a world where that ideal is anywhere even close to a serious enough problem to be addressed - at least, that's my take on "the point of the [OSS] licensing".

The various flavors of OSS try additionally to either use various other approaches to encourage a more open model in a closed world, or conversely don't bother since it's a hopeless endeavor, or vary exactly how open they want things to be; but the general gist is that the license is a hack; it's a design limitation, not by design.


> Amazon doesn't belong to any church that recognizes the spirit of Open Source

Yeah — clearly they're acting in total accordance with their own interests. My point is that they're acting contrary to ours.


Who is "ours" here?

They make perfectly legal use of that code. What they're doing seems to be in my interest because if they do it, it means I could also establish a business using permissive code to run it and hopefully make money off it. It's good news for many wannabe startup founders out there.


People getting mad about a code of honor in a decades old, brutal business environment is truly bizarre to me. This isn't a playground pickup game, it's business.


The business is several decades younger than the ethics.


So, according to some in this thread, as a business owner you are "exploiting open source" by taking more permissively licensed code and making money off it. Shame on you! /s


The people expecting a “code of honor” in American capitalism are hopelessly naive. You may as well ask a lion to observe a code of honor and not target any sickly antelopes.


A strong lion may seemingly indulge such a code of honor for a while - not because of honor, but because healthy antelopes taste better and the lion is fast enough to catch them. But these conditions can change at any moment.

This mirrors how, in general, markets approach human values. They're a nice thing to have if you can afford them, perhaps you can mention them in your marketing - but the moment competition threatens your margins, you'll drop these values to stay competitive. Ethics is a market inefficiency, and expecting companies to behave ethically over time if not explicitly forced to is, indeed, naive.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: