What can you do about it (if you live outside of California)?
Your key weapon here is knowledge. Specifically, the fact that California Labor Code section 2870 exists.
"...shall not apply to an invention that the employee developed entirely on his or her own time..."
Here's what you should do to avoid draconian IP clauses:
* Print out a copy of 2870 and bring it with you when you go to sign your job offer http://webcache.googleusercontent.com/search?q=cache:3qLjxOo...
* Read your contract. If you don't see similar wording in their contract, hand them your copy of 2870 and ask it to be added to the contract.
* If they try to push back, calmly explain that every resident of California gets this "for free". If Google, Facebook, etc employees all get this, why shouldn't you?
* Be prepared to walk if they refuse.
But what if you're already in a job which has draconian IP clauses?
* Try bringing 2870 to the table the next time you are negotiating for a raise or promotion.
* If you are cheeky, go get a job offer from a competitor, and highlight the fact that they are willing to offer you 2870.
But the best thing you can do is to spread the word about 2870! If enough of us demand this, eventually it will be such a hassle (for employers outside of California) that no one will bother trying to trick their employees into draconian IP clauses.
I should give a hat-tip here to my former employer, uShip (Austin, TX). They include this clause by default for all devs, and I'll make sure I ask for 2870 at every future job.
Generally anything you write on company time or using company equipment belongs to them though.
- you used company equipment for that == it's ours
- you billed us for the time which you spent on doing that == it's ours
1. I liked the people
2. The technology was interesting
3. I felt like I needed to break into the industry as a fresh grad
4. Every other company I'd interviewed with had a similar clause
5. The side projects that I work on are strictly non-commercial, for my own education, tend to be difficult to monetize legally, and have nothing to do with anything that my employer is interested in.
6. (found out later) My employer doesn't enforce its anti-competition clauses or try to take over IP that employees develop on the side.
I haven't regretted it in 8 years, although I'd imagine that a lot of the people on HN would be a lot more entrepreneurial than me.
I can, however, give you an idea of how it works. There are many personal wiki programs out there; I settled on Zim[1] as it stores everything in plain-text files and supports a basic markup. On my phone I have the repo set up with Pocket Git[2], and I view it with Coastline[3] (which is just an arbitrary text editor; I don't mind reading the Zim syntax). The Git repository is stored on BitBucket[4] since they offer free private Git hosting, though I now have my own VPN and am considering moving the repo there. Syncing is done periodically (roughly once a month) by committing, merging, and pushing, usually with a few minor edit conflicts to the more popular pages.
Pages are organized into a very loose and fluid hierarchy; for the most part I put things someplace that seems reasonable and then periodically merge, split, and move pages when they grow too unwieldy. The major parts of the hierarchy are:
- Project:(Active/Complete/OnHold): major projects (anything from Barcamp2015Presentation[5] to NewCellphone to BetterWorld[6]) get a page, which collects a narrative about the progress of the project, a summary of the current state, and any relevant links or quotes; this page may have subpages as well.
- Entity:* collects links for anything related to someone or some company I've been involved with; mostly this is backreferences to projects I've worked on for them etc. For example, Entity:Person:JohnSmith could link to Project:Complete:JohnMidiController for a side project I did for a friend.
- Hardware:* collects everything hardware-related, for example Hardware:Computers:RaspberryPi has links to pinout diagrams and the like.
- Software:* collects software-related pages, with subsections for Software:Protocols, Software:Programs, and a smattering of loose pages.
- Snippets:* covers code snippets, such as Snippets:Bash, Snippets:Python, and so on.
This covers about 75%; the other 25% is somewhat less organized and consists of things like fiction ideas, links that don't fit anywhere else, the aforementioned LifeSkills namespace, and Miscellaneous:Quotes:FunnyPhrases ("you there, wear these groceries"[7], "Turns out I'd just existed inconveniently at you"[8]).
Hopefully this rather long post answers your questions, but let me know if there's anything more you'd like to know.
[2]: https://play.google.com/store/apps/details?id=com.aor.pocket...
[3]: https://play.google.com/store/apps/details?id=com.rumsunrise...
[5]: http://www.linestarve.com/blog/post/A-Mad-Scientists-Guide-t...
[6]: A Grand (Semi-)Unified Plan for improving everything, encompassing BetterUserInterface to BetterGovernment to BetterEconomy.
[7]: http://www.wildelifecomic.com/comic/195#comment-2550773663
Something that worries me is: what if I work for a company that decides that everything I've written on their time belongs to them? If I had all of this in my head there would be no question about it, but writing it down introduces questions of copyright. Should this ever happen it would basically be the equivalent of losing a chunk of my brain, which is a bit of an alarming prospect.