2

I'm about to release my first "big" project on Github, and although I want it to remain open-source and I have no plan of selling it, I want to try to make this licensing stuff right for my next projects.

For the story, I'm writing a program in Python, inspired by an original program developed in C under the GPL license. I've written my project from scratch and most of the code is mine but some parts of my code are C code that I translated in Python from the original project and other parts of the code are inspired from the original project.

I have research information on licensing for the past two days and from what I understand my project is considered as a derivative work from the original project. According to that, my project also needs to be under GPL, that I understand.

The part where I'm a little bit lost is where do I attribute the original author in my project? In addition to the LICENSE file containing the GPL text, I have created a NOTICE file which basically contains:

{MyProject}
Copyright (C) {Date} {My Name}

Portions of {MyProject} contain code derived from, or inspired by {Original Project} ({Original project link}) under the GNU General Public License (GPL) version 2 or later:

Copyright {Data} {Original author's name} {author's email}

And then I copy/pasted the licensing stuff in his own LICENSE file (which says his project is under GPL but it is not the GPL text you get from the website).

Is this enough? Or should I put the author's copyright in all my source code's headers?
From what I have seen in various posts and threads, you need to do that when you are directly modifying the original source code, where you can put your copyright on top of the original copyright and describe the changed you have made.
But in my case all of the project structure, files and code are different and putting the original author's copyright in my files' headers would not make a clear distinction between what is my original work and what is copyrighted to the author of the original project, because the original parts of code I derived for my project are split in small chunks across my source files.

Do you think the NOTICE file I have created is sufficient to attribute the original author's work?

Thanks!

5

I have research information on licensing for the past two days and from what I understand my project is considered as a derivative work from the original project. According to that, my project also needs to be under GPL, that I understand.

This is mostly correct. The bits of code that you translated from C to Python are almost certainly a derivative work of the original; bits of code that were "inspired" from the original project may or may not be, depending on how close the "inspiration" was. Independent sections of code that you wrote from scratch without any reference to the original project are not a derivative work of the original.

should I put the author's copyright in all my source code's headers?

Any sections of the code which are derivative works of the original should maintain the original copyright statement. As above, there are some grey areas here but I'd certainly say that any files which contain code directly translated from the original should maintain the original copyright statement. Anything you've written from scratch doesn't need it, and the "inspired" sections are the grey area.

Practically, you could just put the original copyright statement on everything. The only time this could become an issue would be if in the future you wished to relicense the code you have written yourself under a different license, when such a statement could be taken as evidence you were not the sole copyright holder and therefore did not have the right to do that.

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.