On 9/9/14 9:51 AM, "Erik de Bruin" <e...@ixsoftware.nl> wrote:
>Not to poke my nose to deep into what is shaping up to be one of those
>nice
>and informative legal threads, but I think I may have a relevant question:
>if some bit of code is AL, is there a 'legal' way to rip it apart and put
>it back together again, improved and upgraded and then use it for the
>project?
I do not claim to have authority to give a final answer, which is why we
usually end up asking on legal-discuss, but my mental model is this:

-Every line of code was written by somebody, and therefore copyrighted by
that somebody (or their employer).
-The Apache License says you can bundle those lines of code into some
larger code base and modify or add to them.
-Copyright law says that after some amount of modification, you own the
lines you changed/added and somebody owns the lines you didn't touch.

IMO, the law sort of stops there, then policy starts to take over:

-There is an unwritten policy that says that Apache projects do not "take"
code.  It must be "donated".
-Apache projects are free to use code from other projects within the ASF.
-AL-licensed code not outside the ASF is considered third-party.
-Things not donated can be bundled as third-party.
-Third-party headers should remain intact and not modified to the standard
ASF header.
-Copyrights in NOTICE files in bundled AL works get aggregated in the
top-level NOTICE file

And then there is a convention we learned about during the last installer
release.
-The LICENSE file should provide pointers to third-party works

So, IMO, the answer to your question is "yes", but then we have to handle
it properly afterwards.  If you take some code and totally rewrite it, I
believe it is then all yours.  This would be the case when porting code
from one language to another.
It gets murky if you re-implement some functionality already in the same
language.  For MD5Stream, I took the code from a third party, left the
public function headers and some constants intact and rewrote the method
bodies.  When done, I felt that there was no creative content left from
the original so I considered it mine and "donated" it to the ASF.  In
briefly looking at the code Om borrowed, it looked like lots of it was
from the original so I would think it needs third-party handling.  IMO, if
you think the end result is going to have a fair amount of original code
in it, I would start from a copy of the original file and modify it, as
opposed to starting a blank file and copying third-party code into it.

-Alex
 

Reply via email to