On Tue, Sep 9, 2014 at 10:48 AM, Alex Harui <aha...@adobe.com> wrote:
> > > 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. > > I don't have anything useful to add to that well written algorithm/function. I will just bring that file as is with their headers and copyright info. And make static calls to methods in that class. Just to be clear, is it okay to copy that file as is into our codebase? Thanks, Om > -Alex > > >