Condivisione su Github

0

Negli ultimi due settimane ho ricevuto un grande aiuto dagli utenti di StackOverflow su un progetto, e invece di conservare il prodotto finito per me stesso, ho voluto condividerlo senza essere ostacolato dalle licenze, ma non voglio che ci sia così tanto legwork durante l'installazione che gli utenti evitano di provarlo.

Sto per pubblicarlo su Github e scegliere le licenze per il pubblico dominio. Mi piacerebbe essere molto semplice per gli utenti e utilizzare solo FTP.

Detto questo, devo assicurarmi di rimuovere cose come il file JQuery e altre dipendenze con licenza GPL / MIT che non ho scritto ma che il mio codice dipende? Non ho rimosso alcuna nota sul copyright dell'altro codice e tutto l'open source, sarebbe bello se gli utenti potessero scaricare tutto in una volta, mentre ovviamente non tentano di rappresentare che sono il titolare della licenza delle dipendenze.

All'interno dei miei file ci sono anche alcuni frammenti, quelli che devono essere esternalizzati con le istruzioni di installazione o possono essere pubblicati così com'è? Ecco un esempio, il mio file nav.php è lungo 115 righe e ho questi in cima:

<script type="text/javascript" src="./js/ddaccordion.js">
/***********************************************
* Accordion Content script- (c) Dynamic Drive DHTML code library (www.dynamicdrive.com)
* Visit http://www.dynamicDrive.com for hundreds of DHTML scripts
* This notice must stay intact for legal use
***********************************************/
</script>
<link href="css/admin.css" rel="stylesheet">
<script type="text/javascript">
    ddaccordion.init({
    headerclass: "submenuheader", //Shared CSS class name of headers group
    contentclass: "submenu", //Shared CSS class name of contents group
    revealtype: "click", //Reveal content when user clicks or onmouseover the header? Valid value: "click", "clickgo", or "mouseover"
    mouseoverdelay: 200, //if revealtype="mouseover", set delay in milliseconds before header expands onMouseover
    collapseprev: false, //Collapse previous content (so only one open at any time)? true/false 
    defaultexpanded: [], //index of content(s) open by default [index1, index2, etc] [] denotes no content
    onemustopen: false, //Specify whether at least one header should be open always (so never all headers closed)
    animatedefault: false, //Should contents open by default be animated into view?
    persiststate: true, //persist state of opened contents within browser session?
    toggleclass: ["", ""], //Two CSS classes to be applied to the header when it's collapsed and expanded, respectively ["class1", "class2"]
    togglehtml: ["suffix", "<img src='./images/plus.gif' class='statusicon' />", "<img src='./images/minus.gif' class='statusicon' />"], //Additional HTML added to the header when it's collapsed and expanded, respectively  ["position", "html1", "html2"] (see docs)
    animatespeed: "fast", //speed of animation: integer in milliseconds (ie: 200), or keywords "fast", "normal", or "slow"
    oninit:function(headers, expandedindices){ //custom code to run when headers have initalized
        //do nothing
    },
    onopenclose:function(header, index, state, isuseractivated){ //custom code to run whenever a header is opened or closed
        //do nothing
    }
})  
</script>
    
posta Alan 02.05.2014 - 01:44
fonte

1 risposta

1

Non sono un avvocato, ma se il tuo progetto dipende da una singola cosa che è rilasciata sotto licenza GPL, allora tutto il tuo progetto deve essere concesso in licenza sotto licenza GPL. A questo punto, non importa in termini di licenza se si conservano i file open source con licenza nel repository.

Questa era la parte legale (di nuovo - non sono un avvocato). Dal punto di vista tecnico, dovresti provare a utilizzare un gestore delle dipendenze - o almeno Git Submodules - per quei file. Questi ti permetteranno di evitare di archiviare quei file esterni nel tuo repository, renderli più facili da aggiornare alle nuove versioni e ti daranno il controllo su quali versioni usare nel tuo progetto. Queste cose introducono il sovraccarico di lavoro della configurazione iniziale, ma una volta che lo fai è super facile utilizzarle per aggiungere più dipendenze, quindi se hai molte dipendenze, vale la pena di eseguire ulteriori operazioni di configurazione.

    
risposta data 02.05.2014 - 03:10
fonte

Leggi altre domande sui tag