2

If I take a program, and basically translate its source from some language to python, with some small changes, can I do a entirely my new lib or I have to make a "version" of the old one?

would this be a copy of the first or a new lib based in the ideas of the first?

OBS: Consider the original lib is using Apache License v2

Not sure if well explained, but I can't see for now how to make it more clear.

asked Nov 20, 2012 at 0:15
1
  • This brings up the question of copyrighting specific code, or patenting specific functionality... Not that it matters, considering that it is an apache-licensed library. But ideas come from many places, including existing projects. You are rewriting, not translating, btw. Commented Nov 20, 2012 at 0:37

1 Answer 1

2

I am not a lawyer, this is not legal advice. Which means, if you follow my advice, and it turns out to be wrong, don't sue me for it.

A copyright owner's permission is required for doing anything that is covered under copyright law. A copyright license gives you that. Copyright law recognizes copyrights even after every word is replaced. As might happen if you translate a book from Spanish into English. Thus your translation of, say, a Java program into Python would still be subject to copyright.

That said, as long as you follow all of the terms of the Apache License v2 (including attribution, etc), you have permission. That license doesn't say what your library should be called, so your translation can be called anything that you like.

But you're still bound by the author's wishes and copyright.

answered Nov 20, 2012 at 0:33
5
  • Copyright law can be weird with semantics. If you translate a Java program to Python, you are likely violating the license, however, if you write a Python program that does exactly the same thing as the Java program, you are not. This is one reason why trials involving copyright can be so complicated. Commented Nov 20, 2012 at 0:43
  • Agree. Probably would be a rewriting(as @gahooa said) not a new lib, even if some implementations had to be different, because incompatible things in the rewriting. Commented Nov 20, 2012 at 0:55
  • When in doubt, use the API and write the new code to that. That's what Google did with not-Java for Android and they cleaned Larry Ellison's clock in the courtroom. If not in doubt, then it's pretty much a non-issue. Commented Nov 20, 2012 at 2:58
  • Sorry @PeterRowell didn't understand what you mean by "use the API" Commented Nov 20, 2012 at 15:46
  • API ::= Application Programming Interface. Basically take all of the documentation on all of the classes/libraries (but none of the actual code) and write new code that accomplishes the same thing. If no one on the team has looked at the "unclean code" (whatever that means), then this could qualify as a Clean Room implementation. Commented Nov 20, 2012 at 19:52

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.