Ask Slashdot: What To Do When Another Dev Steals Your Work and Adds Their Name?
An anonymous reader writes "I have had an interesting situation arise where I built some web apps for a client about 2 years ago. I have no longer been working with the client and a new developer has taken over purely for maintenance work. Currently I have been looking for new work and have used the said apps as part of my portfolio. During one interview I was informed that I not telling the truth about building the apps and I was then shown the source of a few JS files. It seems the new developer had put a copyright header on them, removed my name as the author and put his own. Now this is grey territory as it the client who owns the source, not the contracting developer. It put me on my back foot and I had to start explaining to interviewers that the developer stole the work and branded it. I feel it makes me look like a fool, having to defend my position in an interview with a possible client and I feel I had lost the chance of directing the outcome of the interview. I have cut the apps from my portfolio, however they are some of my best work and a real testament to my skills. I decided to cut my loss and move on, I am not looking for a fight or any unnecessary heartache. So what you do in my situation?"
They shall all drown in lakes of blood. Now they will know why they are afraid of the dark. Now they will learn why they fear the night.
the sco trial is over man. you just had a bad dream, that's all.
summarizing the work you did, and identifying you as the original author of the code.
This isn't hard. Yahoo career advice stuff.
will not help with changing what already happened, but for the future put your work on github or some other similar service, keep the project private, then you can use that to prove precedence.
That sounds like a shitty situation, my condolences :(
I suspect the lawyer route is probably a bad idea, but I'd be really curious what a lawyer would have to say on the subject (at least here in Canada we have "moral" rights that dictate among other things an authors ownership of his work (even when it's "work for hire").
...and inform them of the unethical behavior of the new developer, the situation it put you in and how shocked you were to find that they had deprived you of the opportunity to take credit for your work. Somebody at that company hired you and knows what truly happened. Hopefully that person is in a position to put the situation right and give you the credit you are due.
That said, relying on your code being still accessible after you have left it for a while is not a situation you want to be in. Your former clients can take that code down and replace it any time they want, with anything they want. You should have checked to see the status of that code yourself shortly before you tried to present it as an example of your work.
If the original client won't cooperate, perhaps you could send a DMCA takedown notice asserting your ownership of the copyright for the original digital content.
Sometimes the "writing on the wall" is blood spatter...
Get a referral from the company.
If the copyright message is pointing to the maintainer rather than the company, you may want to point it out to the company since the new developer may be trying to claim ownership of the code (or may simply be naive).
Most of the people here don't give a rats about intellectual property unless they are ranting about how Hollywood and proprietary software's model is broken. When it's one of our own though, it's pitchforks and torches.
Have you considered that the people who argue the former aren't always the people who are upset by things such as this?
Smart move. Because that doesn't look like an admission of guilt at all.
Seriously, how difficult is it to prove that you were there before him?
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
Inform them of what's happened. Get them to send you a written & signed confirmation that you are the original author.
Pull the logs and other supporting information including client notes, change orders, SOWs, source code revision history, etc. and present it. . You can explain that it's a matter of principle that you're doing it because you value your good name. I think it's unlikely that you'll be retained by that company, but clearing it up may give the thief a bit of heat.
It has happened to me while working at UPS. One of the admins there stole my training guides and put his name on them.
1) Write to the client and to the developer explaining that it's pretty shitty to remove the original author's name (and in some cases, in some places, illegal) from a work. Explain that you'd appreciate it if your name was put back as the original author.
2) Keep the project in your profile, and if you get a negative or no response from the client and other dev, include a note saying that the other dev removed your name. And because you kept all the development files (you did, didn't you?), you can write in your profile that that in an interview you can show the progression of this project from start to end.
In the future:
* Always keep copies of files you have worked on (in a version control setup). (Especially useful if you keep the copyright. Reuse.)
* Never sign over copyright if you can help it (give clients a license instead, make it BSD-like and they can still do whatever they want, except remove your name).
* Include a clause in your contract (and you do have a contract before commencing work, don't you?) saying that the work can be included in your profile, along with a comment (praise or whatever) from the client. Link this comment to the client's website or contact details.
* And in the rare situation that the client wants you to both hand over copyright, and not retain any of the code, then demand triple or more of your usual rate. Explain that this is to offset future loses from not being able to demonstrate your awesomeness. If they don't blink, you should have asked for ten times or more.
HELP MY ACCOUNT HAS BEEN HACKED BY AN ILLIBERAL ART STUDENT SET TO DESTROY THE INTERWEBZ!
The code you developed for your client was most likely never yours to begin with. Despite well-meaning suggestions made here, you really have no right to go back to the client and demand anything. Present the code as your own to prospective clients, explain the situation, and leave it at that.
We all have fantasies of getting back at assholes like the one you described, but in the real world, you just need to take the high road and let it go. From the description you gave, it sounds like you're new to the game. Focus your creative energies on your work, not on vengeance. Your integrity and professionalism will remain intact, which is much more important than striking back at some perceived slight.
Yeah, because when I download a movie, I replace all of the credits with my name and try to pass off to potential employers that I was wholly responsible for the film. Unless it's an Abrams film... he can keep those.
I cannot remember anyone claiming that artist should not be credited. There have been arguments that you should be allowed to copy their stuff for free, but I've never ever seen anyone claiming that you should be allowed to claim you had written that stuff if you haven't.
Or in short: There's a difference between copying and plagiarism.
What the submitter complains about is plagiarism, not copying. From his submission, there's no indication about how he thinks about copying.
The Tao of math: The numbers you can count are not the real numbers.
I just read about this case yesterday. Funny.
One of the undercurrents in this whole thread is that we have no idea whether OP is telling the truth or not. There's a signficant chance s/he's jerking everyone around so s/he can forward this link to a hiring employer. How can we tell the difference? I think OP, if he's telling the truth, has to figure out what can prove they were the real author, besides the obvious of calling the client they did the work for (Duh!). That's something that can't be thought of from a one (long) paragraph summary.
you have commit dates, if the change copyright on your file is newer, there is your proof
you also have the commit history, better proof than anything, unless they suspect you faked hundreds of commits and bug fixes
That would work, but it would be unethical for a developer to commit his code to a publicly-accessible server without client permission to do so.
You spelled "Uwe Boll" wrong...
Don't put it in a public repo, that's likely to seriously piss off the client. Instead, do the work in a local git repo on your machine (committing from there to your client's repo, if they use one) so you can show the whole development process. When the project is complete, burn a copy of the repo to cd and get it notarised, or maybe use a CA's time-stamping service on the repo file.
Information, when copied at one's own cost, does not take that information away from the original owner. Credit, when taken, is taken away from the original owner. Your notion of intellectual property falls on its ass when you try to to equate it to material goods. Credit, however, maintains the same basic rules as physical property: Claiming it for yourself, even at your own cost, does take it away from the original owner.
Mind the frickin' laser...
In the context of an interview the fact that the source was presented could be a perfect opportunity to demonstrate your knowledge of the code by offering to explain its operation and the design decisions that came about during development. Your skills are better proven in how you articulate your knowledge and ideas rather than just pointing to a name on a comment banner. A major lesson learned would be to expect this and to keep cool and not look flustered when someone tries to call you out on it. If you had an amicable relationship with this former employer you might even touch base with them ahead of time to ask if you can list them as a reference so they can corroborate your authorship.
Account -> Discussions -> Disable Sigs
The server itself is still public and it isn't your code to commit. You are being paid, generally, to create code for someone else; thus it is their code. This means that you are putting the code on an outside host of unknown security, and is still wrong.
When you work for someone else as a contractor, you can't just do this. You should spell it out in your contract or whatever before you work for them that you will be archiving your work for reference material for the purposes of demonstrating it to future clients.
Well, there's spam egg sausage and spam, that's not got much spam in it.
Agree: this is more about credit than about copyright.
If you had built a bridge for your city, you should be able to list that as one of your accomplishments. It does not mean that you can walk off with the bridge. At the same time, you'd be perfectly justified in getting pissed off if someone else said that it was they, not you, who had built it.
404555974007725459910684486621289147856453481154 in hex is "You sank my Battleship?"
[GPG key in journal]
Even then: there is a difference between "ownership" or "intellectual property" (what many here dismiss) and getting credit where it is due (this case).
It's like in science: scientists (many /. posters among them btw) don't care about who copies their work, as long as their name is in the history books. Most free/open source software: the same story.
Simply putting up a copyright, and a name of the current maintainer, _corporate employee_ who is responsible for maintaining the software, is not a large offense where I work. If you did not sign it at all, it could even be unsurprising that a newer developer would do so, to provide a contact point for users of the software, especially if hte copyright is a corporate copyright and not a personal one. They may even think they modified it enough to deserve a new copyright (which can be very easy to do), even if some of the best core components are essentially unchanged.
So there seems no need to start out heavy handed. Also, you're showing off in your interview that was done as a work for hire? Did you get permission from your former employer to display or share that work? Then you may be violating _their_ copyrights. So be safe: contact them, especially your old manager if you can find them, and ask for permission to show your old work, and see if you can cite them as a reference for doing that work.
If the new developer is actually plagiarizing your work and re-copyrighting it for themselves personally, your old employer is the one being hurt by this. Then you may need to show some traceable source control or software backups to enforce the claim. And you may be able to get cooperation from supervisors or HR at your old workplace. It could be awfully hard to sue for damages in a situation like this,, especially if you don't have good evidence. But someone who is plagiarizing your work will probably plagiarize other work, and a good manager will appreciate a heads up from the original author. This has happened to me and my colleagues before, and will again. It may be too late for you to follow good source code control practices, but those can be invaluable not only to locate who write the code, but who _broke_ the code later.
If you've got your evidence lined up, you might even be able to contact this developer directly and give them the opportunity to fix the situation. If they can provide a letter that says "this work was originally developed for Company A by _fill in your name_, and we're delighted with its performance.", I think you'd be in very good shape for the questions you w4ere asked.
wtf is this? fair use? we're not talking a copyright of a book, we're talking somebody's property. do I have fair-use rights to use your house for educational purposes?
The submitter probably doesn't have access to their version control.
However, if they can show their work remotely, they could easily find an archive.org link to an older version. I believe javascript files are archived just like everything else. This could possibly be useful if the submitter decides to take legal action -- I think they have some grounds to do so.
Charisma is the measure of someone's ability to lie with a straight face.
Interviewer - "We checked the source code cited, and your name isn't on it?"
You - "Thanks for checking the source code, that was work for hire, so it's owned by the company I wrote it for, so while I'm disappointed my name was removed from the source, they own it so they decide, I can cover some of the features if that would help?'
The above shows that you clearly understand work for hire is owned by the entity that hired you. You expressed your personal opinion while remaining professional about what happened, and providing a reasonable way to prove you at least understand the code.
If they go so far as to say you lied, then do you honestly, really, want to work for them? Do you want to be dealing with them when you submit your bill?
If they approached this more professionally and said something like 'Oh we could see how that could happen, maybe you can describe the challenges in that software and the solution' then you should be able to convince any reasonable person that you at least grok the problem, and explain your solution.
They can then follow up with another question, and you've avoided the pain.
We've all had interviews where the interviewer was just an incredible jack-ass. They may be intimidated by you, they may be just an incredibly insecure person or having a terrible day and acting poorly. The best way to act if at all possible is always to be professional. Give your answers, they can take them or leave them.
Remember this part if you remember anything. You are interviewing them just as much as they are interviewing you. Yes you have to pay your bills, and feed yourself (and possibly your family), but don't go into this from a position of weakness. You are a valuable commodity, and it's their job to convince you to decide to spend the finite allotment of time we have during your lifetime working for them just as much as you may want the job.
Many technology professions and engineers are uncomfortable with negotiating. Don't be. If everyone in IT could learn that one lesson, that being hired whether it's contract or full-time is a negotiation goes a long way.
If you are dealing with a less tech-savy more 'business' orientated person you will win points (even if grudging) that "Damn this technology person can actually negotiate and isn't a nerd who would work for star-trek lunchtime showings"
If you are dealing with a more tech-savy person they probably won't be focused at all on the business side of things and you can discuss shop talk - discuss honestly some 'pain' (without dissing any company or individual) and often you can throw in a small amount of humor. When interviewing for a technology position it's a big plus to meet a candidate who can admit things that were tried that were disasters that they worked through.
If the interviewer has any scar-tissue at all they will understand you have been in the trenches and had things go wrong, and you can explain how you worked around it. The solution may not have been pretty or elegant but it got you and the company you were working with through the problem.
Someone who can think of their feet, evaluate what's going on, make a decision and adapt to save the ship is worth a ton. There are so many people in technology who search for silver bullets and are so enamored with X, whether it's hardware or software architecture that showing this helps hugely.
This is defined in your contract with the client. It is common for the developer to retain ownership of the code, but to grant an unlimited license to the client. This is common practice, since it prevents a client from suing you when you use similar code or techniques in a future project (perhaps on of their competitors). If a potential client wants me to actually hand over ownership, then they get a different price.
Much more useful than seeing code with someone's name on it is hearing that person describe the code. If someone calls you on it, offer to explain the design of the code, the decisions and tradeoffs made along the way, and what you'd improve next, or how you left the code in a state to be more easily maintained (by you or others) in the future. That would feel *much* more useful than seeing your name on it, and would take you a fraction of the time invested to get it done.
Produce it, along with the specification and the invoice for the work, with irrelevant details redacted (like how much you were paid).
The fact that you have specific project documentation should be ample evidence that you are the original author. All that needs to be done for verification is to have the new client phone the old client and ask if they had indeed contracted with you for a piece of work. No other specifics.
You could have even phoned the old client from the new client's place of business and asked the old client to verify it right there, as long as you have good reason to expect the old client to tell the truth.
-SS "Teach the ignorant, care for the dumb, and punish the stupid."
A name is just a name. The code doesn't belong to either you nor the new developer (most cases). It belongs to the client. If they wanted to change the name or the new developer (agent owner) wanted to; it is completely fine and legal cause they own the work. If you wrote something and you owned it, it is your right to put your sons or wife's name on it.
Having said that, it has nothing to do with proving you wrote it in an interview. If someone said that you didn't write something, cause another persons name is on it. MOVE ON. Get your head out of your ethical ass and simply say they clearly did a lot of updates and the current version belongs to the new dev but you wrote the original. If the interviewee says you didn't create it, simply tell them you can answer any question about it's early development. Have them prove you didn't do it. If you are that uncomfortable about answering such questions, then don't have it on your résumé. Just your depth of detail in answering any questions will show people that you have intimate knowledge of the program. Let them come to their own conclusions about their developer. Don't be the dumb ass attacking their company by throwing out or implying accusations (however valid) in an interview.
Remember you DO NOT own the code, but that doesn't mean you can't take credit for your hard work. Two completely separate things.
Others have correctly pointed out that you were most likely in a situation of work-for-hire and do not have a copyright claim to the work. However you may have a claim under Author's Rights (also referred to as Moral Rights). Author's Rights are separate and distinct from Copyright, and cannot be transferred. It doesn't grant you that much, but (amongst other things) it does grant you the right to be named as author (or co-author) in a work.
Your best course of action to to write the client a friendly letter or email (I'd lean towards letter in a situation like this), relay your situation to them, and inform them that you wish to be named as author (or co-author) in the work. Be clear you are not claiming any kind of copyright! You also may wish to point out that the other developer is incorrectly claiming copyright, when that belongs to the client. Just be careful of not making this an attack on the other developer. You just want some way of having your work recognised. If you do send a letter, be sure to get a notarized copy before you send it, in case you have to escalate things.
If you do need to take it further, then I'd suggest to just cut your losses and walk away. The other developer claiming your work as theirs is Libel: it has already harmed your reputation. It will be expensive, and chances are you wouldn't get enough to cover your expenses (not to mention the damage it would do to your reputation even if you are right).
Basically he's like the architect and builder of a beautiful building, and was bragging about it to a prospective employer, to suddenly find out some asshat that got hired to do maintenance after he left changed the dedication plaque and blueprints to have his name instead.
This is probably common. I have had a similar thing happen - I wrote a system for a major bank in Java/JSP, and they ran it for a bit. Then they copied it (line for line, I saw the code) into C#/ASP and did some minor updates. They then claimed it as their own, and stopped paying the support fee.
Given they were the biggest customer of the company I worked for, there was nothing to be done. Oh joy.
I share your pain.
"Cats like plain crisps"