I've stayed away from this conversation because I agree with Doug that this conversation has been kind of intense and in some cases borderline ridiculous. But if he's bowing out I have to speak up and say he has been correct on almost everything.
To OVERSIMPLIFY: Copyright protects code. Patents protect algorithms. If they patent it, you can't use the algorithm again, and thus not the code that implements that algorithm either. If they copyright it (which in the U.S. happens automatically), then you can't use the code. Generally, (although not universally) you can use algorithm unencumbered. That being said, you may be able to use small pieces of the code if they are not specific to the project. (an example from other industries: a specific line of a movie script maybe be protected by copyright, but the line "I'm tired." definitely can't be protected by copyright because it's already ubiquitous and the concept behind it is universal, also I so far have ignored fair use). To be safe, don't copy and paste code because that it may be infringement no matter what. These distinctions are admittedly HIGHLY subjective (as noted by all of my equivocating phrases). Lastly, we seem to be ignoring (or conflating) the definition of "work for hire" which is different from both of the above. Honestly, I don't know the legal definition of "work for hire", so I'm not going to try to define it legally. Based on what I've read, "work for hire" (the legal definition) may not even cover software code in which case the contract would be the only thing that matters. I'm not sure of that one. Many contracts sign over the rights to the copyright to the company. Patents are a more thorny issue in this case so I'm going to ignore them, but note that they are an issue. Most importantly, I have seen "work for hire contracts" that sign over to the company any rights to your own ideas (code or otherwise) which are derived from the project. (You're going to need a lawyer to interpret the previous sentence properly.) Also, I've seen some contracts that sign over your code, even if you've previously used that code before (so you'd loose control of parts of your code library) so watch out for that. Also, a disclaimer. We're on the internet. Laws differ from country to country. So it's possible people (including me) have been giving you advice on the incorrect set of law (I'm in the U.S.), and so far, I don't think anyone has claimed to be a lawyer. To get back to your original question, you make them sound reasonable, so I think you just need to tell them why you want to keep non-exclusive rights to your code. They're probably know how to deal with that. I would make sure to explicitly include previously written code in an the exempted list as well as implementations, algorithms and UI that can deal with data in a manner not specific to the project (and get a lawyer to translate what I just said, because I'm not even sure I know). I sit here in the t-shirt I got for getting into law school and am thinking that I'm glad I didn't go because our job is so much more fun. Two, or three cents from a non-lawyer. - Daniel Freiman On Thu, Jun 12, 2008 at 11:16 AM, Doug McCune <[EMAIL PROTECTED]> wrote: > I'm bowing out of this discussion. Things have gotten far too polarized > and nit-picky. > > However, I still feel it is worthwhile to at least chime in one more time > because I think some of the points raised here leave developers with wrong > and dangerous information. The overall opinion that you don't need to worry > about re-using your source code from other clients' projects is simply > false, and has the potential to get you into a lot of legal trouble. If you > find yourself copying code from work you did for a previous client, please > please go back and re-read the contract you signed, and be sure that you > properly understand what you're doing and the legal implications. When it > comes to these issues it is always better to err on the side of caution. > I'll stop giving my opinion on what's right or wrong, and just say that as a > developer, you need to have a thorough understanding of IP law before you go > down that road, so read up and please don't rely on mailing lists for legal > advice :) > > Doug > > > On Thu, Jun 12, 2008 at 5:44 AM, b_alen <[EMAIL PROTECTED]> wrote: > >> You can use it again definitely otherwise no one here would be allowed >> to do even a sorting algorithm ever again. Come on, some guys even >> went so far that every single "digital line of code" is client's. So >> even the <mx:Button /> I can't implement ever again, because it >> belongs to the customer. >> >> > Algorithm, you can probably use it again. It depends how obvious or >> > unique it is. In theory, algorithms / approaches to solving problems >> > are not patentable. In reality such algorithms may be patentable or >> > considered trade secrets. >> >> Depends, but usually there are changes for the better in each iteration. >> >> > Even if you sit down to implement the algorithm a second time, I >> bet it >> > will come out quite different than what you did the first tie. >> >> > >

