No soy un abogado .
Sin embargo, es absolutamente libre de usar las siguientes 3 líneas de código en cualquier cosa que escriba:
for (i = 0; i < 5; i++) {
printf("I am not a lawyer!\n");
}
.... Eso es código puramente funcional (no funcional en el sentido que podría pensar, pero funcional por lo que hace). En realidad no logra nada; simplemente ejercita las construcciones del lenguaje. Es compatible con cosas que hacen un trabajo real, lo escribe con la frecuencia suficiente para tener una macro para producirlo. Pero de lo que estás hablando no es "uso justo", ¿ es esto incluso con derechos de autor o con licencia en primer lugar?
La única respuesta correcta aquí es preguntarle a un abogado. ¿Diez líneas de código de qué ? ¿Un algoritmo de clasificación altamente especializado? ¿Algún tipo de firmware? ¿Uno de los millones de analizadores de archivos de configuración que han estado flotando desde los albores de Usenet? ¿Código generado por otro programa que genera clases de bases de datos basadas en su esquema de base de datos?
Pero, probarme que usted escribió que para el bucle, o sentencia switch, y no simplemente copiar la mía. En el punto en que las afirmaciones dejan de sonar absurdas, probablemente esté en el punto en el que debería hablar con un abogado, o al menos con su gerente de ingeniería / PM / etc.
Participo en varios proyectos de código libre / abierto, algunos de ellos requieren una asignación de derechos de autor para cualquier cosa que no sea "trivial". Todos los que tienen este requisito definen 'trivial' como diez líneas de código agregadas o modificadas. Pero eso es solo una prueba arbitraria de fuego para establecer algún tipo de estándar; es mucho más probable que una línea de comparación de bytes alucinante esté sujeta a derechos de autor que un interruptor de 10 líneas.
Mi galería de fragmentos consta de cientos de funciones, todas ellas tienen la información del autor original en comentarios de estilo doxygen, así como información de la licencia (si corresponde, la mayoría son de dominio público).
A menos que sea claramente trivial (como en mi ejemplo humorístico), no volvería a usar el código a menos que sepa que tengo permiso para hacerlo. También, siempre, sigo las reglas de cualquier licencia que aplique. Y para ayudar a mi futuro yo (o futuros mantenedores), me gusta dejar un enlace donde encontré cosas en un comentario, incluso si ese es el nombre de una bola de alquitrán que entrego en una memoria USB si dejo la empresa.