Devo includere me stesso come autore dopo aver modificato il codice di terze parti?

17

È prassi comune apportare alcune modifiche o correzioni nel codice di terze parti (che si tratti di un semplice elenco o di un'intera libreria). Ma è anche normale che molti di questi codici abbiano le loro regole di licenza e alla fine un'intestazione su ogni file con informazioni sul copyright.

Dopo aver apportato queste modifiche, qual è la cosa giusta da fare dopo? Tieni intatte le informazioni sulla licenza o prova ad aggiornarlo includendo te stesso con qualcosa come @author o @revision tag?

Un altro problema comune sta cambiando lo spazio dei nomi / pacchetto di terze parti per adattarlo alle convenzioni del progetto. Alcuni tipi di licenza includono questo tipo di informazioni nel loro blocco di licenza, posso cambiarlo liberamente?

So che la risposta a queste domande dipende da ciascun tipo di licenza, quindi per rendere la mia domanda più specifica ...

Considerare le regole generali di licenza (di solito sono diverse in aspetti secondari, giusto?), è etico (o almeno permesso) che liberamente aggiungo informazioni al blocco di licenza riguardo alle mie modifiche e forse anche modifica come faccio riferimento ad esso nel mio codice (ad esempio, usa YACorp.YALib come Utils.YALib )?

In realtà le mie preoccupazioni riguardano più il "rispetto per la comunità" che gli aspetti legali, sto chiedendo di più su quanto possiamo "impazzire" rimanendo etici se il nostro progetto può essere considerato privato o personale.

    
posta cvsguimaraes 18.03.2014 - 18:00
fonte

3 risposte

9

After making those modifications what's the correct thing to do next? Keep the licence info untouchable or try to update it including yourself with something like @author or @revision tags?

Penso che tu stia confondendo la licenza del software e qualsiasi prologo che potrebbe far parte del software.

La licenza è il luogo in cui i proprietari del copyright del programma specificano i termini di utilizzo (la licenza) per le altre persone. Alcune licenze sono molto permissive, altre sono molto più restrittive.

Il prologo è dove gli autori inseriscono i tag @author e @revision per fornire un modo per tenere traccia delle modifiche al codice sorgente. In alcuni casi, diventare autore di un'aggiunta non banale al codice può darti diritto al copyright su quella sezione del codice. Districare le preoccupazioni sul copyright può essere spinoso ed è meglio gestito dagli avvocati. Tuttavia, hai dichiarato esplicitamente che non ti interessa questo aspetto, quindi proseguirò.

Another common problem is changing the 3rd-party namespace/package to fit it to your project conventions. Some license types include these kind of information in their license block, can I change it freely?

Questo dipende molto dalle convenzioni del progetto.

Se prepari il progetto, puoi fare quello che vuoi.

Se pensi di contribuire con le tue modifiche al progetto, dovresti rispettare la convenzione stabilita. Se c'è un motivo valido per cambiare lo spazio dei nomi, è necessario presentarlo alla comunità dell'applicazione.

Considering general license rules (usually they are different in minor aspects, right?),

is ethical(or at least allowed) that I freely add information to the license block about my modifications and perhaps also modify how do I refer to it in my code (e.g use YACorp.YALib as Utils.YALib)?

Non cambiare la licenza!

Prima di tutto, probabilmente non hai i diritti legali per modificare la licenza. In secondo luogo, eventuali modifiche apportate potrebbero compromettere la licenza. Lascia le modifiche della licenza agli avvocati.

Per quanto riguarda l'aggiornamento del prologo, dipende dalle norme del progetto. Alcuni progetti non vogliono un prologo perché usano il controllo del codice sorgente per tracciarlo. Altri progetti fanno. Segui le convenzioni del progetto.

Actualy my concerns are more about "respect to the community" than the legal aspects, I'm asking more about how much we can "go wild" remaining ethical if our project can be considered private or personal.

Se stai mantenendo i tuoi cambiamenti in te stesso, perché ti importa cosa pensano gli altri? Qualcosa che usi solo per te stesso e che non distribuisci mai ad altri non ha alcun impatto sul progetto originale. Quindi a loro non interessa quello che fai.

Se hai intenzione di distribuire le tue modifiche o di contribuire al progetto, devi valutare le convenzioni di quel progetto. Alcuni progetti non vogliono essere biforcati e avranno una licenza sul posto che lo impedisce. Altri arrivano al punto di dire "fai quello che vuoi" e ti viene data carta bianca per fare ciò che ritieni opportuno. In definitiva, la risposta qui dipende dal particolare progetto che stai guardando.

    
risposta data 20.03.2014 - 16:41
fonte
5

Vorrei aggiungere un commento, in parte per segnalare a un lettore che il file non è "vaniglia", con collegamenti a qualsiasi documentazione pertinente o un sistema di rilevamento dei problemi.

Modifica: quindi questa situazione mi ricorda quando un pacchetto di distribuzione Linux, ad es. una biblioteca. Debian ha linee guida e standard su come i pacchetti dovrebbero essere costruiti e nominati, il che potrebbe benissimo variare da come la libreria è normalmente distribuita pre-costruita.

Non penso che dovresti essere timido nel nominare / costruire / modificare una biblioteca, dal momento che immagino che non distribuirai il risultato al resto del mondo? In questo caso includo un README insieme all'origine che descrive quali modifiche hai apportato e perché. Per esempio. README. $ {CompanyName} .changes

    
risposta data 18.03.2014 - 18:24
fonte
2

Dovrai consultare la regola di licenza del codice.

In generale, molte applicazioni di frontend open source (ad esempio Firefox, OpenOffice) considerano il nome e il logo dell'applicazione come marchio; quindi se dovessi pubblicare una versione modificata dell'app non sarai in grado di utilizzare i marchi di fabbrica originali / trade dress (quindi IceWeasel, Torbrowser, LibreOffice).

Tuttavia, la maggior parte delle librerie di programmazione sono spesso meno preoccupate per i marchi purché sia abbastanza chiaro chi fa cosa (di solito questo può essere trovato dai metadati del controllo di versione).

Le informazioni dell'autore hanno due scopi:

  1. Fornire credito dov'è
  2. Dare la colpa dove merita

Questi ultimi diventano più importanti man mano che le tue modifiche diventano più grandi. In genere le informazioni sull'autore possono essere trovate nel controllo della versione, ma alcuni progetti accreditano formalmente un insieme di autori in un file separato. Il punto limite in cui le persone verrebbero accreditate formalmente varia per ogni progetto, contatta gli autori originali in caso di dubbio.

    
risposta data 19.03.2014 - 11:12
fonte

Leggi altre domande sui tag