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.
>>
>>
>  
>

Reply via email to