Я не юрист .
Тем не менее, вы можете свободно использовать следующие 3 строки кода во всем, что вы пишете:
for (i = 0; i < 5; i++) {
printf("I am not a lawyer!\n");
}
.... Это чисто функциональный код (не функциональный в том смысле, в каком вы думаете, но функциональный в зависимости от того, что он делает). Это на самом деле не достичь ничего; он просто осуществляет конструкции языка. Он поддерживает материал, который выполняет реальную работу, вы набираете его достаточно часто, чтобы иметь макрос для его создания. Но то, о чем вы говорите, - это не «добросовестное использование», это вообще защищено авторским правом или лицензировано?
Единственный правильный ответ здесь - спросите юриста. Десять строк кода из чего ? Узкоспециализированный алгоритм сортировки? Какая-то прошивка? Один из миллионов парсеров конфигурационных файлов, появившихся на заре существования usenet? Код, сгенерированный другой программой, которая генерирует классы базы данных на основе вашей схемы БД?
Но докажите мне, что вы написали это для цикла или оператора switch, а не просто скопировали мое. В тот момент, когда утверждения перестают звучать абсурдно, вы, вероятно, находитесь в той точке, где вам следует поговорить с юристом или, по крайней мере, с вашим инженером-менеджером / PM / и т. Д.
Я участвую в нескольких проектах с открытым / открытым исходным кодом, некоторые из них требуют авторского права на что-то не «тривиальное». Все они, имеющие это требование, определяют «тривиальный», как десять строк кода, добавленных или измененных. Но это просто произвольный лакмусовый тест, чтобы установить какой-то стандарт; копирование байтов с одной линией разума скорее подпадает под действие авторского права, чем 10-строчный переключатель.
Моя галерея фрагментов состоит из сотен функций, каждая из которых содержит информацию об оригинальном авторе в комментариях в стиле Doxygen, а также информацию о лицензии (если таковая имеется, большинство из них просто общественное достояние).
Если бы это не было тривиально (как в моем смешном примере), я бы не использовал код повторно, если не знал, что у меня есть разрешение на это. Я также всегда следую правилам любой лицензии. И чтобы помочь своему будущему себе (или будущим сопровождающим), мне нравится оставлять ссылку на то, где я нашел материал в комментарии, даже если это название тарного шара, который я включаю на флешку, если ухожу из компании.