MongoDB was advertised as being Open Source and Free Software, distributed under an OSI-compliant and FSF-compliant license. Now they are trying to eat their cake and have it too.
> "then are lambasted when they try to prevent a competitor from copying it wholesale?"
Because that's not what open source is about. Open source is about contributing to the commons, such that your competitors can make a profit from your work.
If your competitors aren't able to do that, then the software is not open source. Period. And in this case, we should point out that MongoDB Inc by owning the copyright doesn't have to play by the same rules, they aren't beholden to the same rules as everyone else.
> "If MongoDB Inc can't compete in the enterprise cloud market simply because they are not AWS (as mentioned by threeseed), what should their business model be?"
Why the fuck should we care what their business model would be? That's for them to figure out.
But if they sell something as open source and they close source it, then we, the schmucks that bought into it, will point out that MongoDB is no longer open source and treat it as a proprietary piece that comes with the caveats of proprietary software, like lock in, etc.
So I hope somebody forks MongoDB from the version when it was open source.
Cloud providers are now barred from using new MongoDB versions.
Is that fair? Well, the developers (a company) made a choice. They want the revenue from the support/monitoring business, AWS is eating their lunch. So either they completely change their business or try to somehow stop AWS et al. from doing that.
Since MongoDB just recently released 4.x with distributed transactions, it made sense to do the license change thing. Otherwise no one would care (and anyone stuck on AWS would just continue to use whatever 3.x compatible AWS provided).
And still, it's likely that AWS will continue to offer their non-feature-parity fork for quite some time.
So, in that sense anyone who cares or cared for AGPL MongoDB tech should have advocated for this license change a lot sooner.
No, people sending patches are not necessarily benefiting from it. Patches can be very expensive and it can be cheaper to pay for actual support with a proprietary solution that's at least honest about its nature and won't pull a bait and switch on you.
To what end? Why should we use a fork that's supported by a few people when we can still use the Community Edition that's from the horse's mouth? The idea of forking things for the fun of it actually perpetuates the problem that we already have with OSS. We want to get things for free, use them to make money, but still expect support for new features and bug fixes. This is worse when someone does this in their 'free time'.
Let's discuss the merits of forking from when it was open source. Percona has a fork, or is it not fit for purpose as they also adopted the SSPL thing?
Wait, how has a fork of MongoDB also adopted MongoDB's evil license? How are they able to take contributions from MongoDB and package them under the same license? Do they share the source code internally, or do they upstream changes that are in the open?
> Why the fuck should we care what their business model would be? That's for them to figure out.
Isn't restricting Amazon and others from profiting from their efforts part of figuring out this business model?
> But if they sell something as open source and they close source it, then we, the schmucks that bought into it, will point out that MongoDB is no longer open source and treat it as a proprietary piece that comes with the caveats of proprietary software, lock in, etc.
Did MongoDB sell you their product as open-source? Which specific product? Was it the Community database, or the Enterprise one? Your argument lacks substance, because you're responding to someone who's asking why people are moving to another closed source product, one whose source code you can't even inspect.
(edit: typo)
It's an AGPL + AWS-is-killing-our-support/monitoring/ops-business license.
If I found a bug, and was adventurous to fix it, I can still open a JIRA and submit a PR to the project ...
The license is no longer OSI approved, so how do you know what you're allowed or not allowed to do?
How do you know that what's keeping AWS from using it isn't also creating a problem from you?
Have you consulted with a lawyer?
That's one benefit of using actual Open Source. You have a definition that all licenses have to comply with, such that developers know exactly the set of freedoms that's common between all of them.
Once you step out of that definition, you're on your own. So you know, I wouldn't take legal advice from random people on HN, you might run into problems.
As you can see, "open source" give s only half of those freedoms: to study code, it is not mandadory that you actually can modify it.
So, not all opens source software is free. Check out licence comparison and approvals page at Wikipedia.[3]
[1] https://www.fsf.org/ [2] https://www.gnu.org/philosophy/free-sw.en.html [3] https://en.wikipedia.org/wiki/Comparison_of_free_and_open-so...
At the same time, we see a MongoDB example: a software, which definitely is open source, but also definitely is non-free.
Free software: free for modification, expansion or forking. Possibly free for profit (BSD license)
Source Available: Source is available but under restrictions. Locked room source viewing under NDA to confirm there aren't vulnerabilities for example.
Source-available: You can view the source, perhaps freely, but can't modify or release your modifications.
That no one has done that already suggests that no one thinks it’s worth doing. And it isn’t, Postgres is properly free, and more than surpasses Mongo in all aspects.
MariaDB, the MySQL fork, didn't happen over night.
Give it time.
This kind of first order reasoning is nice, but the reality of software economics is a tad bit more complex. The assumption that the market is large, that the commons helps everybody sort of equally are not true in a lot of sectors. Namely, as IT transforms itself a lot of things become almost zero-marginal-cost. Starting a new server? Setting up a new database? Backup/Snapshot? Load balancing? Scaling? Just click that AWS web console shit, and you're good to go. And this out-competes the others.
I'm not saying that changing licenses is super-A-OK, but the fact is the license was never good in the first place, because it failed to take into account what will happen when AWS starts to offer MongoDB.
Furthermore, I have no problem with anyone holding the view that MongoDB should then compete with AWS, and/or focus on on-premise computing, and/or slowly pivot away from building MongoDB itself to whatever. But anyone holding this view should recognize the aforementioned reality that cloud computing is happening, IT is not just a hydra, it's an ouroboros too, it's eating itself.
Not sure what we are talking about, personally I don't make that assumption, although I recognize that others might.
Yes, roads and highways help big companies more than they help small companies. That doesn't mean that smaller companies don't benefit from the existence of roads and highways.
> "the fact is the license was never good in the first place, because it failed to take into account what will happen when AWS starts to offer MongoDB"
Without that license, let's be honest, MongoDB wouldn't have gotten popular in the first place. MongoDB has been plagued by technical issues too and without it being open source, one of the carrots being used, MongoDB wouldn't have been a blip on anyone's radar.
So this is a conundrum and I understand the reasons why MongoDB Inc has switched, I do, but I just don't care.
Because the nature of the thing has changed — and for example I would now need a lawyer to find if my own product is safe or not with an on-premises MongoDB solution, because I can no longer rely on OSI's definition to tell me if my use is OK or not. And yes, we've got random opinions on the Internet about what you can and cannot do, but that's not valid legal advice.
And even if my use of MongoDB is OK for now, who's to say they won't change the license again in the future to something even more abhorrent. This means that for me going forward is that MongoDB is no longer reliable from a legal standpoint.
MongoDB Inc's license switch may earn them some hate but I think the bigger issue is what license terms will open source contributors be comfortable with? What license captures the same spirit as the GPL, should that spirit still be desired, as software moves to the cloud? When every piece of functionality, no matter how trivial, can be used by a cloud provider to bolster their closed ecosystem, are the developers that created that software comfortable with a license that allows providers to do so without giving back?
AWS et al. are committing no violation here of course, they are taking advantage of a market opportunity to offer hosted software, some open source and some not. The market is overwhelmingly saying that they value the convenience of having all of these services available at the click of a button and that the closed source nature and potential for Oracle-style vendor lock-in is not a concern.
There's certainly value there and some folks may feel perfectly comfortable contributing to such an ecosystem, as is their right. Others may desire a more reciprocating agreement, and perhaps the AGPL is a first step towards such a license. I think we as software engineers need to recognize just how high we're standing on the giant's shoulders and put some thought towards helping a community that is trying to adjust to the new cloud reality. "Fuck you give me your stuff for free" is unwarranted and not likely to encourage contribution.
MongoDB Inc does NOT play by the same rules as everyone else because they own the copyright.
When a piece of software is useful on its own and survives, without dual licensing from the copyright holder, then and only then we can talk about the spirit of the GPL.
Also people here seem to be confused. The GPL is a super permissive license because it allows you to use it for whatever purpose. You can use it for commercial purposes, you can use it for controlling sharks with lasers to conquer the world, you can use it in combination with any other software or hardware package, doesn't matter. This was by design.
The GPL is just a copyright license, not an EULA and that's part of its genius.
Now you can say that this company or that have been circumventing GPL, but I think that AGPL licenses have been an abomination, a scurge on this industry, only used to lure developers into dual licensing deals and having nothing to do with actual Free Software.
And now we are seeing the effect of allowing AGPL. For one I see an entire forum of really smart individuals that don't really know what the spirit of GPL is, yet we talk about it.
MongoDB with its current license - in my opinion - would have gotten just as popular as it is now.
Yes, the legal questions are real, and were MongoDB just starting up they would work with OSI and experts to clarify things, they would put up a FAQ and so on to get people to trust them.
That said I dislike MongoDB but for various other reasons.
Then you've misunderstood what "open source" means. The term "open source" was invented specifically to describe software with the following properties (among others) [1]:
~~~
1. Free Redistribution
The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale.
[...]
3. Derived Works
The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.
~~~
Any software which doesn't meet those criteria isn't open-source.
[1] https://opensource.org/osd
(edit: formatting)
I believe this because I also believe there used to be two terms open source, and free, that these were distinct, and that all things that were open source were not necessarily free or vice versa. But it seems to me with the above definition that all things which are open source must then be free although all things that are free still do not need to be open source.
on edit: clarified I was referring to HN in first use of the term "site"
Following the "paper trail", the chronology is:
1. the "Open Source Definition", last modification in 2007, is based on "The Debian Free Software Guidelines", I suppose v1.1
2. the "Debian Free Software Guidelines" v1.1 was ratified in 2004, and is based on v1.0
3. the "Debian Free Software Guidelines" v1.0 was ratified in 1997
so ultimately, in strict terms (but that's arguable), the "Open Source Definition" is newer.
The culture for free open source software (and its benefits) was prevalent. But by the 70s companies we’re changing their attitude about this IP. I’m a reaction to increased restrictions Richard Stallman founded the GNU project in 1983.
Is there an Other World theory where this was not the case?
https://en.wikipedia.org/wiki/History_of_free_and_open-sourc...
> I could swear that this has not always been the exact definition
> I believe this because I also believe there used to be two terms open source, and free, that these were distinct, and that all things that were open source were not necessarily free or vice versa.
In this perspective, the history, as reported, matches: originally, there was a "free software" concept and movement (the formal definition was given in 1986), then, in 1998, the "open source" term was coined.
Based on Stallman's critic to the Open Source ideas (https://www.gnu.org/philosophy/open-source-misses-the-point....):
> For example, “Open Watcom” is nonfree because its license does not allow making a modified version and using it privately.
The parent's doubt has verified grounds.
However, there's confusion, because it seems that the "Open Source Definition" is _now_ closer to "Free software" than it was when Stallman expressed his opinion: by that time, Open Watcom qualified as "Open source", but nowadays, based on the "Open Source Definition", it wouldn't.
We’re not talking about the proverbial ‘historical house in private hands’—can we look around at this excellent example of early Frank Lloyd Wright house in Chicago. We’re talking about ownership and control for profit.
Mongo wants to wiggle out of the bind they find themselves in. Does anyone else feel this discussion is starting to feel like ‘workshopping’ the legal definitions entrepreneurs and coders can both agree on?
Maybe the parent is asking as a curiosity—Isn’t there also a second origin story about inspection without rights?
But, in the context of the original post’s topic of Mongo and the pickle they’re in, I reserve my normally generous nature, lest I find myself the cuckolded against my own interests.
There seems to be a curious spate of discussions lately about legal use, copyright, and trademark.
Google patenting some machine learning techniques [1] here on HN.
On a Philosophy Podcast I listen to there is an interview with on a legal scholar on his work defending plagiarism [2]
And for the record I am an ardent advocate of FOSS. I believe Mongo is in a pickle, and they should do the right thing to honor the spirit of OSS. And if they can’t, then they should surrender the property to someone who can.
[1]: https://news.ycombinator.com/item?id=20863515
[2]: https://podcasts.apple.com/us/podcast/elucidations-a-univers...
as I am not a prescriptivist in language as a general rule it may be that I should alter my usage of the term to follow OSI usage, but then I feel that a useful term is needed for software where you can inspect the source as needed - perhaps inspectable source.
People have used the term 'source-available':
There are certainly ideological differences between the two; but I think it's primarily in terms of focus. The FSF primarily aims at promoting "software freedom" as an end in itself; RMS claims that it is unethical to give people software but prevent them from sharing or modifying it. As such, they much prefer to use copyright law to promote "software freedom", by things like the GPL and AGPL. But (as I understand it), since more permissive licenses like BSD or MIT licenses do allow the "four freedoms", they consider them "free software" (albeit second-class, because unlike copyleft licenses, they don't fight to keep derivatives "free").
"Open source" was meant to focus more on the benefits of the open, collaborative software development model, without denigrating proprietary software; and, in particular, to be more palatable to large companies. As such, permissive licenses (BSD, MIT, Apache, &c) are considered just as valid as copyleft licenses (GPL, APL, &c).
But saying, "You're not allowed to run a service using our software because it might compete with us" is Right Out.
In a few occasions I see that I need to alter the library, if I do not have the rights to do that then I would probably end up dropping the library as being inadequate to the task.
In some occasions I have seen that I would like to get rid of the library but I am generally not allowed to by other business decisions, in those cases I have always been able to find some hack that allows me to do what I need to even if it goes against the preconceptions of the used library. I then make extensive comments in my code explaining why, probably referring to the other solutions I would prefer to use and explaining why I was unable to do so.
Why? What do you do?
Of course, this is just one of the many so called "open source" companies that chose open source because they thought it would get them more users but in reality don't care much about FOSS.
- There is nothing wrong with Proprietary software. MongoDB is vilified because they built community on the assumption what this software will be Open Source. Because of this many spend a lot of their own time helping to promote MongoDB and one day MongoDB changed their license. Amazon's DocumentDB makes no Open Source promises
- Your competitors can copy your software is one of the downsides of having your software Open Source. You however may get much better adoption curve in return.
- This is not MongoDB boycott. If repository promises to its users it will only contain Open Source software and MongoDB is not any more it naturally has to be removed. Keeping it will mean breaking promise to repository users
- MongoDB can't compete with AWS is quite far fetched statement. Competing with AWS could possibly slowed MongoDB growth of course.
The bait and switch strategy is deceptive. It's aim is to milk customers to give some money back the the VCs. But this license minefield is user-hostile.
Users don't like companies exhibiting hostile behavior towards them. Simple.
They didn't use an Open Source license with the intention of getting popular and then pulling the rug out from underneath users.
They tried to make their money by offering their tech as a service and found that they couldn't compete against the resources of large cloud providers who were happily profiting off of their (and the community's) hard work.
And now the community's hard work is licensed under a new and restrictive license which, due to legal constraints, cannot be used in entreprise setups.
And now the community's hard work is licensed under a new
and restrictive license which, due to legal constraints,
cannot be used in entreprise setups.
Sure it can. It is fairly narrow in that it targets reselling it as-a-service. Many large companies are still running MongoDB for enterprise workloads, the SSPL does not change that.I feel like if just cannot be repeated enough: You control which license your software is supplied under! If you want to create open source software, you have to live by that decision and follow the license. You can’t slap an open license on the software and complain when people “abuse” the fact that it’s open.
One in which OSI obviously is paid by cloud vendors to denounce alternative licenses, lobbies for developers to be treated like kattle open for abuse, yet portrays themselves as representing developers, and bogusly claims ownership of the term "Open Source", contributing to monopolization and the weaponization of developer's work for surveillance a la Android.
Cloud providers have been able to stand on the shoulders of giants, profiting immensely from millions of lines of open source code while giving little of it back, and we seem to be largely fine with this. Will we be fine depending on their services when the cloud providers become the new Oracle, free to raise prices extravagantly when we have no other choice?
If MongoDB Inc can't compete in the enterprise cloud market simply because they are not AWS (as mentioned by threeseed), what should their business model be? Licensing to cloud providers would have been ideal, but the response from AWS in this case wasn't encouraging. By boycotting MongoDB in this case are we telling future innovators that their work will simply be stolen and resold for profit if it gets popular? That scares me a lot more than some project changing their license.