Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> If they really wanted an open source license which stimulates anyone to share improvements to ElasticSearch they could have picked GPL. As of now, any big company (Facebook, Google, etc) can create an improved internal fork of ElasticSearch which none of the community will ever be able to take advantage of

GPL does not require releasing source code or patches except to those whom you give the binaries. If Facebook creates an improved internal fork of GPL code and runs it inside of Facebook, they can keep their sources/patches private and be in compliance with GPL.

There is a practical advantage to upstreaming your patches: because it makes maintenance easier if those patches are accepted and merged upstream, but there's no legal/license requirement to release them for code that you keep internal to your company.



Isn’t this the situation AGPL3 was written for? It’d probably kill ES and lead to a fork from the latest pre-AGPL3 version, but it’s still an option.


IANAL but I believe that the AGPL would address the case where AGPL code was used in a user facing setting. If the code was used only internally I believe that it is no different from the GPL in this respect.


Correct: AGPL3 is GPL3 + one requirement – any user who communicates to a program must be able to retrieve its source code.

If ES was under AGPL3, AWS' ES server would absolutely fall in scope.

The Facebook example, however, is tricky. You are technically right: the FSF calls this the Service as a Software Substitute (SaaSS) problem[1]. But Facebook can run an AGPL3 project and, as long as they are careful, will not need to expose any changes they make to it.

In practice, Facebook and other big corporations are extremely unlikely to do this. If they get it wrong, they've inadvertently accepted a license they didn't mean to, which could open them up to liability or worse – relicensing things. To prevent this you get a set of approved permissive licenses that are always kosher. If you want to stray off the path there is a set of massive flaming hoops you have to jump through (VP approval? legal review? just the beginning of your fun!) that are designed to convince you that you should chose a different path that involve more permissively licensed software.

[1]: https://www.gnu.org/philosophy/who-does-that-server-really-s...


AWS elasticsearch is user-facing: the users are AWS’s clients.




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

Search: