Software Development and The Ensuing IP Hell
Today, I saw an article on Github’s IP arrangement with its software engineers. It got super popular on HN and for a good reason: IP laws are hell for software developers.
If you’re a new developer, want to get into the field, or just want to hear a nightmare story, stay tuned.
What is IP and why should we care?
Before we get into the nitty gritty of my story, let’s define a few things. IP stands for intellectual property. An easy way of looking at IP in terms of development is:
> Any process, algorithm, or unique code that a developer creates.
A company pays a developer to create unique code, algorithms, and processes and then keeps rights to that code or whatever it is. This makes sense. Someone asks you to create an app, they pay you for it, and they own exclusive rights to that app.
The issue often comes up regarding where those IP rights extend to:
- Does a company own IP to projects you worked on but were not assigned to?
- Does a company own your IP if you worked on it during work hours?
- Does a company own your IP if you worked on it using company equipment?
Things get a little harrier from there because there are lots of in-between situations such as:
- If you use your own equipment for work, does the company still retain IP rights off-hours or possibly even during hours?
- If you had the idea for something while working, does the company retain IP rights or the individual?
- What if you develop something during a lunch break?
- What if your schedule is flexible? Can you “take a break” from work and work on your own IP?
- What if your IP is inspired by your work? or related to it?
- What if your IP could greatly benefit the company?
My Story
One of my first job was truly a nightmare. I reference it in almost all of my tech-related articles. It was a job at a Marketing company and I worked as a WP developer. As the sole technical person sitting in a room full of non-tech people, it was a nightmare bridging the gap.
IP was definitely a big gap there. The founders of the company didn’t have an issue with their own IPs. They owned a stake at the company and so everything they did was devoted to the company. Other employees didn’t really deal with IP issues (but rather stuff like client management which can get as hairy, I’m sure).
When I first joined, I made it a stipulation in my contract that I’d be allowed to freelance in my free time. The job paid well but the company sought me out and I still had a few contracts hanging in the air that I had to fulfill. They agreed, I signed and work started a week later.
> I made it a stipulation in my contract that I’d be allowed to freelance in my free time.
I still make sure that contracts don’t stipulate that I can’t get income elsewhere. I have several friends who have this issue and miss out on a lot of opportunities that might not even be field-related.
About six months into the job, we reached a “checkpoint”. At this point, I was supposed to get a lot of the things that were promised to me when I joined:
- a hireling to manage and spread (heavy)workload
- healthcare
- contract conversion to W2
- more PTO
- higher pay
I was presented with a contract. 4/5 of the items were unfulfilled. The company did not grow enough to hire someone else…yet the work had significantly increased. The company never setup for W2s, it turns out, and everyone was contracted…so no healthcare either. The company could not afford a raise for me or anyone else, including the founders.
But they could bump my PTO from 7 days to 10 days.
I decided to take my wife’s advice and I poured over the contract over the weekend and found a few startling details. The first was a claim on any IP I may produce while being employed, on or off hours using or not using company equipment. It extended far beyond that to encompass ANY IP in ANY industry/field.
You read that right
> The company wanted to lay claim to any kind of technology or creative work I did.
I worked hard on a Wordpress boilerplate theme for months in my spare time. I wanted to create the ultimate theme to use for freelancing, my personal site, and the like. I learned A LOT about Wordpress during those months but also about LESS CSS and a few other technologies. I created pluggable modules for the theme and added support for several CSS frameworks should I want to use one of those.
I put in a lot of hard work into this. I could not imagine a company simply taking it away from me.
After reading over the contract, I went to speak to my boss.
The Conversation
We walked into the lobby of our building, sat down on a couple of comfortable couches and started talking. Note that I’m paraphrasing but definitely not changing the meaning of the words. They’re not an exaggeration.
I asked him about the clause and how it would relate to my Wordpress theme that I’ve been developing in private.
> You used the experience from your job. We SHOULD own the right to use it. I mean, can you imagine? You’re getting all this experience from the work we give you and you’re using that experience. What if we wanted to open up a Wordpress theme shop based on that boilerplate? We have a right to that theme even if you didn’t work on it in the office.
I was taken aback. I tried to clarify:
Even when I’m off the clock? Even with my own equipment?
“Yes.”
I started to feel a little uncomfortable but I had to dig deeper. It was one of my first few jobs so I felt a little uneasy with this and didn’t know how to directly approach it.
I used to write a technical blog I really enjoyed. It included tutorials, code samples, and a bunch of other stuff. I asked about the rights to that.
> We reserve the right but would most likely not exercise it unless it would really benefit the company. I just don’t see it happening in the near future.
Writing is as important to me as programming. In fact, writing helped me learn how to program. At that point, I knew I would not sign it but before moving onto some of my other questions and countering, I brought up that I was writing a sci-fi book and if they had rights to that.
> Yes, that does fall under the IP clause but why would we want your sci-fi book?
I worked on that novel long enough and hard enough to know that quitting was pretty much my only option should I be unable to change the terms of the contract.
I decided to ask about the freelancing stipulation that was present in my initial contract but markedly absent from the new one.
> You should not be devoting any energy to anyone else. If you’re working, you should be working on our projects. You’re wasting mental energy on other work. If you can work extra hours freelancing, you can surely work extra hours for this job instead.
So…I decided to argue with him. How could they justify this kind of reach? It’s totally unfair to hand over anything and everything I’d work on during my time with them. In fact, that kind of policy would just keep me from doing anything creative with my life.
> It’s industry standard. Do you think Google lets their employees keep rights to the things they make? Of course not, that would bankrupt them. And Facebook? Or any other tech companies for that matter.
I still shudder at that conversation. I ended up trying to make revisions to the contract which meant that the contract went back to a busy underpaid lawyer who took a month to come back with no concessions.
I wrote and printed out my letter of resignation but got fired two days before handing it in. Part of it was my refusal to sign my new contract but there were other issues between me and the rest of the company. I got a week’s worth of “severance” which worked for me.
The non-compete
Before I move on and tell you WHY that policy was a horrible one and why Github should get a round of applause from engineers around the world, let me tell you about one other controversial topic: non-competes.
The contract contained a clause which specified that I cannot work for a competitor for the next two years. What’s the definition of a competitor?
- a business operating in the tech, marketing, and sales field
- a business operating in a field that [company] may venture into it during the duration of the non-compete
- a business operating within 40 miles of the company
Yeah. I came back to my manager and asked how WTF they’re thinking. According to those rules, I can’t work anywhere in the city for pretty much any company. To which he shrugged and said:
> Well, it’s a pretty big city! And anyways, it’s industry standard. You’ll find the same clause at Google.
I really wonder where he got all this internal info on Google’s engineer contracts.
Regardless, he even mentioned that it’s probably “unenforceable”. When I asked them to remove it if it’s unenforceable, he told me they didn’t want to pay further attorney fees for changes.
Why this sucks: for the developer and for the company
It should be obvious but I guess it’s not.
For the developer, having rights to your own stuff encourages you to learn, explore, and get better at what you do. I routinely build little apps, websites, etc. and because of it, I learn new technologies and new ways of doing things.
Over the past several years, I’ve noticed just how much that impacts my day time job. I picked up a bunch of different frameworks and they taught me new design patterns that I was not familiar with. And each time, I was able to use that knowledge directly at work. Sometimes saving days or weeks of decision-making or debugging or refactoring. And that’s not an overstatement.
Owning the apps I make encourages me to make them. I can make them about whatever, and I can be proud of it. Losing rights to it means I lose ownership and personal investment. It means that I lose my passion for what I do. One of the joys of programming something really cool is that feeling of “I made this!” and being proud of what you do.
Not only does all of this make me a better developer, but it works out for companies as well. They get better developers.