This is ALMOST a direct duplicate of (What is the netiquette for forking other people's open source projects?) except that I could not find my answer there, and I cannot comment (because I don't have enough reputation yet).
Here's my scenario:
I have a public fork of a public GitHub project (https://github.com/fengyuanchen/cropper). I've contributed some fixes to the origin (such as working around canvas rendering limitations on low-memory devices), but I've also added in a bunch of functionality that I wanted in the software, such as:
viewMode: 4: When the image is rotated, it scales so that the entire image is always visible inside the container. The cropBox is also always constrained within the image, rather than just the canvas.
getCroppedCanvastiling: The ability to tile (eg: duplicate matrix-style) the cropped image on a canvas.
However, the original author does not want to merge in this new functionality because he wants to keep his original plugin as simple as possible.
I've tried negotiating and bargaining, but am just getting ignored.
So, I've resigned myself to the fact that I'm going to continue to maintain this public fork. Not ideal, but I really want that other functionality. So there we are.
The original licence is an MIT licence, and declared as:
The MIT License (MIT)
Copyright (c) 2014-2016 Fengyuan Chen and contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
What I don't think is answered in the other post:
- Now that I'm updating/maintaining what is effectively a new version, how do I correctly give attribution to the original author? I know that I'm effectively working on a new version that is my own, but it's based on a foundation that was authored by someone else.
- Is it ok to masquerade as if this new fork is totally mine? eg: Replace links to the github.io page for the original project to my own in my forked README? It sort of feels wrong to not link back to the original, but the github.io has demos on it, and I'd like to demo the new functionality I'm putting in.
- Is there any part of a repo, be it the README.md, the site etc that I should totally replace with my own work to make it more...appropriately mine?
- Should I change the licence wording to remove the original Author's name, and replace it with mine?
Basically, it doesn't feel like the fork is mine, even though all the new work is my own. I don't want to pi$$ anyone off, and the original work was really good.
I'd appreciate any guidance that people can offer so that I do the right thing, which is all I want to do, really.
Here's what I did in the end https://github.com/OddPrints/cropper :
- Added the Credit and Why the Fork? sections plus the mention under the main blockquote.
- Follow the Website link - linked back to the original author as much as possible including in the jumbotron and header/footer menus, but still re-themed the site.
- Changed the dist intro comment to:
Copyright (c) 2015-2016 OddPrints and contributors originally 2014-2016 Fengyuan Chen and contributors Released under the MIT license Date: 2016-07-01T11:35:42.277Z
But I haven't yet changed the licence, because apparently it's not ideal to remove people's names? (Licensing on forked projects)