Sì, i miglioramenti non distribuiti non hanno bisogno di avere il codice sorgente rilasciato. Questa è stata una decisione intenzionale durante la progettazione della GPL; ti è permesso modificare il codice per i tuoi scopi senza dover dire a nessuno quello che stai facendo, o per distribuire qualcosa ad esso correlato. La GPL non ha mai inteso dire "se si migliora il codice, è necessario rilasciare i miglioramenti", ma piuttosto "se fa rilascia i miglioramenti, devi rilasciarli come software libero."
L'obiettivo della GPL è sicuramente non per garantire che qualsiasi miglioramento avvantaggi l'intera comunità. Invece, la GPL è progettata per aiutare a fornire agli utenti le quattro libertà definite dalla FSF. Con licenze permissive, il software open source può essere incorporato in software closed-source con restrizioni che la FSF non ritiene siano etiche (in alcuni casi, un programma closed-source può spostare completamente il programma FOSS da cui è derivato, e la FSF certamente non vuole che accada); quindi, la GPL richiede che chiunque distribuisca software GPLed o derivati del software GPLed per dare agli utenti quelle libertà. In caso contrario, il software closed-source potrebbe utilizzare il codice open-source, ma non viceversa, dando a closed-source un vantaggio competitivo.
Questo vale solo per gli utenti del software; mentre gli utenti devono essere in grado di distribuirlo, i non utenti non hanno il diritto di ottenerlo (devono trovare un utente che vuole distribuirlo a loro). Freedom 3 afferma che gli utenti devono essere in grado di consentire alla community di trarre vantaggio dai propri cambiamenti, ma se non si desidera che la comunità lo faccia, sei libero di non distribuirli. L'unica regola è che qualsiasi utente delle tue modifiche deve anche ottenere le quattro libertà, quindi devi GPL il tuo lavoro derivato se lo rilasci. I non utenti non hanno diritti relativi al tuo software; questo non è solo ciò che la GPL è per. L'uso interno aziendale è un po 'speciale (perché le persone dell'helpdesk probabilmente non hanno accesso al codice del sistema di gestione dei biglietti GPL modificato per motivi amministrativi); lì, dal momento che i dipendenti sono impiegati come parte del loro lavoro, la FSF considera "utente" la società , non i dipendenti. Allo stesso modo, l'utilizzo di un chiosco pubblico non ti rende utente del software a scopo di software libero, quindi non ottieni il codice sorgente.
Questo era lo scopo originale: la community spesso ottiene miglioramenti, ma questo è un effetto collaterale di garantire la libertà dell'utente. Qualcuno che vuole solo fare qualcosa per i propri scopi non deve preoccuparsi. Tuttavia, con Internet, la linea era confusa tra "uso interno" e "condivisione con il mondo" - in senso stretto è simile ai chioschi pubblici, ma sembra un po 'diverso. Con Internet, puoi usare il tuo programma come parte di qualcosa che stai offrendo al mondo intero, senza mai distribuirlo sotto il significato della GPL. Mentre le modifiche generalmente vengono distribuite sotto GPL, Internet significa che molti tipi di software (ad es. Software di database) possono facilmente essere usati per fornire un servizio al pubblico senza essere distribuiti sotto GPL (penso questo contro i chioschi è principalmente una questione di scala e contesto), quindi la FSF ha aggiunto una licenza diversa (la AGPL) che dice che se si ospita un programma AGPL per le persone con cui interagire (ma solo eseguendolo sul server), e lo modifichi, devi condividere le modifiche. L'AGPL non è quello comunemente usato, però.