Tecnicamente, non sei obbligato a concedere in licenza il tuo codice: la situazione predefinita è che tu come autore del lavoro sei detentore del copyright e, a meno che tu non dia il permesso, nessuno ha alcun diritto sul tuo codice.
Il permesso può essere implicito , ad es. se invii a qualcuno un'e-mail con il tuo codice allegato, che dice "qui, per favore prendi questo codice, installalo sul tuo computer ed eseguilo", stai insinuando che sei d'accordo con questo particolare uso. Il permesso implicito può essere molto più sottile, ed è per questo che chiunque abbia qualcosa in gioco di solito evita di usare il codice su un permesso implicito - altrimenti, c'è sempre il rischio che tu affermi che in realtà non volevi implicare alcun permesso, andare in tribunale e fargli combattere una costosa azione legale.
Un altro problema che spesso va di pari passo con l'assenza di termini di utilizzo espliciti non è chiaro. Se vuoi usare materiale protetto da copyright, devi ottenere il permesso dall'autore, anche se l'autore è sconosciuto - in altre parole, se non conosci l'autore, non puoi ottenere il permesso, quindi tecnicamente non puoi usa il lavoro.
A causa di tutto questo, è meglio stabilire i termini in base ai quali si desidera concedere alle persone il permesso di copiare, utilizzare e ridistribuire il proprio codice esplicito. Questo è ciò che fa una licenza: dice "se vuoi usare questo codice, devi accettare queste condizioni". L'affermazione "Sei libero di fare con questo codice quello che vuoi" è una licenza, ed è quasi permissiva, ma probabilmente è meglio attenersi a una licenza stabilita, perché sono stati esaminati da molti avvocati, quindi puoi essere abbastanza sicuro che il legalese in realtà significa ciò che pensi che significhi. Qualcosa come una licenza MIT o BSD è solitamente appropriata se si vuole essere molto permissivi riguardo alla propria licenza.