My question is this. Since a programmer can not look at code being reverse eningeered because “they might subconciously copy it”:rolleyes:. How is one legally supposed to make sure code contributed by other programmers for a project was not copied from someone else?
IANAL, but, being a professional IT person (currently more a DBA then a programmer), this is something I’ve looked into quite a bit. I could very well be wrong though!
First, a programmer can look at reverse-engineered code (i.e., code whose function has been ascertained by means other then looking at the source code). What a programmer can’t do is look at the original source code.
As for your actual question, I don’t believe there’s anything you can do that will absolutely gaurantee that no one else owns code someone else gives you. However, if you didn’t know that the person who gave you the code was violating a copyright you can use that fact to lessen the damages you’ll have to pay.
Maybe a lawyer will come along now and tell me how wrong I am…
Forgot to add: A google on “innocent infringement copyright” might give you some worthwile hits.
As a manager of IT projects (as well as a hundred other things I do to stay off unemployment…) I can tell you that the cases I’ve seen where copyright infringement of code does occur and does end up in arbitration or court, it typically is a very sloppy, mass-copying of whole functions, entire files, or even entire development environments. Sometimes its clear that all they’ve done is a “global search and replace” on a variable name or two, but most of the time programmers who copy don’t seem to be very motivated to cover their tracks.
I’ve been involved in court cases for this, but never one which resulted in a settlement. The best we always got was a “cease and desist” compliance, followed by a mass firing of programmers.
If you are copying source code from an open-source project on the web, or code snippets from a developers forum on the web (like sourceforge), the best way to protect yourself is simple honesty and documentation.
If someone on a site posts a function that does something cool I need, and they claim it’s released to the public, then I copy the HTML page where they say that, and also copy the legal notice for the site regarding the ownership of the contributions. Then I credit the code sub-block in my main code to say where I got it from and what the provenance was of it.
Note for reference that GNU != public domain, and has its own special license for use.
Una Persson and Metacom thanks for the infomation. I was wondering because there is a open source project I want to help out on. It’s goal is to make a clone of a propriotery OS I’m not going to name. My programing skills aren’t up to that level though. A few weeks ago some of the source code to that propriotary OS was leaked. I was thinking maybe I could compare the leaked code to the clone code to make sure all the contributions were on the up and up. That way it way the project won’t face legal troubles down the line. Problem is by looking at the leaked code I would not be able to help with the actual coding in the future when I do have the skills. Well one less future programmer beats a chance at a future army of lawers I guess.
I think there’d be trouble even if you merely pointed out problematic areas to the Open Source coders, because your knowledge comes from the leaked code, therefore there’s a transfer of information from the propietary source.
The only defense the open source guys have, AFAIK, is to be able to plausible claim total purity: they haven’t seen the leaked code, touched it, or talked to someone who has.
Back when IBM first released the PC, they kept the BIOS propietary and used commodity hardware elsewhere, figuring that the trade secret BIOS would prevent cloners from operating. What a consortium did was to hire lawyers to find 100 “cherries”–engineers who’d demonstrably never come within 100 yards of IBM’s BIOS (never worked with it, never worked at IBM, didn’t know people who worked at IBM, never decompiled the BIOS, etc)–who could black box reverse engineer the IBM BIOS to clone it. This successfully prevented IBM from suing them out of the market, and thus the PC clone wars were won.
I think your confused.
there WAS a certain company that wanted to reverse engineer some software, so they sat down and said “lets think of all the thinks we can do so no one can claim we cheated” and it involved the people writeing code NEVER looking at the old code. so that no one on earth could ever make a case that they cheated.
this is sort of the ‘standard’ way for companies to do it, but there is no law that says its that way. if someone wanted to look and then write something, they could, but then people might wonder if they copied some. its just one way to make sure its odvious to everyone that they are not breaking copyright.
You think who is confused?
If you’re making the point that the total purity requirement isn’t a legal requirement, merely a good legal strategy, then I agree. Lawsuits can be extremely costly even if you win.
Copyright does not protect knowledge.
Actually it’s the copyright.
You mean a clean room reverse engineering.
I thought the term was ‘black box’ because the guys engineering the clone also had to be able to claim that they’d never opened the BIOS up: never took the image and dissected it, only fed it various inputs and saw what outputs they got.
Yes, clean room reverse engineering is what I meant.