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!
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.