Если то, что вы сделали, это изменило чей-то код, чтобы сделать то, что вы хотели, то было бы нечестно утверждать, что ваш код «ваш». Скорее, это программа, которую вы создали на основе существующего кода.
Теперь вы, возможно, заметили, что многие программисты используют код других людей. Все время. Библиотеки и API - это, по сути, формализованный способ использования кода, созданного кем-то в вашем собственном проекте. Хотя то, что вы сделали, не то же самое, что использование библиотеки или API, оно имеет тот же эффект.
В случае простой P2P-программы вы можете утверждать, что вы написали приложение для обмена сообщениями, которое использует реализацию простых веб-протоколов других программистов. Вы можете пойти дальше и назвать это своей программой, вы должны просто отдать должное тому, кто написал заимствованные части. И было бы лучше добавить комментарии к коду со ссылкой на источник, чтобы другие могли найти его в случае необходимости.
А в случае с игрой вы написали игру. Вы можете заявить об этом как свой код. Затем эта игра использует набор функций, которые вы получили из другого источника, чтобы включить многопользовательские функции. Опять же, вам, вероятно, следует размещать источник этого кода, по крайней мере, в комментариях к вашему коду. Однако в этой ситуации вы, вероятно, можете сойти с рук, не сообщая об этом явно другим за пределами кода, как вы действительно писали игру.
Многие разработчики полагаются на библиотеки для решения некоторых более сложных проблем, с которыми они сталкиваются. Такие вещи, как сетевые протоколы, графика и сложная математика, используются многими людьми, поэтому есть библиотеки, которые хорошо справляются со всеми этими задачами. Использование такого рода кода не только полностью приемлемо, но и нормально.
Если вы скажете «это клиент для обмена мгновенными сообщениями» или «это видеоигра», никто не удивится, если сетевой код получен от третьей стороны. Только не утверждайте, что вы являетесь единственным автором всех частей кода, и с вами все будет в порядке.
Однако вам следует рассмотреть другую возможность: защищен ли рассматриваемый код какими-либо условиями использования? До этого момента я говорил о коде, который доступен либо без терминов, либо с очень открытыми терминами. Однако, если у автора есть более конкретные термины, следуйте им . Если они только предназначали код для образовательных целей, то использование его в любых других целях не допускается. Они могут накладывать всевозможные ограничения на этот код, поэтому будьте осторожны с тем, как вы его используете.