Qual è la netiquette per la forking di progetti open source di altre persone II?

8

Questo è quasi un duplicato diretto di ( Qual è la netiquette per la forking di progetti open source di altre persone? ) tranne per il fatto che non sono riuscito a trovare la mia risposta e non posso commentare (perché non ne ho abbastanza reputazione ancora).

Ecco il mio scenario:
Ho un fork pubblico di un progetto GitHub pubblico ( link ). Ho apportato alcune correzioni all'origine (ad esempio aggirando i limiti di rendering della tela su dispositivi a bassa memoria), ma ho anche aggiunto un po 'di funzionalità che volevo nel software, come ad esempio:

  1. viewMode: 4 : quando l'immagine viene ruotata, viene ridimensionata in modo che l'intera immagine sia sempre visibile all'interno del contenitore. Il cropBox è anche sempre limitato all'interno di image , piuttosto che solo canvas .
  2. getCroppedCanvas tiling: la possibilità di affiancare (ad esempio: duplicare lo stile di matrice) l'immagine ritagliata su una tela.

Tuttavia, l'autore originale non vuole unirsi a questa nuova funzionalità perché vuole mantenere il suo plugin originale il più semplice possibile.

Ho provato a negoziare e contrattare, ma mi sto semplicemente ignorando.

Quindi mi sono rassegnato al fatto che continuerò a mantenere questa forcella pubblica. Non ideale, ma voglio davvero quell'altra funzionalità. Quindi eccoci qui.

La licenza originale è una licenza MIT e dichiarata come:

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
THE SOFTWARE.

Ciò a cui non penso trova risposta nell'altro post:

  1. Ora che sto aggiornando / mantenendo quella che è effettivamente una nuova versione, come faccio a dare correttamente l'attribuzione all'autore originale? So che sto effettivamente lavorando a una nuova versione che è la mia, ma è basata su una fondazione che è stata creata da qualcun altro.
  2. Va bene mascherarsi come se questa nuova forcella fosse totalmente mia? ad esempio: Sostituisci i collegamenti alla pagina github.io per il progetto originale nella mia nel mio README biforcato? Sembra quasi sbagliato non ricollegarsi all'originale, ma su github.io ci sono delle demo e vorrei provare la nuova funzionalità che sto inserendo.
  3. C'è qualche parte di un repository, sia esso il README.md, il sito ecc. che dovrei assolutamente sostituire con il mio lavoro per renderlo più ... appropriatamente mio?
  4. Devo modificare il testo della licenza per rimuovere il nome dell'autore originale e sostituirlo con il mio?

Fondamentalmente, non sembra che la forcella sia mia, anche se tutto il nuovo lavoro è mio. Non voglio far fuori nessuno, e il lavoro originale è stato davvero buono.

Apprezzerei qualsiasi suggerimento che le persone possano offrire in modo che io faccia la cosa giusta, che è tutto ciò che voglio fare, davvero.

Aggiorna
Ecco cosa ho fatto alla fine del link :

  1. Aggiunto il credito e perché la forcella? sezioni più la menzione sotto la blockquote principale.
  2. Segui il link Sito Web - collegato all'autore originale il più possibile, incluso nei menu jumbotron e header / footer, ma continua a modificare il sito.
  3. Modificato il commento introduttivo su:

Cropper v2.3.3 https://github.com/OddPrints/cropper forked from https://github.com/fengyuanchen/cropper

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

Ma non ho ancora cambiato la licenza, perché a quanto pare non è ideale rimuovere i nomi delle persone? ( Concessione di licenze su progetti bifronti )

    
posta ndtreviv 01.07.2016 - 12:28
fonte

2 risposte

7

Now that I'm updating/maintaining what is effectively a new version, how do I correctly give attribution to the original author?

Ecco qualcosa che vedo spesso in situazioni simili:

Copyright 2016 - Project101, written by ndtreviv, based on Project100, originally written by RandomDude24

Replace links to the github.io page for the original project to my own in my forked README?

Questo dovrebbe andare bene. Finché dici che questo è un fork di qualche altro progetto e lo link in almeno un punto nel file readme, non vedo perché il file readme non dovrebbe collegarsi al tuo fork.

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?

IMO, se fossi l'autore originale, sarei assolutamente d'accordo con te con un fork (dopotutto, I è stato colui che ha messo il progetto in Github in primo luogo), come finchè il tuo progetto dà chiaramente credito alla pagina originale.

Assicurati che il tuo sito non assomigli troppo all'originale e potresti anche voler riscrivere il wiki.

Inoltre, nel file readme, dovresti indicare cosa era una funzione originale e cosa hai aggiunto

    
risposta data 01.07.2016 - 12:50
fonte
3

Vorrei solo provare ad essere esplicito su quale sia il lavoro originale e quali sono le tue aggiunte. Non "mascarizzare" il codice originale come il tuo (questo sarebbe "rubare" ed è cattivo)

Innanzitutto, se possibile, apporta la maggior parte delle modifiche ai nuovi file di origine (in cui aggiungi il tuo nome - o il tuo datore di lavoro se lavori - come detentore del copyright).

Quindi potresti aggiungere commenti per le poche modifiche nei file originali che stai facendo.

Infine, sii gentile e aggiungi al README.md che gran parte del lavoro è clonato e un piccolo paragrafo che descrive i tuoi miglioramenti. Forse aggiungi un altro file IMPROVEMENTS.md che descrive le tue aggiunte ..

Assicurati che il lettore del progetto biforcuto possa capire a colpo d'occhio quale codice è per lo più utilizzato dal progetto originale e quale codice è tuo.

Forse rinomina il tuo progetto in modo leggermente diverso (ad esempio Cropper_with_Foo se aggiungi feature Foo a un progetto Cropper )

    
risposta data 01.07.2016 - 12:47
fonte

Leggi altre domande sui tag