I wasn't able to do anything, not even in my spare time, to contribute to open-source projects or do other work. The other work I can understand, because I could help a competitor for an example.
But that they owned ownership for every line of code written by me, even on my time off, was killing my inspiration.
Somehow, as if by magic, as soon as you become a freelancer people stop caring about butt-in-seat time and start caring about results. Same goes for IP, I have never had a client complain about opensourcing something I made on their buck.
Where were you working? That's definitely not how US ip-law operates.
The rule initially was made to own rights to images and articles from photographers and journalists, so they couldn't sell to third parties, but was extended to also include code.
Every employment contract I've been asked to sign has had some level of owning stuff I do off-hours (up to everything you do any time on your own computers, everything you've done in the past, etc...).
I've always pushed back and gotten it changed to meet my needs.
It is a good signal that they will attempt to prove infringement on your outside work though, and you can't ever guarantee a win in that kind of court case; the case-law is too messy and depends heavily on unproveables like 'intent' and 'reasonability'.
No, it literally can't. It can be somewhat similar with contracts that promise a transfer of IP, but you'd get sued for breach of contract, not for copyright infringement.
That doesn't stop companies from putting draconian claims in their contracts and manuals, and it doesn't stop them from trying to prove infringement anyway (no copyright case ever is a 'sure thing'), which is enough to scare most employees into toeing the line. But they can't actually make unrelated work you do on your own time automatically 'work for hire'.
Here's a solid discussion of that topic: http://www.copyright.gov/circs/circ09.pdf
The pivotal words are "within the scope of his or her employment" - these words can get a little fuzzy, but http://www.wisegeek.com/what-is-scope-of-employment.htm is a reasonable (though not authoritative) discussion of the topic.
One place said they couldn't amend the contract, but wrote that they had no interest in code I wrote outside of work. A lawyer friend said that was close enough to be a contract amendment and I needed the job, so I signed. Another place happily amended it so they only owned what I made on company time with company resources. Problem solved in an amicable way.
The problem was also that we had two legal documents, the contract, and the "house"-rules. The contract just stated that "The contract refers and includes the house-rules".
It would require a lot of rework for them to rewrite my contract so only the part about ownership of code was amended, but all the other house-rules still applied.
It was my first job after finishing school, and the place was nice, and I figured it wouldn't be a problem, but I was wrong, and it kept irritating me.
Not once has any company refused such a change.
+ Worded appropriately, of course.
The problem from the employee's point of view though is that it may have to come to court before the employer will back down and there are costs in terms of money, time, and relationships associated with that especially if the company goes for the appeal cycle afterwards. Most individuals can't afford the time or cost of such a case (though costs are likely to be recovered from the company eventually, you need to find the funds up front) if it comes to that, and the software industry can be fairly judgemental and nepotistic so it'll be hard work getting a new job (once life becomes unpleasant at the old one due to the court case) now you have a reputation for being difficult. These considerations are why individuals back down quickly, as the assume the conversation will go:
Company: We own that.
Individual: No you don't.
Company: Contract says so.
Individual: You can't enforce that.
Company: We can try. Wanna fight?
Individual: Er, no. Here, take it.
Companies know the clause is not legally enforceable, but they have it in there because they know it generally doesn't have to be as most people will not argue as far as the legal status of the clause being relevant (in fact most people don't even know that it isn't legally enforceable). This is particularly the case for younger people or those otherwise near the start of their career.Most non-compete clauses are in a similar legal position.
I wouldn't be comfortable with that. If you have gained knowledge on Redis, you should be able to use Redis in a personal project. It would be different if you had developed a super secret ranking algorithm that you later re-implemented in another project.
Newspapers, commercial kitchens, design studios. All of them used open source software like PHP, jQuery, etc.
I developed a lot of jQuery plugins that will never see the light of day.