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.
If the source is on version control (e.g. git) could you not easily prove your case?
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. Without some sort of intellectual property law enforcement, any intellectual property can be misappropriated. You can't have "anything goes, except programmers always get properly credited, because programmers are cool while recording artists, movie makers, novelists and all other non-programmers need a new business model"
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.
Out them anywhere and everywhere that is an appropriate forum (no pun intended).
As long as you can prove it, then teach them a lesson the only way they will learn: a shark with the laser of truth and exposure from outer space.
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).
You do have some documents when you started working for them right? Is its not possible to show those and prove it?
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.
Should have told them to lookup their backup repos. Verified (with kudos).
I decided to cut my loss and move on, I am not looking for a fight or any unnecessary heartache.
That's where you lost the battle. If this work is truly yours, there's usually a way to prove. I mean, I can read code and tell who dveloped it -- from the style. I mean, you could even point to older work you've done.
I just don't understand how you can let a fella claim ownership to work that's truly yours. You could at least do half a SCO...I mean, at least attempt to sue the fella.
Don't remove the apps from your resume and contact your previous employer. Try to explain the situation. I'm sure this is some kind of fraud. If you can prove that you designed the system, you should insist that your name is in the source.
And it isn't the other developers' either, if what you say about the client owning the code is true.
Did you originally own the copyright and then transfer it to the client?
Or was your employment such that the first owner of the copyright was the client and not you?
If the former (you transferred the copyright to its new owner, the client), you can simply explain that, and also say that you believe the other developer's claims of copyright are incorrect, since the client owns the copyright.
If the latter (you were never the copyright owner of the work), then you can explain that you didn't claim to own copyright to the work, only that you had created it. Perhaps a letter of reference from the client would be sufficient to show this.
Get in touch with that former client, and tell them what their new developer did. It's easy to prove you're the author, and not him, by checking the dates when he started working with the client and the date of creation of those JS file
Good luck
Well, if you are not looking for a fight you already did your best, move on and forget about it. Unless you stand for the right thing being done you will keep being trampled all over by others.
While I can only speculate on the situation...
> I might include some of the initial design information (wireframes/etc) as evidence. This can also aid in the portfolio, as it speaks to the entire process from idea to creation, as well as PROVE that you were involved. As another reader mentioned, you could use source code / version history as well.
> you may at times need to explain that any CURRENT dev can simply make it look like they want. As an example, place a copy of jQuery (minified or not) on your site... add your own header ("look at me, it's easy to falsely claim someone elses' works").
> The other thing you may be able to do, is contact the client about the work that has been "claimed", and ask them to have the developer include your name. While obviously they may not need to comply, a good relationship with clients will usually result in their willingness to do so (at least as long as it still mostly resembles your work).
Have you seen the movie "Flash of Genius"? Seems like you are in that same situation. The real inventor of the code can explain every nook and crannies of the code, why they did what, and the circumstances that made them program something in a certain way rather than another. The fake programmer will say he/she has amnesia. They won't be explain the thing from ground up or the particulars (exciting moments) of the programming adventure.
The original contract should have specified who owns the source code. If it specified the company, then while your name could be on it as the original author, it belongs to the company and they have the right to modify it and the copyright. If no ownership was specified, then the developer owns it and their changing of the copyright was improper.
If indeed the company owns the copyright, did you have permission to retain a copy of it for use in your portfolio? If so, it's easily explained as the code was work performed under contract which you have the original source however the company subsequently modified it. Volunteer to walk through the code or otherwise show your expertise with it. Show them documentation that you worked for whatever company now owns the copyright, or even better documentation from the company that you have permission to include it in your portfolio.
The company you're hiring into has a right to question the claim that you wrote it in light of conflicting information and investigate further. And you have a right to defend yourself and explain the situation. If that does not satisfy the company, do you really want to work for a company that doesn't trust and believe you from the start of employment?
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!
Well, do they have an SCM system there to keep the source code?
If yes, you've got your answer. If not, the code is probably not worth getting authorship anyway.
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.
Find other work created by the new dev...
Change the copyright to your name and start distributing/hosting it yourself.
Owns that code since you did it for them. You could point out that if this new client uses that code they'd be in deep shit since it's basically stolen and you'd have no problem letting the old client know.(Since hopefully they could sick a pack of lawyers on people.)
Did you know 80 to 90% of the moderators on slashdot wouldn't recognize a troll even if one dragged them under a bridge.
If you bothered to use version control, you could show development of the code from beginning to end to show that it was your creation.
Why did the client just happen to have those re-branded files lying about?
Was the client just seeing how you'd react? Wouldn't be the most twisted hiring mind game I've heard about.
You could enhance and refactor them so they not only differentiate from your earlier purloined version but also provide a better example. Then if the question comes up you can easily say he swiped an earlier version of my work.
"Enjoy what you're doing! If it becomes drudgery, you're doing it wrong!" - Jim Butterfield
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.
It is what it is. You developed it.
The software was that good that the company you worked for then finds your work good enough to continue developing it.
You could ask that company for a testimonial to add to your resume.
Privacy is terrorism.
Just asking. This has happened several times to me, and in each and every case it was done by someone in india, usually contracted via rent a coder or similar.
It happened to me too and every time it was an american employee to tried to claim our work as his own. // Apu
Did you keep your originals?
Show your originals. The originals should show the differences.
Which doesn't mean much because you could just have easily downloaded the other guy's code and modified it yourself.
Which means you're screwed. You cannot use that particular code - other than to say that you originated.
Also, if the work is TRULY work for hire, then neither of you have a right to put a Copyright notice on it. The copyright notice should be in the name of the company. Like back in my OS/2 days, non of us put our own name on the source and neither id IBM. The source still said "Copyright 1987 Microsoft Corporation" - even on the modules that were ported to PPC.
Soooooo, the new developer is also in the wrong.
Normally belongs to the company you work for, not the person who wrote it. It's not grey territory at all. If you find the author has been changed then the reason for change could be as simple as providing a means to get in touch with the person who is now maintaining it. If I'm amending code produced by someone else I normally add myself to any authors in the documentation, but occasionally the previous dev has not put any documentation in the code, so my boilerplate documentation may not mention the previous developer if I'm in a hurry.
A lot of companies are increasingly unwilling to produce references beyond "so and so worked here". Nowadays, I try to get a technical reference letter before I leave a company detailing the work I did, in a form that does not give away any company secrets.
Some tracing can be achieved without much compromise to company security by having Subversion or whatever version control system you're using send emails to you whenever you update code. That way you have a personal audit trail of work you've done.
Donte Alistair Anderson Roberts - hi son!
Karma: Chameleon
Instead, replicate the work as best you can on your own servers. Heck, while you're at it, make those improvements you would have made after you wrote it originally.
If it's not on my own infrastructure, it doesn't go on my resume.
Mod me down with all of your hatred and your journey towards the dark side will be complete!
That is a bit unfair... there are crooks in all countries and good people all over the world.
Most developer will hate their source code in old days and most refactor it again and again when seeing new client.
Yes i see myself once a company contract a developer and the developer reuse the code to make him profit ? since there no
encryption of the php code. everyone will assume it was open source and everybody can copy and make it profitable .
My suggestion. It is worth to argue it ?
1. If you were an employee of the former company, show paystubs or Forms W2 showing dates prior to the copyright date.
2. If you were an independent contractor on that work, show invoices.
3. In the future, make copies of the source files. ZIP, Gzip, or otherwise combine them into a single file. Use an OpenPGP application to create a detached digital signature of that single file. Send the digital signature file to a time-stamping service such as pgp@stamper.itconsult.co.uk and save the result. All this will provide proof of the prior nature of your work and also invalidate and later claim of copyright or patent.
Albeit the fact that this is some of your best work, get over it if there is nobody backing up your claim in that company.
Once I were asked to look over a OsCommerce installation. Before fixing anything I backed up all relevant files (after informing the client) and begun to work. Turned out the whole server had been compromised, it had a root kit installed and running. I advised the client that it would be the only thing left to do start with a fresh and clean installation but I were turned down and refused to do any work on contaminated OS and moved on.
Fast forward a few weeks: The owner of the site contacts me via Facebook, asking me if I still had the full backup. Nope, I told him, I wiped it off the disk because there were a few too many files containing malicious code. He then accused me to be at fault according to the "new guy" that is "much cheaper" that took over. Well, according to "the new guy", the disks were kaputt and I were at fault.
Useless to say I did explain him that disks do not break down that easily and that in most cases data can be restored but that should be no problem for "the new guy" that is "much cheaper".
If there is someone that is being (en)trusted more than you, just let go.
Via say the wayback machine or if the client allows it key elements on a owned server. Otherwise the site will move on from what you developed.
Wow, I should not post when knackered.
You were contracted for work. You performed the work. You were paid for the work. If a potential employer is questioning your prior work on the sole basis of someone else's name on code base that you abandoned two years ago, then it sounds like time to look at another employer.
What happens to code you write under someone else's name (the company that paid you) is their decision. Unless your contract specifically held that you own the rights to the code it's time to move on; this issue doesn't exist.
It really sounds like they tried to confront you in a "Now I've Got You, You SOB!" style of transaction. If that is what happened, avoid doing business with that client, ever.
If the client asked you what they should make of the copyright notices, that's one thing. If they immediately called you a "liar," that's another. If the latter is what happened, again, set them straight as to what happened, then don't ever talk to them again.
Get yourself a GitHub account and ensure that you keep your work there, When all else fails, the timestamps should prove to be your proof.
Sue this "developer"? /thread
Both for taking authorship of your code and lost possibilities in the interview. Make sure he remembers well not to do this again.
The main retort is to challenge the assertion and offer to answer low-level detailed questions about the design and the code. His main defense will be to claim the software is "confidential" so he doesn't have to talk about it in-depth. It is up to the interviewer to decide who s/he is more comfortable hiring. I once had the pure luxury of reading a resume from a contractor whom I had worked with briefly at a previous company. His resume took credit for MY WORK. Because the code is at the old place there was no way to check the source. I showed that resume to my coworkers, many of whom worked with me previously on that same project, and they all agreed emphatically that this guy totally lied. The result was his resume got a giant DO NOT HIRE mark, he was never interviewed, and of course he never worked with us again. But I'm sure subsequent places very likely hired him on the basis of MY WORK. Getting back to my point, there is absolutely no way he could have described my work in the same detail that I could, so though I can't prevent him from using my work to get contract gigs, if it ever comes up I can certainly go into extremely low level gory detail on every aspect, enough I think to convince anybody that this guy is a poser and I'm not. The reality is in the contracting world though that this guy will live and die by his reputation. I guarantee if I ever see him again I will remember his deceit, and will make every effort to block him from being hired. And will be happy to tell anyone calling for an outside reference what to look for on the resume, and if it's there, refute its accuracy. At that point the hiring manager can decide if anything else is true, and decide accordingly. After all, maybe what their team really needs is a good liar, who knows.
http://web.archive.org/
Have them lookup the site and view the original JS file's source.
If it was a normal contract, its not your code anymore anyway. Sure, it's uncool to take credit for something that isn't yours, but really its the clients code to do with as they please.
Welcome to the real world.
Burn everything he loves.
Contact your old client and discuss the situation. Make sure you go above the web developers head. Don't try and rock the boat too much, it is their code, but explain the trouble it has given you for your portfolio and that you would like some credit as well if they are going to put specific names in the copyright notice.
People are reasonable and you're not asking for anything that will affect their bottom line or reveal any confidential info. Just be reasonable yourself about it.
As you state "the client who owns the source". You shouldn't be showing the code that isn't yours. As long as there isn't a NDA you are free to list the work on your resume/CV but unless your contract gave you explicit rights to include the work in your portfolio then you can't show the code. If it was Java or C# or anything but JavaScript this wouldn't be an issue because you and your future employer wouldn't have access to the code in question, treat JavaScript the same way. If you need code to show in a portfolio then you should be committing to open source projects. Think of GitHub as your portfolio.
My Hello World is 512 bytes. But it's also a valid Fat12 boot sector, Fat12 file reader, and Pmode routine.
What do you do when some other developer writes total shit and puts your name on it?
As one might imagine, this is not hypothetical.
Lacking <sarcasm> tags,
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 issue can still come up of they look at the source on his own infrastructure, and then search for it on google and find the previous company. When I've been asked to look at a job candidates resume and sample code submission searching for distinctive phrases or lines and quickly found one or more sources that were similar enough to exclude the candidate.
After having had something roughly similar to this happen to me many years ago, I talked to a couple of lawyer friends about ways to prevent it in the future.
Based on the personal experience of a client of his, one suggested (and the other agreed on) a simple solution: mail yourself a sealed copy of the work you want to protect.
Print a listing of the code (or if not code then drawings, documentation, text, etc) and put it along with some machine-readable media (if applicable) in a very sturdy envelope or appropriately sized box.
Seal that envelope or box with heavy packing tape (being sure to cover all possible openings), address it to yourself, and physically take it to a post office.
At the post office ask the clerk to include tracking and delivery confirmation and that they use their validation or cancellation (forget what they call it) rubber stamp several places on the package - being sure that the stamp overlaps the tape onto the paper in several places.
Mail the envelope or box to yourself and when it arrives carefully store it away. Do not open it. Never open it.
Should you at some time in the future absolutely need to establish that you, at some particular time, had access to whatever is in the envelope or box you have essentially irrefutable proof.
Under no circumstance open the envelope or box for the wrong audience. Once opened its useless as evidence.
Wait until you're in court or in front of an investigative panel or something of that sort. Let them carefully inspect the sealed envelope or box; let them have an expert inspect the sealed envelope or box if they want.
But open it only after they agree that it was mailed to you on a certain date and has never been opened - and even then open it only in front of witnesses.
Based on real-world experience this is essentially absolute proof that whatever you put in the envelope or box was mailed to you and hasn't been tampered with in any way since it was mailed.
Need to absolutely prove that 10 years ago something was in your possession? Or existed in the form you said it did? Or even that it did exist 10 years ago? This technique will do it.
There may not be bad intent here. The company may have wanted him to do this so anyone trying to contact the author would contact him, rather than you, who are no longer part of the company (and may have bad things to say about the company or the product).
You should really just contact them and work it out from there.
If the code is owned by your client, then the developers name has nothing to do in it. At the company where i work the only reference to persons is in the log entries.
Tell your prospective client that they may verify who did that by calling the first customer. There is a good chance that if they take this information and assume that you lie without even one step of verification, you probably dont want to work for them. People stealing attibutions is so common that i would anyway ask twice.
How ever this is a great example as to why you keep a copy of all the work you do with timestamps and revision control. Then when some ass hole takes the work and tries to run with it you can always show the originals.
That the "developer" may not have done this, but may have been told to by the management.
I remember one time I worked at a popular stock eXchange and a (IMHO) talented developer left
for (trust me on this) a place where developer suicides weren't the norm. Management's position
was that he didn't exist any more - but I would never sign my name to a work I did not do.
Until I left, I referenced the fine work he had done to management's bemusement.
Make a copy of it and put your name on it.
Use code obfuscation to make the code unmaintainable, then only you can work from the original, clean source.
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]
If it's public facing (since prospective employers are viewing source, I assume it is), use the Wayback Machine to show the original source, before the thief started working on it. http://archive.org/web/web.php
Do that and you'll still be cutting your losses and moving on, 10 years from now.
Ownership be damned. Dunno what your contract with the client says, and what really important to you is attribution. You know, your professional reputation. You've already been accused of plagiarism. This is DAMAGES, buddy. You better get a letter of reference from the client and have your name reinserted in the code, sharing credit where any is due, of course. If not, see a lawyer.
If all else fails, and your lawyer, like mine, tells you, "You don't need a lawyer, right?" and "Only call me if you're in jail", well, Mr. Travaglia lists some options you should seriously consider.
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.
If I hired you I would be rather pissed off that you are showing off code you obviously don't own.
Usually when software is developed for a payment, the copyrights lie with the organisation paying the money, not with the developer, except when specified otherwise, which rarely happens. Many employment contracts even state that all software developed is owned by the company you work for, including software you develop in your private time. The reason for this being that you are not supposed to work (paid or unpaid) without written permission from your employer, and that there is often a thin line between what you do for your work and what not. In most cases employers don't mind you develop software in your private time and claim copyright, but there might be cases in which they might want to claim copyright, when for example, you develop some algorithm using knowledge you learned while working at your company that in someway could be profitable for your company.
Go public, name names, name the apps ...
AccountKiller
Just steal the other dev's identity and go to interviews as him.
Ask him to reintroduce your name to the code. Most likely he'll comply and put your name next to his. If not, there's nothing you can do. All rights remain with the company for any work you produced for them during your regular working hours so you have no claim whatsoever on your own work. Bit unfair, but legally true.
Best learn for the future and instead of relying on externally hosted code for your portfolio, put the code on your own private server (or something like GitHub) and just mention that this code was used for such project you did for such company, provide a link and so on. Timestamps will be proof enough and you don't risk making a fool out of yourself - even if the site the code was used for is taken down or refurbished by new developer, you still have the code with you to show to the prospective employer.
well, since it's your original work, it shouldn't be hard to show the original and the contract of the original client. Also you propably would be able to use that specific client as a reference..
But then again, there are a lot of frauds out there using other people's work to get ahead... but a lot of people are also using the internet as a source for helping them get the job done, which also means a lot of code will look a lot like each other as people are using the same forums/sites for help..
All the Lawyer needs to do is send a letter asking 3 questions.
1) Between what dates did the OP work (Person A) for the client ?
2) Between what dates did the new developer (Person B) take over work for the client ?
3) When was the first use by the company (in-house or commercial) of the specified code ?
If the answer to Q3 is in the range of Person A's time at the company and outside the range of Person B then matter solved. ... ...
If not then hard luck unless you have corroborating evidence that you created it (work emails / memos / Letters about the code from your boss to you.)
Then in that case only winner is the lawyer...
Laters Sol "Have you found the secrets of the universe? Asked Zebade "I'm sure I left them here somewhere"
Your point is valid, certainly. However, I would hope that any employer's code vetting process would account for a certain amount of reuse as well as possible copying of source. When you think about it, all web-oriented javascript/html/css on a public site is, effectively, public code.
Mod me down with all of your hatred and your journey towards the dark side will be complete!
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.
Talk to a lawyer.
Not primarily to sue the other guy, though that might be a result. But you need to check with someone who is as much an expert in law as you are an expert in code just what's going on.
Did you ever really own the copyright on those files? Copyright is a legal term, even though we coders often use it as a name tag. You may have never had the right to write "(C) by me" in there in the first place if it was a work-for-hire for your client, in which case they own the copyright.
What did the contract you had with them specify regarding rights?
Finally, talk to him about how to put your name in for the future in a proper way. Maybe "(C) by me" should be replaced by "written by me (year)" and your future contracts specify that the client may not remove that line (though he may add further ones if other people take over and add their own code).
Often, a friendly lawyer that you find through a personal contact will be willing to give not-legal-advise over a meal or drinks. Lawyers are the geeks of the business world.
Assorted stuff I do sometimes: Lemuria.org
Why is it so important that you tell people you wrote all this stuff from the ground up with no assistance from anyone else in the company?
Just say you were a lead developer on those projects. Hell if I were you I would even lie and say you worked with others maybe even as the project manager.
I was once in a similar situation, except in my case, I was hired by one of the partners in a business (at least, that was what he told me he was) to build a portal for the employees to log their work, and upload maps into their server. It was a ~8k line classic .asp website with a little JavaScript, nothing fancy, but a fair amount of code under the hood, as they had a lot of employees across the state logging in and uploading/accessing maps, and they wanted it all logged, and had some fancy things they wanted done with the files they uploaded (keyword extraction, etc.) After I delivered the files (they were hosting them on an in-house Windows 2003 server), the guy immediately went in and removed all of my copyright notices and changed my name to his on everything, before he had even fully tested it, then told his employer (who had actually hired him to build and maintain the site, as I learned later) that it was all his work. Then about 2 weeks later something broke (that's what happens when a site isn't really tested -- he wanted me to build and deliver it, then leave it for him to test), and he called me and wanted me to fix it for free over the phone (he didn't want me to see that he'd taken all of my credit out of the source), and after spending several hours on the phone with him over several days, I told him that I couldn't fix it without looking at the source myself. He begrudgingly gave me FTP access, and after taking care of the glitch, I told him I wasn't helping him with it again, after seeing what he'd done. A week later he called asking for more help. In my case, I simply threatened to talk to his boss, and that got rid of him, but I can't really show anyone what I built on their server, since my name's been removed. What I've done since then was to upload it all to my server (where it works perfectly), with all their branding removed, and showed that to people. I've actually started doing that with all of my web development -- it seems that the buyer always does something to damage the site if they don't keep me on to maintain it, so it's better to just show off the original version that I built, on my own server.
hilarious.. I mean if some asshat questioned me in that manner re: my work, I would laugh in his face and tell them to get the developer on the line. Removing the apps from your portfolio? Damn, you got any other apps that I can claim credit for?
Assuming the story is true, take a look what he says: happened several times, in each and every case by someone in India. That already gives a hint that this might happen statistically more often in India. No need for racism, but it leads to suspect they have some bad practices in India.
I'm not a lawyer, but unless your former employer has granted you permission to share this code with those you are showing it to you are probably in violation of your original contract. If you wrote code for a client and you think that you have a legitimate copyright to that code you should see a lawyer about it. Most of the time code written as a contractor is "works for hire" and you have no such rights. The code is not copyright because you wrote it under a contract for some other legal entity.
I would stop showing any code to potential clients, though you should be able to talk about most of your previous experience in enough detail to demonstrate that you have what they want.
Dadmin fixes it while you sleep.
recant or get beaten. Whether by you or by a judge is at the end of the day up to you. At the end of the day that's what the justice system is supposed to be for. Whether you want to go through it or cut the middle man really depends on what code of ethics you subscribe to. I had a similar issue with OpenROV recently: I built all of the electronics for the OpenROV prototype that won editor's choice award for make magazine in 2011. I was supposed to present the thing with the people who actually got to present it, but stayed home to deal with a friend's panic attack instead. So they went and turned what for me was a 3 week project into their life's work (good for them). I told one of them that if he returned the award to me, he would live. He returned the award to me at Maker Faire this year, we shook hands, and he lived. Pretty simple, really. Nobody got hurt, there was no fight, he still gets to sell OpenROVs, and I get to be vindicated. Still waiting for a retraction from Make, but they'll get around to it. The bottom line is, whether you go through the law or settle this like gentlemen, it has to be settled; every issue like this that isn't settled hurts the community as a whole.
Liberty - Security - Laziness - Pick any two.
http://www.youtube.com/watch?v=ZM8KpIzs-O4
* Carthago Delenda Est *
He steel your work. Yes, could be a headache, find an attorney and so on. But, left behind, will only stimulate these kind of action. In your situation, I will find an attorney that accept this case to receive the payment for the damages. Or Better, call the Company, and advise then.
If they wish to dispute your assertions after that, they can take it up with the company that you did the work for.
If they dispute it but won't check, then there's nothing you can do to change that.
It really is that simple.
You can get in touch with the client and point the problem out and let them deal with it. They may not be too happy with employing someone who will do ACTUAL copyright theft (as in claim the work as their own and deprive the original author of the copyright).
HOWEVER, what you say may not be what you think it is.
Where I work, you are assigned "Author" if you're going to be blamed for it going wrong or to go to for bugfixes. With code management tools mandated for operational work, this isn't quite the problem it used to be, but the authorship is more "Who is to be contacted" and the version number will be something other than 1.0, hence pretty obvious that the first author was not the original author.
Won't help your current situation, but in the future consider routinely dropping some standard personal easter eggs into your code. You need to invent your own obscure bag of tricks, but some silly examples would be that stringing together the 3rd letter of each of the first 10 variable names spells your name, or trivially encrypted words in numeric constants or variable names. It's been done in literature for years, for example http://www.wired.com/culture/culturereviews/magazine/17-05/pl_print
Yeah, I know you can supposedly hear "Paul is dead" if you play a certain Beatles track backwards. This isn't the kind of "proof" that would send someone to prison, but being able to demonstrate a few such little flourishes should be plenty enough to buy you the benefit of the doubt and likely constitute probable cause for an investigation.
Most importantly, SHUT UP and don't tell ANYBODY what your secrets are unless you're up against the wall. Even then, don't spill all of 'em. This is security by obscurity -- not an opportunity to show your friends how clever your little treasures are. People talk.
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."
If there are no specific and explicit agreements to transfer the copyrights to the company being worked for, they remain the copyrights of the person who wrote it.
For this reason most contracts will have such an explicit and specific clause, or at least attempt to tell you there is one.
Copyrights are automatically the author and that you need specific and explicit agreement otherwise to transfer copyrights.
SCO thought they'd bought UNIX copyrights because they thought "we bought the copyrights to make copies from Novell, therefore we own the copyrights and Nortel do not". Except the sale was VERY explicit that NO copyrights were passed across "except to the extent required to pursue the rights purchased". I.e. the rights to make copies of the OS and sell them. Suing IBM wasn't a right required to sell copies of SCO Unix.
Just have the rest of your team call you "The Napster".
Born to Play
1. Find a bug in your own server-side code (easier than doing it on somebody else's unknown code, and that's usually doable.) :-)
2. Exploit the bug to put all your copyrights back in the source files (don't disrupt service or do other unethical deeds.)
3. Show the live code to your new employer, saying: "Here, they fixed it."
4. Bonus points if you install a rootkit to periodically re-patch the files
Perhaps they are just testing your temperment.. It's common for a new developer to start putting his name on stuff as he does changes or writes routines. Should have left yours in though.. But I would think that simply explaining you wrote it and the new name is a maintenance developer would be plausible. I would think your subject matter expertise and ability to sell yourself would make the most difference..
Have you fscked your local propeller head today?
Go to archive.org, pull up some of the pages from 2 years ago and show the client.
If you have old copies time-stamped by the operating system that pre-date the versions of the usurper, then have your attorney threaten them with theft of copyright. They can put your name back as originating author, and themselves as enhancers/updaters, but failure to do so should be accompanied by legal sanction. FWIW, always have a good attorney as a personal friend. I do, and it has served me well in such cases. I do his tech support pro-bono. He does my legal work pro-bono as well. A good quid-pro-quo situation.
Sometimes, real fast is almost as good as real-time.
You should minify your javascript, so that you are the only person with a readible copy of the source :) Then you can show the 'original' as proof. :)
would make it also particulary hard to hire a new developer to fiddle everything out
When you are paid under contract to write code for a client, unless there is specific language in the contract saying that you retain the copyright to all of the code that you write (protip: this seldom if ever happens since it would make it impossible for the client to maintain/update the code without your blessing, as it would become a "derivative work"), I'll give you one guess as to who owns the actual copyright to the code, regardless of what you put in the comments.
Hint, it isn't you.
The real inventor of the code...
This is the very problem with our patent system.
where you cannot loose your authorship rights.
I have to tell you that most of the time, the thefts (usually by direct competitors) are minor, and I don't generally care. If I cared about every snippet of code I've ever written that's showed up on some other website, I wouldn't be doing anything else. But there's a lot of different kinds of theft to consider. It's one thing when someone borrows a javascript from you. I usually use that as a sales tool. "Hey look, this code is good enough, that you can see my competitors using it" it's funny, and it works. It's another thing entirely when they break into your home and steal your proprietary cms that you've been developing for five years. I've had that happen too. That kind of thing is usually handled with a lawsuit... if they're dumb enough to actually use it without paying you. As far as clients leaving, and the new company putting their names on my websites, that's usually not malicious (even though the practice sucks). More often than not, it's handled with a polite phone call to the new company.
This signature has Super Cow Powers
http://www.youtube.com/watch?v=sYtMoDcwAoQ
Troll is not a replacement for I disagree.
Really depends on your contract.
This case is precisely why you need moral rights. The contract can determine who owns the copyright and/or licenses but the idea of "moral rights" is that the person who wrote the thing is always allowed to remain associated with the work. They may not own the copyright but they are always allowed to associate themselves with the work as its author...or the right to remain anonymous if they so choose. In addition these rights prevent anyone "mutilating" or damaging the work in the way that damages the author's reputation. While you can waive these rights in a contract you cannot reassign them.
If the US had such rights this would be an easy case to resolve: you contact the original company and demand that they leave you listed in the authorship credits. They may have the copyright but you would still have a right to be associated with the code. While they could have you waive this right in their original contract it is unlikely they would want to - if your name is associated with code there is a strong motivation to made it good code!
Would you prefer that the guy have made some really shitty changes and left you name on it?
It's just math. You didn't create it.
The company probably doesn't want the drama and may dump both of you, but at least let them know your side of the story by providing any proof you have.
Table-ized A.I.
kill him.
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.
Find the little shit and beat him over the head with a cucumber.
Didn't the Klingons have some kind of philosophy about a dish that is best served cold?
The Berne convention (which the USA is a signatory) explicit states the existence of moral rights:
"Independent of the author's economic rights, and even after the transfer of the said rights, the author shall have the right to claim authorship of the work and to object to any distortion, modification of, or other derogatory action in relation to the said work, which would be prejudicial to the author's honor or reputation"
This is not well known, because these rights cannot be licensed or sold in exchange of money, but that does not mean they do not exist.
In short, a programmer is, in an inalienable manner, the author of all the programs s/he wrote, whatever the contract or terms used to write them. Modifying the author name is a violation of these rights. Also, IANAL.
A timestamp server is an independent entity that will publish a checksum together with a timestamp. Occasionally send it your commit sha1's and you can prove their integrity.
Publicly denounce the Dev as a thief.
- A Frog in a pond utters an azure cry. -
One collegue of mine consistently put MY name on HIS works. So obviously when something went south i got the feedback. Rather annoying
Why the fuss? You wrote cosed source code and got payed for it. Not all precautions were taken to ensure the author was credited for his work. Someone screwed you over and it's hard -or tedious to say the least- to get the credit right.
If you want to avoid being screwed over again you could consider open source projects. You could also join a company the old fashioned way and make a career as the pretty good coding lad (or call yourself the strategic architect.) I've done both and I'm now in old fashioned employment. For me it sort of fits at this time. I'm having fun, getting credit and praise and I'm crediting and praising colleagues back.
The mentality to screw people over is what holds me back. I refuse to play tricks for other people's exhibitionistic financial gain. I only play along in a real meritocracy.
I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
In the thirds days of the week, not in the first nor in the second except for going straight to the third thoue shall take a mighty piece of stone, of even and ponderous shape so be it size ands weighthe, and ya shall take a long he Runge and by youre shoulders carry that stone , and not by Foote or by Camele or bye dragons but bye yer shioulders ya shall carry it to the front of her enemy and, by all the mightiest of launches ya shall crush the bloody bastard's skull unltylie his brainses squishes outta and his blodde and his gutse all come out of his nostrils and he shall snuff it.... AMEN
If this guy regularly replaces records of authorship with his name, he might not have an actual portfolio. If he's in his honeymoon stage with the company, they might fire him for misrepresenting himself during the hiring process.
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).
I got accustomed to inserting a specific MD5 hash string comments throughout JS, CSS, and HTML files, as proof of authorship. The seed was my name plus the year the file was created. If anybody ever doubted my claim, my plan was to simply point them to Line X in File Y, and there they would have irrefutable proof that I've had hands on in a given project.
Either they're dicks, or they're not.
Point out that you've received the new source code in interviews, with inaccurate notices about who wrote the code. Doesn't look good for you, doesn't look good for them. Suggest they make the notations accurate. Either they'll be dicks, or they won't.
If your former company is full of dicks, you've just got a problem. I'd still claim credit. Most companies won't have access to those files anyway. For those who do, and confront you with it, offer to explain the code, if you remember it well enough. "I wrote that, I remember it, I can tell you about it. They probably just weren't thinking when they rewrote the notice."
Don't get mad. Don't condemn the company. Honestly say what you did, and offer evidence to the effect. References who can vouch for the details of your work are ideal in this situation.
You don't want to show conflict with a former employer. Minimize the appearance of one, while claiming credit for what you did.
Post some details online, on whatever home page (you do have one, and none of that linked-in or facebook bullshit, right?) your resume is hosted on staking claim to what you built and when you built it. Then move on, and just keep developing new things, because if you're a lifelong coder, the amount of what you produce and what will be clearly attributed to you will utterly overwhelm what people will attempt to steal from you. Also, anyone who pulls up a source file and asks you about the copyright comments instead of asking about how it works to determine if you are the author or not would drive you insane if you were working for them anyway, so they're not worth losing sleep over. I'll bet they just assumed people are drug users and demanded that you piss in a cup as part of their pre-employment screening too.
For projects you claim on your resume, get a letter of recommendation from the company you did the work for or use that company as a reference. They will be able to say "yes, he did work on that."
... but don't let it slide.
In the past, I've given up code foregoing credits in the interest of improving a product or (extremely naively) hoping to get someone to cooperate with me on a project. It seemed trivial because either it was as a part of a fairly active community or it was an aside to, what seemed then, a bigger project I was working on.
And eventually it became something of a habbit: look, what you did is broken, here's the code that'll fix it, what will it take to get you to apply it? Losing credit? Fine, make the software better.
Start by bringing it up with the individual. There's always the possibility that there's a misunderstanding. In my case, "thttpd". I was working at Demon Internet and tasked with fixing problems with thttpd so we'd be able to run a massive virtual web service off it, giving all of our dialup customers their own personal website. thttpd had some horrible issues like using a blocking "gets" to retrieve the query after a connection. I fixed all of that up and added a bandwidth throttling system. We got it working, and I let a colleague roll up all of our changes and submit them back. Silence. And then thttpd 2.0 is announced. The changes looked *suspiciously* like everything I'd done, just reformatted.
But I'm not willing to say "he stole my shit" - because it was different in just enough places that I couldn't be sure, and the reality is it was long enough since his last release that he could have worked on solving the same issues - they *were* the big issues, and my code was deliberately written to try and fit in with his code base, so perhaps I just did a really good job of making my code look like his.
-- A change is as good as a reboot.
Get a lawyer. That is the only valid answer here.
Why do these questions keep showing up on Slashdot and reddit? They're all simply some form of "someone has wronged me in some way that is significant and I want to take action to commit this." The answer is always the same: GET A FUCKING LAWYER. Yes, they are expensive. But guess what, having your character defamed is more expensive.
To summarize: Get a lawyer. If that solution doesn't appeal to you then try getting a lawyer. If that doesn't work, then hire a lawyer. If all else fails, get a lawyer.
Does your original code exist in a web archive?
You should search for the js scripts on Wayback Machine, in old archived versions of those websites using your js code.
That should be good enough proof.
While it won't help with your current situation, digital time stamping from a trusted third party can be used to certify your authorship.
http://en.wikipedia.org/wiki/Trusted_timestamping
If they're a "client" and not an "employer", then you own the code unless you contractually specified that this was a "work for hire" arrangement. IANAL but you might want to contact the client and clear things up with them.
Do you have ESP?
In flash development world, stealing code is so easy like download a chinese app that hack your swf and coughs the code to the hands of thief. So I use some options for defend my work:
1. Add a clever hidden easter egg. Some clients tell me if that really made that since someone erased my name (as usual) or placed another name, I go online show the easter egg, game over.
2. Show the *development* files of the project. I just give to my clients some selected betas (b1 then next beta is b4 as example), the future co-worker that steal the code doesn't have and don't bother to generate b2 and b3. So I have all betas, they don't. I can proof all the dev cycle, they don't.
At least these two things help me to show who made the games and widgets and who added later over my work.
I know who you are. I know what you want. You are looking for credit for my work, and I can tell you I won't give it to you. But what I do have are a very particular set of skills; skills I have acquired over a very long career. Skills that make me a nightmare for people like you. If you let my code go now, that'll be the end of it. I will not look for you, I will not pursue you. But if you don't, I will look for you, I will find you, and I will kill you.
Waiiii!!!!!! I have bad karma!
Just contact your old client and ask if they'll write up a letter for you, affirming that you wrote the code for them, for you to use for job search purposes only. There's no reason to assume there was any particular malice in them putting their company headers on the code, so there's no reason to go down an adversarial path immediately. You've got nothing to lose by just asking them politely to acknowledge you as the author of the code for this specific scenario, and doing so establishes that you're acting in good faith, so why not do it?
Some countries have moral rights beyond the Berne convention. For instance in France the author has an attribution right that cannot be waived away: it is "perpetual, inalienable, and imprescriptible". I understand the situation in other european countries is similar, but not in the US. Perhaps there is an opportunity to send a open letter to your representant here? It may lead nowhere, but there is nothing to loose.
As far as I can tell, one major difference between (what I mean by) "credit" and "copyright" is that copyright can be bought or otherwise transacted for money. For example, after you create a work (let's say a book), you can sell the copyright so that someone else (say the publisher) holds the right to receive remuneration for reproducing the work. But that does not take away your ability to say, "You know, I'm the one who did that." See also the comment from the sibling poster amaurea.
If by "credit" you mean "remuneration", then I would agree with your statement that "Copyright is how you secure credit for something you created". But that's not what I'm talking about, nor the OP. Of course there may be circumstances where, due to other contractual obligations, you are not allowed to take credit (undercover ops, ghost writing, etc.), but that's not related to the current situation.
If by "DENSE" you mean "solid; robustly built; able to withstand attacks" then I thank you for the compliment.
404555974007725459910684486621289147856453481154 in hex is "You sank my Battleship?"
[GPG key in journal]
Eventually the perpetrator will do it again to somebody else's work.
If it was me I'd have a quiet and calm word with the former manager from the time the code was written and try to avoid any public fuss since that can backfire.
This is not a pleasant situation, I wish I had good advice for you.
What I want to comment on are the assumptions made in many of these posts regarding US laws on copyright and ownership.
It is unclear from the OP what country you are in and whether you were an employee or an independent contractor; from your use of the term client my assumption is the latter, but I cannot know for sure. If you were in the US and an employee then ownership and copyright will invariably reside with the 'client', however, if you were an independent contractor in the US the situation is very different, can be complex and State laws can complicate it further. I would encourage you to read at least one of these articles 1 2 3 each of which give a good overview of the situation.
Basically, unless it is clearly stated in a contract that the 'client' will own the copyright it is unlikely that anyone other than you, the independent contractor, is the copyright owner. Simply stating that it is a work-for-hire is normally not enough in the case of software, the copyright must be explicitly transferred to the client, or it will often be yours by default. This is because, in general, a computer program falls under the copyright category of literary work, a category not included in the nine categories of work-for-hire defined by Section 101 of the US copyright laws. As always, there are exceptions, but my experience (and legal advice I have been given), indicate that they are not the norm.
Note: IANAL, but I am an independent contractor and have dealt with copyright issues and lawyers several times.
I used to contribute to JBoss until I had this happen to me.
I wrote the very first JAAS tutorial and example code for JBoss. It was promptly stolen, the other guy's name added, mine removed and then published to the JBoss community.
I called the plagiarist, Scott Stark, out, he denied it.
I pointed out all "his" code was identical to mine including variable names, he denied it, claiming the variable names were "obvious".
I pointed out this "his" examples contained exactly the same errors as mine did, finally he admitted he'd stolen my work and added my name as a contributor.
That plus Mark Fleury's attitude drove me away and I decided never to contribute to JBoss again.
Bad analogies are like waxing a monkey with a rainbow.
The two cases are closer than you think. The poster is complaining about credit for the code because it directly impacts his ability to generate income.
Lets examine the poster's case. His ability to find new work and generate income is lessened because taking his credit affects his cv, his reputation.
Similarly, when "information" such as software is copied without permission, it deducts from the revenue of the creator.
Poster has already said the software belongs to his client, not him. Copying his software would affect his income, how?
In each case, the creator is losing income.
Anything at all could fall under such a broad analogy. If you buy a bad app from iTunes, and complain about it on forums, etc you are affecting that creator's income. That's a false equivalence.
let me consult my crystal ball...
It is much more valuable (and more common at least in the UK) to include references. Simple letters from your past clients/employees covering what you did for them and how happy they were.
Without some ideal of the the goals, budget, time-scales, support, and in IT critically when the work was completed it is impossible to judge its quality.
Before signing contract open source your private code library/snippets which you intend to use under BSD license and put into well known repository like Github or sourceforge. BSD license just to calm down your employer/client, that all modifications will remain their sole property, and what they get is some debugged and cleaned code for free, without strings attached. After that whenever question of authorship arise you can point on the traces of BSD code and date of submission into repository, and also demand from employer/client to add BSD copyright note with your name to their code.
A lot of commenters seem to suggest going for a full-on confrontation, making demands and accusations (or advice against it since you don't own the code or whatnot). This will hardly solve your problem (having to remove the app from your portfolio) and may in extreme cases damage your reputation.
Just send a friendly mail to the new maintainer, asking if he wouldn't mind adding your name to the files in question as the orignal author. If that doesn't work, ask your former employer for a written recommendation stating that you did indeed develop the original version of the app in question. "I noticed my name was removed from the code, while I don't mind that it has caused a bit of confusion since I've included it in my list of previous work... etc."
Dunno... Tell him you don't like it?
Or maybe you should tell the boss!
DON'T EXPECT LIFE TO BE FAIR, PUSSY! LIFE IS RANDOM.
DON'T SEEK FURTHER IF YOU ALREADY KNOW YOUR GONNA FIND MORE MISERY IN THE PLACE WHERE YOU ARE LOOKING.
So if things don't work for you, go do something else.
Quit your job / see a shrink / do LSD / whatever
NOW GO WHINE SOMEWHERE ELSE.
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"
Could you use the wayback machine to show that the original version of the site was in fact written by you? You could even diff new files against old ones to show that the new author simply stole credit for your work. It seems odd to pull you in for an interview only to spring that on you - most companies would not let you in the door. On a further note - could the site have been through a major rewrite? Maybe the code in question is not actually yours.
Kindly inform the client that the developer who is maintaining the code is plagiarizing the code you created for them by putting his name as the author of the code. Normally, in the header of the code there would be a section stating the client owns the copyright to the code, a section stating the name of the person who originally created the code (who in this case is samzenpus), and the name of anyone who edits the code for new development or maintenance purposes along with the dates and areas/lines the person edited. Since the individual whom is maintaining the code has change the author line to their own name, the individual is plagiarizing the code the original developer created (samzenpus). Because the developer who is maintaining the code is in violation of plagiarism, samzenpus has grounds to file a lawsuit against either the client or the maintenance developer (a lawyer should be able to clearly tell you whom a lawsuit can be filed against). If I were in samzenpus' position, I would inform the the client or the maintenance developer (whomever your lawyer says you have grounds to sue) that the maintenance developer is in violation of plagiarism and that the code creation/authorship must be restored to samzenpus or he will have no other course of action but to file a lawsuit. There is an article on legalzoom.com about plagiarism that should be helpful (http://www.legalzoom.com/intellectual-pro perty-rights/copyrights/plagiarism-what-is-it-exactly).
One thing to keep in mind is the new developer may not have intentionally put his name in the header
He may have just moved it to a new source repository, or did a merge on it.
Several source repositories will not always apply the correct authors name when macros are used.
A reference from the company sounds like a good idea
Quite a few people (hint newbies don't catch this often) watermark their code either simply with typo graphical errors in the comments, punctuation.. or create a hidden checksum or hash from critical sections to leave an indelible 'watermark' on the code.
Then embed a debug routine that checks for the watermark.
In that way the original code base.. or in this case the 'code site' can actually validate the original source when submitted to the debug routine.
To wipe out the watermark (especially if its in style or choice of routines) would literally require rewriting the source code, which is the last thing they would do.. if they went looking for it, it would cost them more time to remove, that just cut and paste.
Stenography is also another method which can be applied to coding, it doesn't always have to apply to images.
Subtle variations are easy, since the pattern of behavior your looking to depend against is a base human instinct.. sloth.
for my fist at the back of their nose. Repeatedly.
ok, maybe not... but I must admit that in the past I have been tempted by the idea of introducing that developer's legs to a 10 kilo sledgehammer...
Contacting the old client ahead of time, asking them for a reference which specifically mentions your work on that project (and ideally which mentions you as the author, with the new guy as maintainer).
Explain to the new client that the developer claiming the code was taken on to perform maintenance of the project after you left.
Too many people on Slashdot today advising to consult lawyers.
Worf, shouting from left field.
Star Trek: Deep Space 9, episode, "Take Me Out to the Holosuite"
Modded by someone who is borrowing code from cshark, I take it? Damn you c, for being so fantastically brilliant that the world can't help but steal code from you, and then mod you down for mentioning it.
They should be minimizing their javascript anyway. Tell that new credit-stealing dev how to use a minimizer. Then, he can feel all fancy when he brags about how his awesome stolen code loads more efficiently. He can also feel important because the obfuscation will make it harder to reuse, making it harder for other devs to take the credit for his awesome stolen code!
If that former client was happy with your work, they should have no objection to ensuring that you can take credit for it on an ongoing basis. If I heard that new dev I'd hired had done something like this I'd be furious, and restore correct attribution immediately. Can't hurt to ask, anyway.
if it's gone up as your name before and the link in archive.org has it then you're gold
As someone that does the tech hiring for my company, I've interviewed tons of folks over the years. Personally, my response to people that use third party sites on a resume is to basically give them a once over and then drop them from the list. I ask the same questions and have found a lack of professionalism and critical thinking on the part of these sorts of folks. The idea that you've asked me to find your work on a live site is bad enough, compound it with not checking the site before coming in for the interview to double-check that the content hasn't changed AT ALL and I find you to be lazy. Professionals will screenshot or in some cases host skeleton versions. The screenshot or video approach on a personal site with a description of what you were contracted to do means I can see quickly what you did and know that you did the work. If I don't see content clearly labeled and in a space you control, I don't instantly believe your claims of authorship.
I know someone who added extra code to check for those ownership headers. When someone came along afterwards and tried to remove them the code crippled and started spitting out messages about being stolen. This was something like 20 years ago, and probably not as easy to hide now, but it could be enough to keep a hack from stealing it.
Hire Tony, kneecap the guy. Seriously, sue, sue, sue.
Keep copies of the contracts and statements of work to show what you were contracted to do. Contact the client (not the developer currently maintaining the code, but that developer's manager or whomever at the client signed the contract) and ask them for a letter to clarify that you did the original work for them, regardless of the copyright notices in the code now.
Be polite about it, and most clients will be happy to help.
Insanity is a gradual process; don't rush it.
... you might try The Wayback Machine (http://web.archive.org) Find a copy the js file that went live during your tenure. Still not conclusive proof the _you_ wrote it, but at least it should be devoid of the felonious copyright message.
Add some code that that looks like it is necessary, but is just you name hashed. Give the key to future employers and that can decrypt and see it was you.
You're still the author right, because who authored it is a matter of fact and not a legal technicality. Say you're the author. Invite the interviewer to discuss details about it with you. Don't let someone steal your best work. I had someone do the same thing, except I in my case i'ts immaterial to my life really could give a shit and the guy in question was basically fucking nuts anyways.,
IAAL but TINLA, but you should see an intellectual property lawyer and ask for their advice on the following matters. These things do vary by jurisdiction, although some of it is based on the TRIPS treaty (required for WTO membership), so it is getting to be less different between the jurisdictions. Firstly, if you did this as a contractor, you quite likely still own the copyright, unless you signed an agreement saying you don't. In that case he client has a licence, the scope of which may vary, but not so far as to allow them to apply their own copyright claim to the exclusion of you. Secondly, what they have done is quite likely a breach of your moral right of attribution, especially if you were a contractor rather than an employee. There may well be scope for a nice scary letter from a lawyer to get them to behave.
... but the developer is NOT THE OWNER. Therefore the developer has no legal right to the code.
So threatening with legal action would just be a stupid move that will only result on pissing off the OWNER and the developer not getting what he really needs ... credit for his work.
What is interesting about this document is the implication that not all work created by actual employees is necessarily "work for hire." It seems to say that such work is only "work for hire" IF the company is in the business of creating such works. So, for instance, I am a technical writer at a factory and write work instructions and various other documents for them. However, they are not in the business of creating documents, they are in the business of making widgets. So, unless I signed a work-for-hire agreement, then I own the copyright to all the documents I create.
I'm going to have to do a little checking around.
Sec. 101 b 1 says work for hire includes: "as a contribution to a collective work" ...so it's possible the new developer falls under that as well... (if not the original coder)
If you were not a cowboy, then the version with your name would be in source control.
So if it is not there, you should not get the job anyway.
Which is it ?
If it was an in-house app how the hell are prospective clients able to see the code with the new author's name in it, causing them to accuse the original author of copying it?
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
If someone else owns the copyright, you simply shouldn't have copies of the code around at all, for any purpose. I think as a potential employer, the fact that you took their code, made a copy, and are now shopping it around to new employers is a red flag, whether the copyright notice on it is intact or not. The fact that this may be JavaScript code that's served by some public server doesn't change that.
And are clearly exhonorated from fixing any bugs. I don't see the problem
Not surprising what's happened to you. Unfortunately it's an all to common situation. Simular thing happened to me - but worse I was still at the company and some newbie rebranded all the code in a huge project I wrote several years ago. When I confronted him, he said he made modification and should have "the right" to claim the work as his. When I did a comparison on the code sets - he basically changed content names (variables) without any logic changes. Fortunately his manager and I (I've moved to another department) are very good allies and he was forced to remove the blatant plagiarism, and to make matters worse (better) all his code was being scrutinized and he was forced to explain some major code he wrote to validate he in fact that he was the author.