Non sono un avvocato .
Tuttavia, sei assolutamente libero di utilizzare le seguenti 3 righe di codice in qualsiasi cosa tu scriva:
for (i = 0; i < 5; i++) {
printf("I am not a lawyer!\n");
}
.... Questo è un codice puramente funzionale (non funzionale nel senso che potresti pensare, ma funzionale a ciò che fa). In realtà non realizza nulla; esercita semplicemente i costrutti della lingua. Supporta roba che funziona davvero, la digiti abbastanza spesso da avere una macro per produrla. Ma quello di cui stai parlando non è 'fair use', è prima di tutto anche copyright o licenza?
L'unica risposta corretta qui è chiedere a un avvocato. Dieci righe di codice da cosa ? Un algoritmo di ordinamento altamente specializzato? Qualche tipo di firmware? Uno dei milioni di parser di file di configurazione che stanno fluttuando in giro fin dagli albori di Usenet? Codice generato da un altro programma che genera classi di database basate sullo schema DB?
Ma dimostrami che l' hai scritto per loop o switch statement e non hai semplicemente copiato il mio. Nel punto in cui le asserzioni smettono di sembrare assurde, probabilmente sei nel punto in cui dovresti parlare con un avvocato, o almeno il tuo responsabile tecnico / PM / ecc.
Partecipo a diversi progetti gratuiti / open source, alcuni di essi richiedono un incarico di copyright per qualsiasi cosa non "banale". Tutti coloro che hanno questo requisito definiscono "banale" essere dieci righe di codice aggiunte o modificate. Ma questo è solo una cartina di tornasole arbitraria per stabilire una sorta di standard; una linea di confronto di byte strabilianti è molto più probabile che sia soggetta al diritto d'autore rispetto a un interruttore a 10 linee.
La mia galleria di frammenti è composta da centinaia di funzioni, tutte con le informazioni dell'autore originale nei commenti in stile doxygen, così come le informazioni sulla licenza (se presenti, la maggior parte sono solo di dominio pubblico).
A meno che non sia chiaramente banale (come nel mio esempio umoristico), non riutilizzerei il codice se non so di avere il permesso di farlo. Inoltre, seguo sempre le regole di qualunque licenza si applichi. E per aiutare il mio futuro io (o futuri manutentori), mi piace lasciare un link a dove ho trovato cose in un commento, anche se questo è il nome di una pallina di catrame che accendo su una chiavetta USB se lascio la compagnia.