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.
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.
"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.
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.
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.
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?
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!
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.
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.
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.
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-...
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.
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.
Is this in addition to the regular salary you are paid, or…
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?
Why do we put up with this!? The foundations of our industry go back to how much early developers share with one another!
The tyranny of a stable paycheck.
In this case, it is the "tyranny" of a large paycheck and equity from the wealthiest public company in the world.
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.
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.
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.
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.
Yahoo allowed tracing from 2007 till 2011.
Even Amazon employees in CA should be exempt from this policy.
...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".
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.
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/