Якщо ви зробили щось, щоб змінити чийсь код, щоб зробити щось, що ви хотіли, тоді було б нечесно стверджувати, що код ви "ваш". Скоріше, це програма, яку ви створили на основі існуючого коду.
Тепер ви, можливо, помітили, що багато програмістів використовують код інших народів. Весь час. Бібліотеки та API - це, по суті, формалізований спосіб використання коду, який створив хтось у вашому власному проекті. Хоча те, що ви робили, було не таким, як використання бібліотеки чи API, воно має той же ефект.
У випадку простої програми P2P ви можете стверджувати, що ви написали додаток для обміну повідомленнями, яке використовує іншу програмістів реалізацію простих веб-протоколів. Ви можете піти вперед і називати це своєю програмою, ви просто повинні дати кредит тому, хто написав позичені частини. І було б найкраще додати коментарі до коду із посиланням на джерело, щоб інші могли знайти його за потреби.
А у випадку гри ви написали гру. Ви можете заявити це як свій код. Потім ця гра використовує набір функцій, які ви отримали з іншого джерела, щоб увімкнути багатокористувацьку функціональність. Знову ж таки, ви, ймовірно, повинні розмістити джерело цього коду хоча б у коментарях до свого коду. Однак у цій ситуації ви, ймовірно, можете уникнути, не прямо розповідаючи про це іншим за межами коду, як ви справді писали гру.
Багато розробників покладаються на бібліотеки для вирішення деяких складніших проблем, з якими вони стикаються. Такі речі, як мережеві протоколи, графіка та розширена математика, використовуються багатьма людьми, тому існують бібліотеки, які всі ці речі добре відрізняються. Використання цього виду коду є не тільки цілком прийнятним, але й нормальним.
Якщо ви скажете «це клієнт чату» або «це відеоігра», ніхто не здивується, якщо код мережі від третьої сторони. Просто не заявляйте, що ви є єдиним автором всіх частин коду, і вам слід добре.
Однак слід розглянути іншу можливість: чи захищений даний код будь-якими умовами використання? До цього моменту я говорив про код, який стає доступним або без термінів, або з дуже відкритими умовами. Однак якщо автор має якісь більш конкретні умови, дотримуйтесь їх . Якщо вони призначені лише для коду o для освітніх цілей, ніж використовувати його в будь-якій якості поза цією, це не добре. Існує різного роду обмежень, які вони можуть містити в цьому коді, тому будьте уважні, як ви його використовуєте.