Is it ethical to keep a copy of the code or designs you did for your employer, for your reference?
Please comment on the two:
A) Extreme case:
[deleted]
B) Normal Case:
You keep a copy of your work and designs so you can reuse the ideas and perhaps even snippets of code. It is also a record of your work. This is for 'normal' work that took lots of thought and effort, not patented stuff.
Qs: How many of you regularly do B? Please also comment on A
39 comments
[ 6700 ms ] story [ 908 ms ] threadA) is illegal. You have no ownership of ANY code or IP that you work on at the company that employs you. That's what they're paying you for, after all.
B) is also illegal. Unless the company in question has open sourced their code and allows anyone to use it under some kind of a BSD-like license, you have absolutely no right to use that code or IP.
Not only are both of these cases illegal, they're also highly unethical. Also, if you're forming a company around someone else's IP, you're gonna crash and burn.
When I worked as a contractor, I would use my own libraries to save me some time but before I used them, I notified the management that I was using them and told them that I own the code and that I give them full right to use it without any licensing fees and I also told them I would use them on my other contracting jobs. They always accepted these stipulations an I've never had any problems. They loved the fact that I was not wasting my time and their money re-implementing the wheel and that I was solving their problems in record time. The key is to be open and put it all on the table before you start working.
Also, after I'd finish working on a project and if I was using my own computer, I'd wipe my computer clean of all of their code. I would do that on the last day of my job and I ALWAYS made sure that someone from the management was there to witness it. Sure, that might be going overboard but trust me... it's worth it. It shows them that you care about these sorts of things and it also makes sure that they won't have a strong case if they ever decide to sue you down the road because you end up inventing something amazing that's in their marketspace or you end up working for competition.
I agree that copying code is wrong - but what about a good idea that you come up with, or a neat design or technique in code?
It seems unfair given that doctors, scientists, marketing and many other professionals can keep a record of their work. Maybe not reams of data, but something. (I am not 100% sure of the extent they are allowed to). All art professionals have portfolios.
Is your brain just a vessel to be washed clean before it is rented out again?
Again, I am not talking of secret algorithms that would break a company, not someone else's work.
http://www.developerdotstar.com/mag/articles/daniels_softwar...
Great article btw, thanks.
I don't really want to get into the ethics of it, because I don't think ethical debates are particularly fruitful. (I took a course in meta-ethics in college, which makes me particularly suspicious in attempts to ground ethical judgments in factual statements or logical debate.) I'll tell you that I wouldn't do it; it sounds dodgy enough that I wouldn't really want to get involved with it. Ultimately, most ethical judgments come down to gut feelings about right or wrong.
I will say that right or wrong, I think it's stupid. You're opening yourself up to big legal liability. If acquirers or investors find out about it (and they will - that's what due diligence is for), they will nix the deal. Heck, I'm spending about $1K to have a lawyer draw up a release to make sure all IP I developed for my startup while employed belongs to me, and I didn't take any source code from my employer (I'm using a completely different technology platform and am in a completely different area of business.) It's just something I don't want to fuck around with.
http://www.developerdotstar.com/mag/articles/daniels_softwar...
In regards to the government, I admit I don't know, I've never contracted for the government.
Also, I find it strange that the link you provided argues directly against your position.
The neat thing about the labor laws in California (and some other states) is that they protect you from signing away lots of other rights as a full-time employee. It's difficult to enforce non-competes against former employees for example.
In my experience, people who are buying custom software don't even think about copyrights and licenses; it just never occurs to them.
Software copyright and ownership issues are murky. If they were clear cut, would Facebook be running right now?
Facebook is a great example. It depends on who you believe, but it appears that Mark Zuckerburg worked on a site that was similar to Facebook, but geared towards Harvard students. For whatever reason, he bailed and started Facebook, which was pretty much the same thing, only with a bigger scope, and better.
If he stole some PHP code, is that unethical? If he stole the idea, is that unethical? What if the guys he was working with were idiots who didn't really care, and were going to only pay attention to their rinky-dink site when they weren't at rowing practice? Is it unethical to grab someone elses idea and run with it when you know they are just going to let it lay fallow?
http://www.copyright.gov/title17/92chap1.html#117
(Why is it that when it comes to ethics, what was once clear cut is now "fuzzy"?)
For example, once in a while I will come across a problem that I know I have solved before, so I will refer to code I had previously written for someone else to remind myself of how I first solved it. I don't see any ethical dilemma in this.
Of course, no one owns what's in your brain, but that's all you own. Move on.
That said, I still think that there are occasions where referring to past code is entirely ethical.
Say for example I forgot the mod_rewrite flag to do what I need, but I used the same flag for a client in the past and I still have a copy on my server. Instead of Googling around for it, which might take a couple minutes, I could look at the copy from before in a matter of seconds. That is the kind of thing I would do, and I certainly am not violating anyone's IP or copying any code. Would you still say this is unethical?
Edit: I don't know why someone modded down the parent comment, you did make a valid point.
I'd draw the line at using the result of previous problem-solving that you've done for your employer. For example, in the course of my employment, I wrote a slider widget for my employer's product. I need a slider widget for my startup. Rather than using the code I wrote for my employer, I'm grabbing another open-source slider widget and modifying it as necessary. Same with utility classes - my employer wrote an OrderedDict class in Python, I need an ordered dictionary, rather than using my employer's I grabbed a third-party class off the net.
Believe me, I'm not holier than thou - you should hear me in traffic. But I really think that this is a black and white issue. I don't see any difference between illegal downloading and walking out of Walgreen's with a CD in your pocket. Or putting that extra chicken leg from the buffet into your purse. "They'd just have to throw it away, anyway." I don't care. Right is right and wrong is wrong.
I don't ever want anyone to get the impression I'd employ situational ethics in business (or anywhere else, either). And I do not want to knowingly conduct business with anyone that does. It's simply not worth it, period.
I once had a partner that drew the ethical line where it was most convenient for him. First, he copied software from one account to another. Then, he went through a client's employee's drawers looking for something to "save us a lot of time". Before I realized it, he was making back door deals with clients and vendors because he "didn't think I'd mind; it was money I'd wouldn't have ever seen anyway."
I'm certainly not suggesting that everyone progresses down that path, or that reusing tidbits of code is the same as murder. It's just that when it's time to draw an ethical line in the sand, my position is clear and firm.
Just a few antecdotes to give you an idea of how strongly some business people feel about this issue:
- An acquintance of mine was earning $150 per hour advising a Fortune 1000 company which multi-million dollar enterprise package to buy. As an aside, he brought in a buddy to sell printers to his client and split the profit. He was immediately fired and black-balled. The CEO's reasoning was, "I would have never known if we made the right decision."
- A vendor was presenting their software package to my client. They said, "We already know your industry. In fact, we sold a system to XYZ Company." My client immediately dismissed the vendor. He later said, "That's all I need. For one of his programmers to accidently say what I'm doing to an XYZ employee over coffee."
- My client went bankrupt. Their assets (including all IP) were acquired by a third party in the settlement. Imagine their surprise when they had to compete with my client's ex-employee who set himself up in a software maintenance business at 1/2 industry rates. How did he know who to call on and what software they had? The case is still in litigation, but that guy's name will forever be dirt in this town.
- A contractor at one of my clients accidently left a thumb drive on a desk he was using. It had 70,000 social security numbers on it. What were they to think?
I could go on and on. They are some real slime balls out there. There are also plenty of good people who make stupid decisions to save a little time because "it doesn't make much difference anyway". How are people supposed to know the difference?
And when it comes to technology, many business people are doubly in the dark. Sometimes, TRUST is all they've got. It's so ridiculously easy for many of us to earn a nice living (try digging ditches instead), why would you ever jeapordize that over something so trivial?
I agree with you that drawing the ethical line wherever it is most convenient is bad. In fact, I have discussed or debated ethics online a few times in the past, and I was always in your position, saying that the issue is black and white no matter how convenient it would be otherwise. Perhaps this is why I am so interested in this thread, now that I am on the other end of it.
Anyway, thanks for your insight. Although I am still not convinced that anything I did was unethical, I will think twice before looking at past work again.
Every once in a while, it's nice to say that which goes without saying.
which is more unethical?
the restaurant throwing away perfectly good food into the trash when there are hungry people in poorer countries (or even a few blocks away in the same city) who haven't eaten chicken in months because they cant afford it? (I know people like that).
OR
the "chicken leg buffet" person. He paid full price for his buffet, only his stomach can contain 2 legs, and he does not wish to greedily stuff himself with 6 legs.
or what if he took 4 legs on his plate, and out of a good conscience, cannot throw 2 uneaten legs away?
point: it is hard to judge other people.
I managed to open-source some parts of my code (basically some generic libraries) under a very liberal license and to reuse it in other companies. Not without agreement with the employers, of course.
but the actual idea? well where would you guys classify this? i think the actual idea unless protected by a patent is open.. also a lot of companies put a no-compete clause forbidding working for another company in the same domain ... (even though in some countries thats against the law)