Question

There is a project that is written in python which works great and is under the BSDv3 license. I wanted to use it as a base template for a ruby project instead of starting from scratch. I'd be refactoring (converting) the code from python to ruby, as if the author wrote a ruby gem along with his python library.

My question is what proper credit should be given to the python lib author?
Just mention that the gem is based off the python lib or more extensive?

Was it helpful?

Solution

The rewriting of software is a grey area that isn't fully tested in the courts. Not that this particular issue would go to court, but thats where the answers would come from. Thus, everything that I say here is as a non-lawyer commenting on legal things and should be taken with enough salt to make your doctor say nasty things about your blood pressure.

From Licensing a rewrite from GPL to MIT which discusses changing a license from a more restrictive one to a less restrictive one, one answer said:

Actually, last year our company IP lawyer talked with us about matters like this.

She said that copyright for software is rather dumb, or straight-forward, or what you prefer to call it. It only protects the actual text in the source code, just like if it was a book. If no lines of code are equal (should be true for a Perl->Ruby rewrite?), it's not the same work from a copyright view.

Ideas expressed by the code, e.g. algorithms, may be protected by patents. But that is another story altogether.

I don't think the courts are that straight forward (I know in art that the painting of a photograph is a derivative work of the photograph). Thus, my take on it would be that this remains a derivative work of the original.

But, it sounds like you're not trying to change the license on it. And the BSD is a not restrictive license. Well, there are some restrictions, but its fairly permissive.

The simplest and most straight forward and least problematic thing to do is including the copyright notice of the original code in there, and then add that the conversion from Python to Ruby is copyright you, using the same license.

My (non-lawyer take) on this is that the copyright on the ruby files is wholly owned my you. You don't need to put the original copyright on it. However, the project is a derivative work and thus put the original copyright in the project read me and any files that move as is from the python to the ruby (configuration files or the like that are copyrightable).

Of course, all of this does not constitute legal advice and if you're really picky, contact a lawyer about the licensing. Alternatively, contact the original author find out how they should be credited in your project and follow that answer. But I think you should be safe if you include the copyright of the project in your project.

Licensed under: CC-BY-SA with attribution
scroll top