AWS gives open source the middle finger?(techcrunch.com) |
AWS gives open source the middle finger?(techcrunch.com) |
If you're a small open source company with a services business model, how do you stop someone like AWS forking your code, making a few changes they don't share with you and basically becoming the de-facto supplier of maintenance and services for your tech?
Yes, there is. It's what MongoDB did. It's not Open Source.
> If you're a small open source company with a services business model, how do you stop someone like AWS forking your code, making a few changes they don't share with you and basically becoming the de-facto supplier of maintenance and services for your tech?
You have a business model that does not work. You've been lying to your investors claiming that you have one. That's exactly the MongoDB story.
That’s incorrect. MongoDB’s Server Side Public License differs from Commons Clause and some of the “community” licenses from other database companies we’ve seen. The latter prohibit hosting programs as a service for others. SSPL explicitly permits that, but triggers copyleft, so the service rigging code must be released under the same terms.
Is there any evidence for this? I assumed they forked the last Apache 2.0 version of Mongo.
It's not just Open Source who will get nasty signs from amazon. They already have too much power for one company and the more power they'll have the less they have to abide by rules normal companies/humans have to abide by.
Isn't that the whole point of releasing software under a FLOSS license?
Also it's clear that you have zero knowledge about Mongodb hosted services. Because otherwise you would know that very good supported hosted services exist which are 100% compatible with AWS (beside MDB Atlas).
MongoDB found that objectionable, and changed the license such that Amazon would either have to pay, or stop using it.
Amazon stopped using it, and started using its own in-house implementation instead (presumably because it was cheaper to develop it than to pay MongoDB).
So, MongoDB got exactly what they asked for. It's just that, when they forced Amazon to make a choice, they didn't expect one of the options they gave them to be viable. They were wrong.
I don't see how Amazon is in the wrong here. They are no longer using MongoDB for free, as the authors demanded. They did not reuse any code. They are not advertising their replacement as MongoDB, either.
Is it because of API compatibility? But the notion that one cannot reimplement a public API for the sake of compatibility is in and of itself extremely hostile to the F/OSS ecosystem, given how many products in it are reimplementations of proprietary APIs.
I don't really agree there. The service is called documentDB and this is how they describe it [1]:
> Amazon DocumentDB (with MongoDB compatibility)
> Fast, scalable, highly available MongoDB-compatible database
And the first 2 sentences:
> Amazon DocumentDB (with MongoDB compatibility) is a fast, scalable, highly available, and fully managed document database service that supports MongoDB workloads.
> Customers use MongoDB as a document database to store, retrieve ...
You have to read all of that pretty carefully to understand that it's NOT MongoDB (a term they mention 5 times in the first 4 sentences). And if you read it carefully it seems to say it's compatible with MongoDB, whereas the Techcrunch article states it's only compatible with the MongoDB API from 2 years ago.
I disagree. If I see "Blah-compatible" I know it's not blah.
We launched A1 instances with our Arm-Based AWS Graviton Processors to increase the selection of technology for our customers. It has nothing to do with demands of vendors, and everything to do with increasing choice, providing access to extensive technology ecosystems like those Arm has been building with their partners, and lowering costs.
Do you have a citation for that? AGPL is usually not considered business friendly or a corporate "allowed by default" license, even for internal use.
Contrary to the headline and articles inference I havent seen any indication that MongoDB source or IP is or was actually being used. As you note this all comes down to API compatibility and tangled notions of "proprietary" slash copyright.
But then there's even less reason to attack Amazon.
Completely agree with your conclusion, but is this not exactly what happened in Oracle v. Google?
So Oracle "owns" the Java API, but Google was allowed to clone that API to make Dvalik work with Java source code.
The same should be true of MongoDB's API. MongoDB Inc owns the copyright, but if someone wants to make a compatible API, they should be covered under fair use.
Which AWS service are you referring to exactly? AWS's existing json document DB is called DynamoDB and has nothing to do with Mongo.
The difference between AGPLv3 and the new SSPL applies to all work Mongo releasaes going forward. As intended, that difference will make it difficult for AWS to maintain compatibility, which the article points out is limited from the get-go.
They used Dynamo, and their white paper on it predates Mongo. Amazon was always an Oracle shop and now have dropped that too.
My old company begged AWS for years for Mongo, looks like they finally got around to it.
Self hosting MongoDB has always been a pain if you only have a small amount of data in it. The scaling goes one host, master/slave (which existed, though people would argue with you that it didn't), to 7+ separate hosts if you're going to build it properly (2x mongoose with DNS across them, 3x config cluster, 3x data cluster).
That's a hell of a jump for someone only using Mongo incidentally. You can cheat and combine multiple pieces of the cluster on single hosts but if that fails you can then get into weird multi-component failure issues.
I suspect the drive for DocumentDB was more because customers were asking them for it
You're just talking narrowly about Amazon in this comment. What you said makes more sense if you broaden it to commercial users. They might have known FAANG companies, esp Amazon, would just ditch their software if they switched licenses. They might be targeting the companies that can't or won't build a MongoDB knockoff. The companies that will actually pay for their product. That's a huge market.
There's no point in, or place for, spirit of the system vs letter of the system discussions or calls to morality. Mongo does not deserve to survive / exist if it can't make it's offering better than a competitors.
Would Mongo even exist as a company if it had launched as a contract only vendor? Pretty much not... so it can't demand to play both sides.
Judging on your other comments, it doesn't look like you're familiar with MongoDB's historical shoddiness. I don't agree with you on practice in this case or any case. If MongoDB's company can't out-execute, then they should have never made their product open source to begin with (and in that case it probably would never have gotten as popular as it did). That's the bargain you have to make to try and monetize open source software -- you don't just get a business for free.
But beyond that, I don't agree with you on principle in this case, because I have nothing but disdain and scorn for MongoDB. Both MySQL and Postgres have fine support for unstructured data now, and provide the entire relational toolchest as well. That's not even getting into other multi-paradigm databases like CockroachDB or ArangoDB. I struggle to think of a use case that it is more appropriate for than another option; and indeed, every time I have had to deal with it in production, I have never thought that it was anything but a poor decision.
That switches the subject from “do they add value?” to ”are they the first?”.
I would think the existence of other companies offering something similar is an indication that it adds value.
However, MongoDB selected a free and open source license. This was always in the cards. They went with AGPL to keep the source maximally open for end users, but that never protected their revenue stream. (Some JS SDK companies used it for that purpose, where it makes some sene, but a DB is very different.)
But if they had started with something proprietary uptake would have been very likely much less. And people would have continued to use mysql or Cassandra if they really needed something "webscale".
If only they had! But MongoDB is 1% technology and 99% marketing, they had no technological moat to speak of.
See also: Docker.
This feels like a MongoDB sponsored post. How badly would you have to fuck up to be considered a poor imitation of MongoDB?
In any case I don't see how having their own hosted version of MongoDB is a middle finger to open source, but Aurora SQL/PostgresQL isn't. Is Cockroach a middle finger Postgres? I don't consider this any more a middle finger than the SSPL.
Especially when MongoDB is itself no-longer open source.
In fact, AWS is providing a service compatible with MongoDB 3.6, which is open source. In a way, AWS "forked" MongoDB 3.6 after the creator of MongoDB made the software proprietary. Isn't that what Open Source is supposed to provide?
I literally laughed out loud at this. Thanks for the humor.
I don't entirely disagree with your overall assessment, but it could just be a case of clickbait journalism, rather than payola.
I recognize this article is about a product offering of AWS, and not their internal policies towards contributing to open source, but the two are linked in my mind and I'm not all surprised to see a headline like this.
"If we put the software in the public domain, somebody else would be able to make a little bit of changes and turn that into a proprietary software package, which means that the users would be running our software, but they wouldn't have freedom to cooperate and share."
"And what we do is, we say, this software is copyrighted and we, the authors give you permission to redistribute copies, we give you permission to change, we give you permission to add to it. But when you redistribute it, it has to be under these terms, no more and no less. So that whoever gets it from you also gets the freedom to cooperate with other people, if he wants to. And then, in this way everywhere the software goes, the freedom goes, too. And it becomes an inalienable right to cooperate with other people and form a community."
Bruce Perens, on the choice of the GPL for Debian:
"Uh, it's one of the few software licenses that was written from the standpoint of the community rather than from the standpoint of um, protecting a company or um, as is the case with MIT and BSD license, performing the goals of a government grant program. Uh, and the GPL is really unique in that. It's not just a license. It's a whole philosophy that, I think, motivated the open source definition."
MongoDB tried to protect its company's profits, and as a result, Amazon [and its users] now have a proprietary product rather than an open source one. Could have gotten free fixes from the biggest lab in the world, but instead they're getting jack squat. And since Amazon's product is proprietary, now users and the community have less freedom.
Linus is asked at the end if he's bothered that he's not cashing out on billions of dollars of use, and he basically doesn't care. He just wanted people to work on the software. If Linux had the same licensing scheme, it may have remained a hobby operating system.
Making a business choice to not buy licenses from a single for-profit company doesn't really have anything to do with open source in general.
That's a bold statement to make against AWS services.
This scenario is one of the many where (F)OSS explicitly protects downstream users: company reduces availability, user forks. It just so happens that the traditional players (the small, indie user va the big, bad corp) are actually mirrored (big, bad user vs small, indie corp). This has been the ugly reality of OSS for more than a decade now, and there seems to be no way to align the interests of “big users” more closely with upstream. Before the switch last year, MongoDB already used the most “aggressively collectivist” license available, and still it didn’t protect them from rich freeloaders.
This is also the other side of the coin in the Google vs Oracle debate about apis and copyright.
At least a few months work there. Even for Amazon.
It didn't work.
This undoubtedly had been in the works as Aurora for MongoDB.
The timing is suspect, sure. But one look at Aurora for MySQL and Aurora for PostgreSQL will tell you that AWS would've gotten around to it regardless of licensing.
For someone to release a major software package under an open source license with particular terms, and then to get angry when other people enjoy that software under the terms that YOU specified, is just nonsense. You aren't happy with the way things played out, because you didn't really understand the types of activities that were possible or maybe just didn't think about it.
Look, it's their software and they can re-license it as they see fit. But to vilify AWS for using their open source software legitimately under the terms they licensed it under is offensive. That is giving the middle finger to open source.
How exactly the author of this article can write something that finds fault in the company using software legitimately under an open source license, and not with the company who is re-licensing their software to a non-OSI license? Who is truly giving the middle finger to open source?
The open source system is great. Many individuals create the content and share it. There has been a great tolerance for companies like Amazon that exploit - not use but exploit - this community. While I don't have enough experience to know if MongoDB's response was a good one, I do think it is time for the community at large to begin a continuing discussion of what to do when large companies like Amazon are bad citizens.
Open source thrives on being ... well open, and it is important to retain that openness within the community.
What's really funny about their not-mongodb as a service is they will inevitably roll over any piece of software third parties host on AWS too if they think it makes enough money. Your SaaS is just another project for some team waiting on their next. They have already done that for 10,000s of physical products on Amazon.com that were sold by third party vendors who became redundant via Amazon releasing similar products under their own brands.
Can you please clarify? I'm researching AWS and am interested in the historical practices of the company, but I'm not sure what "roll over" means in the context you used it.
Including companies like Adobe, eBay, Expedia, Sony etc.
But I don't exactly expect the highest quality and reliability from Adobe, eBay, etc.
For searchable structured data, I'd probably go with elasticsearch. It scales very well and you can turn off indexing and use it as a document store.
I am a huge fan of postgresql and the more I use it the more awesome I find it, so I'd probably use postgresql's JSONB column type for unstructured data if that's a requirement. You can pair it with citus and make it scale quite well.
For pure document storing there's RethinkDB which performs well and does not lose your data as MongoDB does.
What are they referring to?
From my perspective, Amazon rarely open sources their work. It's one of the reasons I would never want to work at Amazon. It's very clear they have no love for technology outside of making a business out of it.
AWS is not giving open source the middle finger. It is giving the middle finger to a project that was once open source and has decided to be no longer open source.
Because they don't have to focus on development they can divert their resources to marketing, adding the syrup on top to 'ease use' and ride the hype wave while the original developers are dismissed as 'technical' folks who do not understand marketing when the fact is they do not have time left over from development, or the resources.
It's perfectly legitimate to expect to sustain yourself while building open source products and projects. Unfortunately we are flooded with one sided superficial perspectives and short term narratives that look at open source projects as if its a crime to expect to make some money while not even examining slightly the parasitic models of cloud providers and others who in effect hijack open source projects with marketing.
The end game is few can compete with the resources, reach and engineering of behemoths like AWS, Azure, GCP and others. And at the customer end the cloud is unavoidable and thus will only see increased adoption. This is not only going to affect open source but dismantle entire groups of software and hardware ecosystems.
The only way forward seems open source projects that leverage these cloud platforms to provide some additional functionality, but these projects will be intimately tied to these platforms and not 'open' as we understand the term.
I’m not convinced that should be the case. Any business endeavor carries risk, whether its basis is open source software, closed-source software, or any other product type, and one shouldn’t have an expectation of any level of success.
There are fortunately many success stories relating to open source software, so from my perspective it’s unclear that anything needs to change.
snerk Well, if it doesn't lose your data or have broken replication protocols for years, then it'd be a poor imitation, so I'll give the CEO that one.
Maybe I'm wrong. Anyone feel free to correct me.
Also, it's not like Amazon is not giving back to the open source community (https://aws.amazon.com/opensource/)
As for the most typical use case, web apps, see their FAQ:
> The copyleft condition of Section 13 of the SSPL applies only when you are offering the functionality of MongoDB, or modified versions of MongoDB, to third parties as a service. There is no copyleft condition for other SaaS applications that use MongoDB as a database.
https://www.mongodb.com/licensing/server-side-public-license...
Compare their prior, public clarification on the scope of AGPLv3:
> Note however that it is NOT required that applications using mongo be published. The copyleft applies only to the mongod and mongos database programs. This is why Mongo DB drivers are all licensed under an Apache license. You application, even though it talks to the database, is a separate program and “work”.
https://www.mongodb.com/blog/post/the-agpl
Much as Kernel developers published a statement clarifying and limiting the sweep of GPLv2 copyleft, Mongo published a statement clarifying and limiting the sweep of AGPLv3 copyleft.
I've heard from a former Mongo employee that Mongo wrote several letters to users and vendors, assuring them that AGPLv3 didn't require release of their app code.
"I was working for an aerospace company in the early 1970s when someone got a copy of the original Adventure game and installed it on our mainframe computer. For the next month my lunch hours, evenings and weekends, as well as normal work hours, were consumed with fighting the fierce green dragon and escaping from the twisty little passages. Finally, with a few hints about the plover's egg and dynamite, I had proudly earned all the points in the game.
My elation turned to terror as I realized it was time for my performance review. My boss was a stern man, more comfortable with machines than people. He opened up a large computer printout containing a log of hours each programmer spent on the mainframe computer. He said he noticed that recently I had been working evenings and weekends and that he admired that type of dedication in his employees. He gave me the maximum raise and told me to keep up the good work."
I knew it was time to start looking when I was informed that I had to get prior permission to do ANY open source contributions even on my own hardware on my own time. That's just not feasible logistically and above and beyond the general "don't write open source that competes with us or on our our time/hardware without permission" rule most reasonable companies have.
My experience, in my part of the company, in 2019, is that stuff I do outside "work" is my own business. I contribute to open source projects all over the place.
As long as I actually do my day job during the daytime, woe betide anyone (other than my wife and family) who tells me what I should be doing with my non-work hours, on unrelated software projects.
They even let me release my skunkworks Pidgin Linux client for Chime under LGPL (although I did have to ask permission for that one as I did a bunch of it during the day).
In fact even for work hours when I'm working on Linux, we've made progress. Once upon a time you had to file a ticket to legal for every patch series that was submitted upstream.
Now we have a policy (again, in our part of the company) that your internal code review submission must have a comment on the upstream status of your patch — is it already upstream, is it going upstream, and if not, WHY NOT?
And all you need in the way of permission to do so is to get the nod from myself or a number of other people right there in that code review.
Is it perfect? No.
Do we still have to catch up and make it as easy for other projects (like Xen, in my day-to-day work) as it is for Linux? Yes.
Is it a massive improvement on what it was like before? Hell yes.
This attitude seems kinda common, unfortunately. The critical issue is probably what the boundaries for 'work for hire' are. CA law [1] offers protections. Spolsky [2] offers detailed real-world context.
[1] http://law.justia.com/california/codes/lab/2870-2872.html
[2] http://www.brightjourney.com/q/working-company-intellectual-...
Why do we put up with this!? The foundations of our industry go back to how much early developers share with one another!
I like their services in AWS-land and they have really good solutions. They probably treat their developers better as long as they can be exploited. But if there is another service with comparable features, I generally don't have to think very long.
Why games especially? That seems to be the one area the would be absolutely free of any conflict of interest with amazon.
Why games are different than other areas (e.g. why aren't web services called out separately with their own policy while games are? I'm not sure.)
edit: For those down voting instead of just disagreeing provide a company and their policy. All the companies I've worked at have been the same as Amazon more or less and all my friends have similar employment clauses.
There were no exceptions allowed.
It was considerably more restrictive than any company I've worked at elsewhere.
Even Amazon employees in CA should be exempt from this policy.
These days I'm self-employed and renting myself out to large companies, and this has never been an issue. They only care about the work I do for them, not about what I do in private.
Wasn't this one of the main points of contention, though, in addition to not purchasing a commerical license? Amazon not upstreaming (m)any of the fixes?
Linus has an annual salary of $10 million, https://www.therichest.com/celebnetworth/celebrity-business/...
You offer a free software package to the world, so that anyone can use it as they see fit.
Some guy uses your software package.
How exactly has that guy became a freeloader in this story?
Why? Because the freeloader increases the demand side for the software (more users translate to more feature requests, more bug reports), without increasing the supply side (resources for people who work it).
This puts pressure onto the project that is hard to sustain in the long term and MongoDB took a step to fight it.
The difference is that now a lot of software is run as a service, which wasn't the case back than.
So, imagine MongoDB was used some 20 years ago (and it was GPL, as AGPL wouldn't make as much sense back then). A big company comes along, makes some modifications to the base product and tries to sell it. Guess what? They have to give the source code (including their additions) to whoever buys their version (including, potentially, Mongo inc.) so they would still be on a somewhat level playing field.
Enter software as a service. Since the GPL says nothing about software served via network, MongoDB goes under AGPL, which has provisions for this scenario. Amazon is not selling software copies, they're selling a service (hosting, integration, etc). So, even if they make additions to the source code and give them back upstream, they're on a completely different level from the small player (Mongo inc. or whoever else) and, since they're not differentiating on the code alone, win in the long run.
This all to say, it's not the promise/premise of FOSS that is flawed, it's just that the playing field changed.
Digital Ocean is not advertising that they're AWS S3, just that they're S3 compatible. Like a processor that's x86 compatible, even though it's not actually an Intel 386, 486, etc. Like when computers used to advertise they were IBM compatible even though they're not an IBM PC. Like when store brands of toothpaste say "comparable to Colgate FreshWhite" but they're obviously not Colgate. Like when a startup calls themselves "Uber for horse rental" even though they're obviously not Uber.
That’s bit harsh. MongoDB has its uses. Denormalized data struture make it very easy to scale for example. Being able to use JS everywhere is nice too.
The result (so far) of Oracle v. Google is that Googler use was not fair use as a matter of law; that, however, was the result of an interlocutory appeal to the CAFC, and we still have further action at the district court for a judgement, and probably at least one more appeal up the chain, potentially the whole way to the Supreme Court, before we know the final outcome.
Oh the irony. Open source is just a development model, while Free Software, if anything, it meant to provide freedom to all users, not just business.
Reinforcing the public cloud oligopoly only reduces such freedom.
Well, write the licenses and let's see what traction they get. I'll wager that they will be shot down by pretty much everyone
So they are trying to eat their cake and have it too.
I sort of agree with their sentiment, but of course they are late to the have-cake-will-have-it-and-eaten-it-too party, as now AWS was able to fork the last AGPL-ed version and be done with it.
Even if MongoDB goes out of business, or becomes less popular AWS benefits as they can keep selling to these "legacy" customers their super-stable AWSgoDB, and said customers will just eat it all up without thinking.
I have, in the deep deep past, experienced serious strife with the older policies, and obviously nothing is perfect, but it's gotten to the point where I don't really think about the policy.
It sounds weird to me that people think a foundation created by Perens and Raymond (et al.), the people who defined Open Source, and wrote the Open Source Definition is not the defining authority on what open source is.
What gives?
(As much as I get annoyed by things claiming to be open source, that really aren't proper open source, I have to accept that this is a movement brought about by a rag-tag bunch of hackers who don't much care for single entities telling them what to do, so they should also be measured by that)
Is this in addition to the regular salary you are paid, or…
Hey Mongo I just met you
And this is craaazy
but here's my data
so store it maybe?
unfortunately, I can't find the tweet.Something the GPL allows: It's poor form to use derogatory terms when open source explicitly says "This is OK".
A systemically unreliable database would never be popular as its not a piece of your architecture that you can tolerate having constant outages with. And there is no evidence of MongoDB being systemically unreliable.
1. Correctness and popularity are different
2. Not everyone looks for correctness, even when looking for a database. See: MySQL.
> as its not a piece of your architecture that you can tolerate having constant outages with
Reliability and correctness are not binary scales of 'works' vs. 'does not work'. Again, see MySQL.
> there is no evidence of MongoDB being systemically unreliable
There is plenty of evidence of MongoDB losing writes because of its (honestly) stupid design: writing to memory maps instead of files, never fsyncing, sharding and distributing without confirming disk flush.
---
MySQL: For a long time, one needed to be aware of certain caveats and corners and limitations of MySQL or be surprised with data inconsistency and loss. That is not to say that MySQL could not be operated reliably; it could, just that the barrier was higher than it appeared.
From truncating data (with a warning) to not accepting and silently (i.e., without warnings) ignoring CHECK constraints, I've had clients who lost business data and realized it only too late to go back to the original data source.
I used to think MySQL was an bad database due to its concessions of correctness and poor documentation, until MongoDB came along with their lofty marketing and high-and-mighty "Nobody needs SQL anymore, we are Web-scale" blare-horn and failed to deliver on even keeping the data it claimed to have saved.
...which is a big problem if you work at Amazon or Google. (Can you think of a single software project that will not intersect any Google project? Are you sure?)
My OSS project is "software development".
My company's main function is "software development".
https://www.amazon.com/AmazonBasics/b?node=10112675011
They have been copying SaaS straight from their partners for years already too:
https://www.theregister.co.uk/2013/03/08/amazon_copies_partn...
I think you can add Heroku (AWS Beanstalk) even before that.
However, Amazon's game development policy lays out 10ish different requirements you must meet, including not working with others outside of your org, must give up ownership of IP at Amazon's request, must use Amazon services or provide feedback why you couldn't. There's no process by which any of those items can be waived.
This basically means you can't do game jams with friends unless they work in your org. And if your game jam is successful, you run the risk of Amazon just taking ownership.
Think about it like this: What would be the problem with the employment contract saying that salary can be decided by the company at will if they usually paid a certain acceptable sum every month?
Months in court to prove innocence is still a heavy cost to pay.
To recap:
- 8hrs for work;
- 8hrs for leisure (daily commute, family time, hobbies etc);
- 8hrs for sleep.
Once you take out work time & leisure time all you have left is sleep time. Sleep is unique because it is an exclusive human activity — it can’t be combined with other activities.If someone decides to misallocate rest time, then s/he will become sleep deprived leading to low productivity. This is true regardless of whether you perform physically demanding work like farming or sit all day at a desk doing knowledge work.
A self-inflicted impairment like this is no different from abusing hard drugs or consuming too much alcohol (on or off the clock), but it is vastly different from low productivity resulting from falling ill, which is beyond any employee’s control.
Whether you like it or not, paid employment demands a certain monopoly of your time. The only way to opt out is to work for yourself.
Yes, most companies have approval processes. They might even be onerous approvals processes. Amazon expressly forbid me from participating in game jams with people who were not in my org.
Worked at microsoft for 2 years, there are the same policies. It was not contractual though. It's just that there were notes broadcasted saying that whenever you discussed with third parties, you should use microsoft tools if possible. Want to meet someone? Send a Bing Maps link, not Google Maps. Want to share a research? Send a Bing Link, not a Google search. etc.
As for the confidentiality clauses, I work in finance, and the rules on IP and personal projects are the same as what you describe.
Always judge a company by how they
treat their lowest employees.
Seems like a policy that gives a big advantage to industries that aren't labour-intensive.Is Costco a worse company than Oracle, because the former has employees making $30,000 and the latter doesn't?
There are environments where people earning $20,000 are still treated with respect and there are environments where people earning $200,000 are treated badly.
Every job I've had, people have been polite and friendly to me. No bullying or harassment or anything like that.
But the low-paid jobs would carefully police our working hours and sick leave, while taking a toll on our bodies and demanding measurable daily performance. Whereas the highly-paid jobs would trust me to work my contract hours, take my word if I said I was sick, didn't expect me to lift anything heavier than a laptop, and barely audited how hard I was working at all.
If you think it's prima facie disrespectful to require a doctor's note for sick leave, my poorly paid jobs have been less respectful than my highly paid jobs.
The guy on the door at the HQ building?
I'm sure that you can argue oh, those people are actually working for a contractor, but let's agree for a moment that this is purely a matter of paperwork, those are Oracle cleaners, that guy is on the door of Oracle's HQ building.
I agree that if someone takes that from sleep time instead, they're harming themselves, but this still is nothing the employer should (be allowed to) care about.
If the employee underperforms at work, the employee gets a warning, and it is up to the employee to review his or her time management, being a responsible adult that they are.
Amazon was more aggressive (in my opinion) and much stricter than any other company I've ever worked at.
Edit: I researched a lot of the other tech companies. Here's Google's documentation, for example, which outlines an exception process: https://opensource.google.com/docs/iarc/
In my opinion I feel like the real issue is that many in the open source community want to have their cake and eat it to. They want to put ideas out there ostensibly for free and be part of the social communal movement, but when those ideas are actually used to generate value - they want to see the checks roll in. That's just not how it works. Look at products that are funded by donations. There are some exceptions, but the general rule is that they end up grossly underfunded and have to be more and more aggressive with requests for donations just to stay afloat. If people want payment, then demand payment. If you want to give away something for free, don't ever expect to get paid for it.
> a license where something is free for noncommercial or limited commercial usage, and premium otherwise.
That's basically what Mongo have switched to. Unfortunately, this broke other bits of community, because playing with licenses is actually not that easy.
My point is that, maybe, we need a new license that can reflect the changed times. GPL 3 wanted to be that license, but it doesn't look like it succeeded. The new licenses attempted piecemeal by this or that company (like Mongo) will always fail to cut it, because the are typically not written by people with significant experience and knowledge in this particular field (license-writing).
Maybe it's time for interested companies and expert stakeholders (FSF etc) to come together and try to agree on something that could move us all forward.
>Proprietary software is another name for nonfree software. In the past we subdivided nonfree software into “semifree software”, which could be modified and redistributed noncommercially, and “proprietary software”, which could not be. But we have dropped that distinction and now use “proprietary software” as synonymous with nonfree software.
>The Free Software Foundation follows the rule that we cannot install any proprietary program on our computers except temporarily for the specific purpose of writing a free replacement for that very program. Aside from that, we feel there is no possible excuse for installing a proprietary program.
Expecting the FSF and RMS in particular to negotiate away the core freedoms (just so that businesses can make profits, no less!) strikes me as the height of futility.
Who is "we" here?
Certainly not the FSF.
Why does OSI approve licenses that clearly don't care about this (e.g. GPL)?
Seriously?
There is the law, and there is the spirit of the law. When the law fails to produce the outcomes it was designed for, there is a problem.
It makes a lot of sense, especially for smaller companies. But Amazon in this case doesn't use MongoDB for something they need, they just want to make it available to their customers. They have no opinion on what their customers need from MongoDB, so they're happy to just tag along for free.
Yahoo allowed tracing from 2007 till 2011.
> Maybe it's time for interested companies and expert stakeholders (FSF etc)
That the FSF likely would have no interest in participating in such an activity since it would betray their core principles (regardless of whether you or i feel that this principle is sound)
That companies require you to get approval to work on something on your own time is fundamentally absurd. If I were a carpenter, I would not need permission to make a table. If I wrote ads, I would not need permission to write a book. That we think it reasonable for open source contributions to require company approval show that there is a severe overstepping of bounds on the part of the company.
So like it or not, if it looks like there're a conflict of interest (even if there isn't), people will blame it on the company.
So I don't really think it's so bad that they want to know what you're working on, provided that approval is usually granted.
Given the extremely diverse set of things that Microsoft works on, much of which is likely done without you being disclosed on it, how can you be sure that your project is not a conflict of interest?
No matter what the non-compete says, if you're in CA, you can use your own hardware and non-work time to develop anything that doesn't directly compete with your employer/dayjob and doesn't use trade secrets/IP from the company.
Amazon though is mostly based in Washington, where no such law exists, so sweeping non-competes are legal.
The above is the reason that there is a difference between various FAANG companies. Even if the company policy requires you to get approval, if it really isn't a work-related piece of code, you can simply tell them to pound sand and CA will have your back.
Compare https://apps.leg.wa.gov/RCW/default.aspx?cite=49.44.140 to the equivalent CA law: https://leginfo.legislature.ca.gov/faces/codes_displaySectio... . It's essentially the same wording.
What if you work for a company that happens to have a stake in basically every field of technology?
I don't want to compete with my employer, I just want to write some sound software on my own time and to maintain my ability to contribute in open source administration. It offends me that the state of the industry is such that I'm expected to sign away my soul on taking any software development job.
(The other main reason I won't work for a big is that I don't want to work 40 hours each week but the bigs won't budge on that.)
It was not always this way--VMware has become much more open source friendly over the last few years.
Is this really true? In my company (not FAANG, but a big one), you need approval only if what you do in your spare time has overlap with the work you are doing in your job. What the rest of the company is doing is immaterial.
Good employers don't want to abuse you, and in turn don't want to get abused, drawing a line is something they can understand and their lawyers can get their heads around. "This is mine, this is yours".
However, if that is the case, I’d love to know how so one can implement similar processes internally!
It would work by having the employee list their projects, and the company will, when they find a conflict or some shared interest, ask for the employee to volunteer to stop their project. The employee can refuse, but typically won't.