Bene, ci sono un paio di modi in cui puoi modificare il software open source senza rilasciarlo.
-
Se lo hai scritto e sei quello che ha applicato la licenza, allora puoi fare quello che vuoi. È completamente possibile rilasciare codice sotto GPL e avere la tua versione proprietaria interna.
-
Se si utilizza e si modifica il software per scopi interni e non si rilasciano i file binari, nella maggior parte delle licenze (anche in GPL) non è necessario rilasciare il codice sorgente.
-
Se sei in fase di sviluppo, ma non hai rilasciato al pubblico, non devi rilasciare il sorgente.
-
Alcune licenze open source non richiedono il rilascio dell'origine. (Ad esempio, licenze BSD o di stile Apache.)
Se ti trovi in una di queste situazioni e non devi rilasciare la fonte, allora qualsiasi cosa nella fonte non pubblicata può essere un segreto commerciale. Una volta rilasciato, ovviamente, smette di essere il caso.
La mia comprensione è che anche con la GPL puoi sicuramente limitare a chi spedisci i binari, il che a sua volta limita a chi devi rilasciare la fonte. Quindi, per esempio, se dici "non puoi avere i binari a meno che non firmi questa NDA", allora non penso che tu debba dare la fonte a chiunque non abbia firmato la NDA.
In generale, la mia comprensione è che la GPL non richiede di dare alcuna fonte a nessuno, solo a chiunque abbia accesso ai binari.
Non sono un avvocato, quindi ovviamente consultane uno reale se si tratta di un problema.