The AGPL is just an updated GPL. Back when software mostly came in boxes, the GPL was as feared as the AGPL is now. Now that software mostly comes from the internet, the AGPL is there to address this new distribution method. Now the AGPL is the new cancer.
Overzealous lawyers trying to "protect" copyrights have indoctrinated an entire generation of hackers that sharing code is a danger and the AGPL is the prime threat. I have spoken to too many Apple, Microsoft, Facebook, or Google employees that are convinced that sharing their source code would be tantamount to death. The result is a world where their secret software controls the news we read, the ads we see, the people we talk to, and even the emotions we feel.
"Open source, but licensed under the AGPL.", says the article. There is no "but" here. The AGPL is the very definition of "open source", because it defends openness. If you have nothing to fear from open source, you have nothing to fear from the AGPL.
> The AGPL is just an updated GPL.
The AGPL is significantly more than an updated GPL and there are loads of companies which have a blanket policy in place to not even get anywhere close to AGPL code because of the uncertainties about how it actually works.
> The AGPL is the very definition of "open source", because it defends openness.
Maybe it's the definition of free software but it's definitely not the definition of open source. Many of us in the open source community see our work as something that should be open for everybody to use.
AGPL is an open source license, according to OSI, the only authority on what constitutes open source. https://opensource.org/licenses/AGPL-3.0
You say "open for everybody to use". Both open source licenses and free/libre licences guarantee that the software is open for use. You're actually talking about freedom to combine with closed source/proprietary software, not about end-users freedom to use the software.
I'm curious as to why. The GPL has manifestly built the modern internet (cloud servers are mostly Linux, most IT startups use Linux, etc.)
There are other open source licences which are also widely used (Apache, BSD, MIT). So I think the key thing to this wide-spread success is open source in general, and not the license in particular.
Would you say that the GPL is negative? I.e. would we have been better off of Linux was BSD licenses? If so, why? If not, why be against the GPL?
So, a fair amount of the opposition to using AGPL software isn't based on some deep rooted belief that's it's somehow evil or a cancer. Just a reasonable belief that using APGL software internally might open up unreasonable risk.
I would think that the FSF would be okay with that. Companies that are unwilling to comply with the AGPL avoiding it entirely, versus using APGL software and not abiding by the license. There are certainly companies that contribute back to open source, but only for a subset of the available open source licenses.
My two cents:
The irony is that the GPL was meant to protect users' freedom, and cloud services are a giant unforeseen loophole in the GPL that is even more abusive of user freedoms than old school proprietary software (NSA, ad trackers, forced upgrades, censorship, mass deletions, etc).
There is more money in closed source centralized services, and the FSF was afraid to stand up for the principles it was founded on.
I hope the industry eventually rebuilds itself on the AGPL (and BSL + AGPL for active, commercially developed stuff), but the fight will be at least as hard as mainstreaming the gpl was.
That's not the worry about the AGPL. It's clearly a valid license; nobody is claiming otherwise. The worry is that it's too valid, and nobody has defined exactly what interacting with it over the network means. If I run a public-facing, auth-requiring RethinkDB server, am I obligated to make source available to anyone who connects to it? If my build system sucks (and most build systems do suck), am I legally liable for not providing a working build script that a third party can use, even if every patch I have is in a public bugtracker?
The lawyers who worry about the AGPL aren't lawyers who worry about FOSS in general, as was the case with the GPL. These are lawyers who encourage use of GPL software, who usually oversee release of code under the GPL, etc. The AGPL is different, or at least is seen differently by lawyers who accept every other OSI-approved license. Calling it "just an updated GPL" may well be ideologically true, but it makes it difficult to address the actual objection to the AGPL that's not an objection to the GPL.
We know, now, that we have "nothing to fear" from open source, but also that commercial software companies should care about the difference between e.g. simple permissive licenses and the GPL. The entire iOS app ecosystem, for instance, runs on a rich community of MIT/BSD-licensed libraries. Nobody "fears" the GPL, but everyone knows not to use it.
In the same way, it's entirely reasonable for organizations to determine that for a specific use case, both simple permissive licenses and GPL-style licenses are fine, but AGPL-style ones aren't.
Yes, that is precisely what the AGPL means. If you have some proprietary web application that is the user of RethinkDB that your users connect to instead, then no, since the modifications are only used internally by you.
The goal here is to prevent SaaS-ification of AGPL'ed applications, if you host an application under the license and make it available to others you can't hide your changes just because the users aren't directly installing the binaries.
> If my build system sucks (and most build systems do suck), am I legally liable for not providing a working build script that a third party can use, even if every patch I have is in a public bugtracker?
The A/GPL does require you provide the neccesary tooling or instructions to build the source, so, yes.
> In the same way, it's entirely reasonable for organizations to determine that for a specific use case, both simple permissive licenses and GPL-style licenses are fine, but AGPL-style ones aren't.
If you're trying to make money off the backs of GPL'ed software by making modifications to it and then throwing it behind a service so you don't technically have to redistribute your changes then, yes, you should be wary of the AGPL. You should also feel ashamed of yourself.
That being said, there's some projects licensed under the AGPL that have given me pause, like GhostScript. I've had to yank that out of projects, because even though they are used internally-only, we are linking to the code which means the project as a whole becomes AGPL licensed. Things like MongoDB/RethinkDB are non-issues since they are only being accessed over the network, the client can be licensed under whatever they damn well want.
When I built the Qbix Platform[1] my vision was to re-decentralize the social web. Like Wordpress but to disrupt walled gardens of Facebook, Google+, etc.
I envisioned a community of developers freely building apps on this platform and organizations installing them like Wordpress.
Thus I wanted to open source it. But our company was funded by investors and we had big dreams of being the main supplier of our software.
We didn't want to put it out there and have it be immediately forked and taken away from us by Facebook or Google, who would then roll it out to all their users.
I wanted a way to all indie developers be free to develop and contribute to the long tail of apps on this platform. While at the same time not giving a free gift to the giant corporations who I felt could abuse it and take it over, like they have done with so many other things.
I met with Eben Moglen, lawyer for the FSF. The meeting was quite strange. But in the end he answered my main question:
"Use the AGPL. The corporate giants have policies not to touch it with a thirty foot pole."
So that's what the default license is for our platform today.
When our ecosystem is large enough, we may change it. But for now, free software is good. It is why linux runs on toasters. It is why wikipedia has more articles than any private encylopedia. If only medical breakthroughs were developed this way.
In the past MongoDB has argued that using their AGPL database without providing source code is fine, Neo4j has argued the opposite. As strictly interpreted it seems like as long as you don't expose the AGPL app to end users you're not in violation. Maybe the license authors intended this, maybe they intended "if you use an AGPL application that in any way affects an end user's interaction, you must provide the source to that end user."
Modification is defined exactly the same in the AGPL as in the GPL. I don't think putting a reverse proxy in front of an AGPL app means much of anything in terms of either the letter or the spirit of the license.
Mongo's separation of Apache-licensed drivers from the server is about making it so that applications don't have to link to the AGPL'd server code, thereby avoiding "modifying" it. Without a modification, the network interaction section isn't triggered at all.
They must've heard about the problem. Why won't they make a statement about intended reading of AGPLv3 and publish AGPLv4 that has improved wording that avoids any possible ambiguities?
Why would this be the case? FreeBSD and SVN were developed without copyleft. GPL is not necessary to get people to contribute to open source.
In which case I think it's somewhat (if not completely) misleading to say that "FreeBSD ... [was] developed without copyleft.".
People use it; but it seems the majority of people using it aren't actually contributing to the community; they're just also offering commercial licensing; that is to say, it's commercially recognized as so restrictive it is an effective tool to make people pay for your software.
The FSF enforces the GPL to 'ensure that free software distributors respect their obligations to pass on the freedom to all users, to share, study and modify the code.'
...but when your tools are used to drive commercial decisions and people are paying you for compliance, you're not facilitating free software any more; you're just another pay-for-subscription vendor.
How does it do that?
Speaking from personal experience, there are multiple companies making tens of millions a year from selling products based on my GPL'd software. In every case, they have additional proprietary work in addition to the GPLd software that makes a "product", and not just a "tar.gz" download.
There are companies offering free downloads of GPLd versions of their software, and paid downloads of their proprietary software.
And nothing forces a company to use GPL software. If they don't like the GPL license on my software, they're free to write their own, or find a BSD licensed replacement.
A lot of the anti-GPL complaints I've seen amount to "I can see the software, but I can't use it under terms of my choosing, so I'm mad at the authors for choosing a 'bad' license." Which seems to be the case here.
...and open source developers using every other license there is.
Can you make a counter-argument to this? Let's even just focus on Facebook and Google core's core offerings: What benefit would Google get from open sourcing their indexer, ranking algorithms, and core search software? What benefit would Facebook get from doing the same with their ad-matching and timeline/recommendation software?
claim: "source code is [not necessarily] tantamount to death"
you provide several counterexamples where (it seems) you think it would be tantamount to death.
But regardless of your number of examples, there only needs to be one case where it's not tantamount to death for the author's point to be valid.
If you want the project to be openly collabrative but quasi-free, calling it Open Source would be hijacking the term. Call it Social Justice Licence or something.
You can read the announcement on RethinkDB's blog to find out about the project's next steps: https://rethinkdb.com/blog/rethinkdb-joins-linux-foundation/
We've had a lot of folks ask if they can donate to support the project. Stripe has generously offered to match up to $25k in donations (which will help fund server costs and future development.) You can learn how to contribute to the project with OSS contributions or donations here: https://rethinkdb.com/contribute
Thank you for being one of the most amazing communities around :)
(I'm the former community manager btw).
Bounceback message:
Hello REDACTED,
We're writing to let you know that the group you tried to contact (oss) may not exist, or you may not have permission to post messages to the group. A few more details on why you weren't able to post:
* You might have spelled or formatted the group name incorrectly. * The owner of the group may have removed this group. * You may need to join the group before receiving permission to post. * This group may not be open to posting.
If you have questions related to this or any other Google Group, visit the Help Center at https://support.google.com/a/rethinkdb.com/bin/topic.py?topi....
Thanks,
rethinkdb.com admins
You can also always reach out to me directly: mike [.at] rethinkdb . com
We felt that it was too important to let the work we created have a life of its own and establish its own life in the open-source community. It's wonderful to see this finally happen.
https://github.com/rethinkdb/rethinkdb/commit/b0ec8bc5a874d5...
We used PostgreSQL before and while excellent on a single node it's deeply painful to cluster. You need a full time DBA to make sure you're doing it right, as GitLab discovered, and when it fails it gives error messages that seem more cryptic than C++ template errors. Amazon RDS was insanely pricey compared to bare metal (our load is both CPU-bound and disk-IO-heavy bare metal on OVH is >10X cheaper than Amazon) and Redshift didn't have pgsql syntax yet. Even now that it does I'm not sure I want to be bound to it as I have an instinctive aversion to cloud lock-in.
I think the big thing for us is that everything about RethinkDB screams quality from a technical POV. It's powerful but not over-engineered. The code is pretty clean looking. It "just works" without hiding wads of chewing gum and duct tape in Docker containers or requiring 10-step setup processes. When you do bang on it ChaosMonkey-style it holds up very well.
Some instances of people asking about GNU Affero GPLv3 and RethinkDB:
(2014-11-16) https://github.com/rethinkdb/rethinkdb/issues/3347
(2015-06-16) https://groups.google.com/forum/#!topic/rethinkdb/g5UEck3sqM...
(2016-10-10) https://sagemath.blogspot.com/2016/10/rethinkdb-must-relicen...
(2017-01-09) https://github.com/rethinkdb/rethinkdb/issues/6221
http://lists.openstack.org/pipermail/openstack-dev/2014-Marc...
For the record, I personally think that this is 100% pure FUD (the thinking behind it is described as "preposterous" later in the thread). Nevertheless, if someone with the title of "Sr. Director Of Open Source, Open Standards" at a company the size of Yahoo can buy in to this FUD, then most smaller companies have no chance of distinguishing between fact and fantasy, and many will steer clear as a precaution.
Although I wanted to use RethinkDB for new stuff I was very hesitant to introduce a probably discontinued product. Using a Linux product with Apache 2 instead makes the decision to introduce RethinkDB much easier.
Is somebody already working on a operator for kubernetes like coreos did for etcd [1]? What is your recommended kubernetes deployment for RethinkDB?
I use RethinkDB with Kubernetes in production using the above project and have been very happy.
Ross, the project creator, is also a RethinkDB leadership member and is stellar at responding to any questions concerning the project.
https://www.cncf.io/blog/2017/02/06/cncf-purchases-rethinkdb...
One thing to note, this was not an easy process; our team has spent months working daily on a solution. This was definitely our Plan A result, but we never expected LF to step up and provide the sponsorship funding as well. Huge thanks to LF/CNCF for helping close things in the end!
If you use RethinkDB please make sure to give a leadership member a hug if you happen to be in SF/NYC/Nashville/Philly/etc.
(I'm the CNCF executive director.)
My concern has been that there's a few missing features in rethinkdb - I want to be able to resume query after a client gets disconnected without re-downloading the result set. (If the data hasn't changed) and I want deeper integration with rethinkdb's versioning system. But I've been too nervous about making those changes myself and build on top of rethinkdb because of license taint. Now this has all been solved. Its starting to look like a good time to crack open the code and submit some patches! Thanks everyone who's made this happen!
At least they only specified the one font-family and fallback (without helvetica/arial, like a sane person)
I've used rethinkdb quite a bit and I was wondering if anything thinks its suitable for time series data?