Best practice per il rilascio di un'applicazione PHP open source

10

Sono uno sviluppatore PHP per vivere, ma non ho mai lavorato a nessun progetto open source.

Sto sviluppando un CMS per mio uso personale. Ho un prototipo funzionante e penso che una volta pronto (probabilmente un paio di mesi) questo potrebbe essere qualcosa a cui la comunità PHP sarebbe interessata.

Sono uno sviluppatore abbastanza fiducioso, ma ci sono aree in cui la mia conoscenza è carente, specialmente quando si tratta di problemi open source:

  • Qual è il modo migliore per pubblicizzare il progetto e / o trovare altri che potrebbero essere interessati a collaborare
  • Il mio CMS è alimentato da CakePHP e praticamente si trova sopra di esso. Ho biforcato il progetto CakePHP su GitHub: ho già utilizzato i sistemi di controllo versioni (SVN) ma sono abbastanza nuovo per GIT, quindi voglio essere sicuro di fare le cose nel "modo migliore"
  • Come posso scoprire i problemi di licenza? Quale licenza open source sarebbe la migliore per la mia app? Inoltre, il mio progetto prende in prestito da molti altri progetti open source, ad esempio ho sezioni di codice (che ho pesantemente modificato) ma che avevano avvisi di copyright / licenza in atto- non ho idea di quali siano i miei obblighi in termini di conservandoli in

Questi sono solo un paio di esempi delle domande che ho, ma sento che ci dovrebbero essere delle risorse là fuori che potrebbero essermi utili. Qual è il posto migliore per iniziare, quali sono le migliori community / siti che trattano questi argomenti? Ho dato un'occhiata in giro ma non sono riuscito a trovare molto ...

    
posta user916336 28.08.2011 - 13:20
fonte

2 risposte

5

Non sono un avvocato, ma darò una prova a questo.

CakePHP è concesso in licenza con la licenza MIT , che in pratica significa che consente il riutilizzo all'interno di proprietà software a condizione che la licenza sia distribuita con quel software. È compatibile con le GPL licenze, che molti progetti open source hanno rilasciato sotto.

Per quanto riguarda i altri progetti che "prendi in prestito", dovrai verificare i loro tipi di licenza e verificarne la compatibilità tra loro e il tipo di licenza che decidi di utilizzare. Se qualsiasi di loro utilizza una licenza GPL , dovrai anche rilasciare GPL, come i termini dello stato di licenza

The GPL is the first copyleft license for general use, which means that derived works can only be distributed under the same license terms.

...

The GPL is the first copyleft license for general use, which means that derived works can only be distributed under the same license terms.

Il mio suggerimento è di rilasciare sotto la licenza GNU GPL v3 in quanto fornisce hai diritti di proprietà adeguati sul tuo lavoro, consentendo agli altri di utilizzarlo potenzialmente in progetti sia commerciali che aperti. Ricorda, però, che le licenze dei progetti "presi in prestito" devono essere compatibili .

Per quanto riguarda le migliori pratiche con Git e Github, usa git submodule per includere altri progetti nella tua libreria . Questo è meglio che includere direttamente i file poiché non stai riprendendo il lavoro come se fosse il tuo.

$ git submodule add git://github.com/cakephp/cakephp.git vendor/cake-php
$ git submodule update --init
    
risposta data 28.08.2011 - 13:42
fonte
0

Dai un'occhiata a questa guida di Eric S. Raymond (anche il resto del libro vale la pena leggerlo ).

Personalmente, non mi preoccuperei molto di questo - non riuscirai a ricavarne dei profitti direttamente, e nemmeno a qualcun altro, dato che c'è già un'abbondanza di eccellenti CMS generici gratuiti. Ti suggerisco di andare con la licenza più liberale che puoi (MIT o BSD), a meno che tu non prenda in prestito il codice che si trova sotto una licenza virale (tipicamente GPL o una sua varietà), nel qual caso sei obbligato a usare quella licenza in un modo o nell'altro.

Assicurati di leggere attentamente tutte le licenze delle librerie e degli snippet che stai utilizzando; dovrebbero indicare se è consentito ridistribuire e modificare il codice e se è necessario includerli in qualsiasi lavoro derivato (la maggior parte delle licenze lo richiede, e anche per quelli che non lo fanno, l'attribuzione è il minimo che si possa fare per ringraziare il autori originali per il loro lavoro).

    
risposta data 28.08.2011 - 17:51
fonte

Leggi altre domande sui tag