I have forked a BSD-licensed project and made significant rewrites. In terms of numbers of characters, around 70% of the code was now written by me. I want to respect the original author's copyright while also receiving attribution for my work. Originally I intended to ask the best way to do that, but I see that according to this question I can just duplicate the original author's copyright line in the license file and put in my name and the year(s) of my work. Cool.
Now my question has to do with this line:
Neither the name of the PROJECTNAME nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
My rewrites have involved a significant change to the scope and direction of the application. I felt it appropriate to change the name of the app to better represent what my fork is. So:
I understand that no one here is going to give legal advice! I'm just looking for some general guidelines and best practices from the open source community.
The original BSD license contained a clause not found in later licenses, known as the "advertising clause". This clause eventually became controversial, as it required authors of all works deriving from a BSD-licensed work to include an acknowledgment of the original source in all advertising material.
The terms of the New BSD License (or 3-Clause BSD License) requires users to: Retain the copyright notice, list of conditions, and the disclaimer on all redistributions of the source code.
It requires you to disclose your source code and make the modified version open source as well. It also forbids you from sub-licensing, meaning that you can't change any of the original license terms or introduce any of your own. You're also required to state all the changes you make to the original code.
The BSD 3-clause license allows you almost unlimited freedom with the software so long as you include the BSD copyright and license notice in it (found in Fulltext). Describes the ability to use the software for commercial purposes. Describes the ability to modify the software and create derivatives.
You can change the name of the project, of course, BSD license being one of the most permissive ever, after public domain maybe. It's not cool to keep the old name since you rewrote most of the code. And not fair for the original dev team.
If you are familiar with GPL-based licenses, they mostly have some clauses to make mentioning original authors and keeping the license mandatory. With BSD style, those aren't a problem anymore.
My answers are:
I want to respect the original author's copyright while also receiving attribution for my work.
It's nice you want to, but actually it's even a must. If you don't respect the usage terms given under BSD you would not have the right to rewrite the code (which you already did).
There are multiple ways how you can make the licensing of a software visible, whichever you have with your software make clear:
What is the name of the work (to make it identifiable) and who is the author of it, when was it written.
As your software makes use of other software, make clear under which license that other software is, which software it is, by whom it has been written etc..
If you want to allow your own changes and extendings to be re-used upstream in the project you forked, you should choose the same license for your work.
I felt it appropriate to change the name of the app to better represent what my fork is.
Is changing the name cool? I don't see anything in the license that would prohibit it.
The original usage conditions don't forbid you to change the project name. As you actually forked it, it makes very much sense that you change the name. Even if it's PROJECTNAME-user1311904-fork only or a completely different name.
How best to represent this in the license? Should I replace the old project name with the new one? Should I modify that line to say "neither the name of the OLDPROJECTNAME, the name of the NEWPROJECTNAME, nor the names of its contributors..."?
Actually as outlined above you have two licenses. You have got your license (the main license) which is for "your" software. And then you write that part of your software is licensed as. Then the original terms of the software your forked from are listed (as you got them from the original author). So it's clear what the licensing of your software is.
If you want to document this really good, you should put everything under version control, so it's technically possible to obtain the information what the original code was and what your changes are. So it's absolutely safely documented with the version control system to which part which license/es apply/ies.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With