Код
#статьи

Чужой код: краткий ликбез по использованию

Что нужно знать об авторских правах на исходники, чтобы не было мучительно больно и стыдно.

memed_nurrohmad / pixabay

Профессионалы уважают чужой труд, особенно если он облегчает им жизнь. Мы выяснили, как быть с чужим кодом студенту, сотруднику компании, бизнесмену и разработчику открытого ПО, а ещё — провели почти серьёзный мини-опрос среди программистов. Результаты в конце статьи.

Спойлер: особых открытий нет, лицензия рулит.

Самое главное: автор, правообладатель, лицензия

С точки зрения закона код — такой же объект авторского права, как книга, рисунок или музыкальное произведение. Что самое важное в авторском праве:

  • оно неотчуждаемо: вы не перестанете считаться автором ни при каких обстоятельствах;
  • оно возникает в момент создания кода;
  • оно не нуждается в дополнительной регистрации.

Кроме автора, у кода и произведения искусства могут быть правообладатели, или держатели исключительных прав, — например, издательство, киностудия или разработчик ПО. При этом программист, писатель, режиссёр и музыкант остаются авторами.

Если вы написали код в рамках трудового договора с ООО «Крутые Питоняшки», то по-прежнему остаётесь его автором. Но использовать его и получать прибыль могут только «Питоняшки». Так или почти так наверняка написано в договоре — и любой суд с этим согласится.

На практике до переговоров с авторами и правообладателями дело доходит редко. Почти у любого кода есть лицензия, которая ясно говорит: как, для чего и на каких условиях можно этот код использовать. Здесь всё в точности как с изображениями — про них написано в нашей статье о соблюдении авторских прав в дизайне.

Если вы студент

Выдавать чужой код за свой, чтобы получить нужную оценку, обычно строго запрещено. Преподаватели преследуют плагиаторов — в конце концов, они отвечают за качество диплома, который вы получите. Важен именно ваш уровень написания кода.

Тем не менее плагиат в университетах скорее жив, чем мёртв: «Нью-Йорк Таймс» пишет, что в 2015 году в Стэнфорде читили до 20% студентов, изучающих компьютерные науки.

Использовать чужие исходники — значит подставлять и добросовестных студентов под горячую руку преподов. Их тоже начнут подозревать. Если вы из таких студентов, ловите несколько лайфхаков, которые помогут укрепить репутацию.

  • Попробуйте программировать отдельно от сокурсников — например, в другом помещении.
  • Не используйте популярные и шаблонные имена переменных.
  • Подробно комментируйте свой код: у каждого программиста узнаваемый стиль комментирования. К тому же комментарии показывают, насколько вы в теме.

Уважайте себя, своих наставников и свою альма матер: старайтесь кодить самостоятельно, если только в условиях задания не указано иное — например, групповая работа или парное программирование. Тем более что у преподавателей есть куча продвинутых инструментов — найти плагиат в коде довольно просто. Есть даже серьёзные научные исследования на эту тему.

Если вы работаете в компании

Чаще всего за использование чужого кода отвечает сам сотрудник, и соответствующий пункт нередко включают в договор при найме. Ведь специалист здесь вы — а значит, вы и зарплату получаете за оригинальные решения.

Иногда компании даже требуют от работников подписать сертификат подлинности — в нём вы «зуб даёте», что не только сами написали какой-то фрагмент кода, но и никогда раньше не передавали его другим работодателям. Чувствуете? Это же как раз об отношениях правообладателя и автора.

Правило простое: отслеживайте источник кода и не забывайте уточнять, по какой лицензии он распространяется. Иначе подставите шефа — а шеф такого не любит.

Даже у кода с сайта Stack Overflow есть лицензия: её полное название Creative Commons Attribution-ShareAlike 4.0 International. Вы можете делиться кодом и использовать его для любой цели (бинго! коммерческое применение разрешается) — надо только указать автора, лицензию и поставить ссылку на источник.

Например, добавить что-то подобное на экран или страницу, где конечный пользователь сможет увидеть всю информацию об авторских правах и данные компании-разработчика:

Программа содержит код из библиотеки FooBar, использованный на условиях лицензии CC-BY 4.0:
 
 Библиотека FooBar
 Copyright (c) 2017 Авторы библиотеки FooBar
 <текст лицензии CC-BY 4.0 или ссылка на него>

А вот классическая заставка шестого Photoshop с копирайтами: родные сердцу Томас Кнолл, Марк Гамбург и почему-то всё время попадавшийся на глаза Ситха Нарайанан, фамилия которого навевала воспоминания о треке Prodigy с легендарного Fat of The Land.

Если вы владелец бизнеса

Здесь ставки выше: нарушение лицензий, авторских прав и исключительных имущественных прав грозит судебными разбирательствами. А они не только встают в копеечку и отнимают много времени, сил, нервов, но и больно бьют по репутации обеих сторон.

Те же Google и Oracle судятся уже больше десяти лет, приковывая внимание всего IT-сообщества. Суть дела такова: Oracle владеет правами на язык Java, а его используют в экосистеме Android, принадлежащей Google, — пишут миллионы мобильных приложений. На старте корпорации не сумели договориться об условиях использования Java (точнее, его API), и Oracle подал иск почти на девять миллиардов долларов.

Интересно, что Oracle не сами разработали Java: права на язык достались им при покупке легендарной Sun Microsystems.

Источник: Reddit

По мнению экспертов, возможная победа Oracle больно ударит по всей компьютерной отрасли и замедлит общий прогресс. Ведь если на API можно наложить исключительное право, то:

  • разработка и использование открытых программных продуктов затормозятся — они часто копируют функции (не код) успешных приложений;
  • совместимость приложений окажется под угрозой — компании будут насторожённо относиться к чужим API и начнут разрабатывать собственные.

Но ругаются не только западные гиганты — отечественные Иван Ивановичи и Иван Никифоровичи тоже нередко встречаются в судах. Юрист Яндекса Денис Доротенко даже написал большой обзор с историями о плагиате и краже исходного кода. Самый распространённый сюжет — когда сотрудники уносят весь свой код к новому работодателю. По закону это нарушение исключительных прав, поэтому в суде обычно побеждают правообладатели.

К слову, один из популярных ответов на вопрос владельца бизнеса «Как избежать кражи кода» звучит примерно так: «Делайте своих программистов счастливыми и цените их работу». И, знаете, что-то в этом есть.

Если вы делаете open source

Разработка свободных программ с открытым исходным кодом не является волшебным «я в домике» и не защитит от обвинения в плагиате. Мол, я тут Д’Артаньян и Арамис, стараюсь на благо всего мира, а значит, имею право пользоваться любым кодом. Например, разработчикам открытой операционной системы ReactOS регулярно прилетают претензии от Microsoft — и это тормозит разработку операционки. Один из маленьких и мягких инженеров обвиняет разработчиков в краже исходного кода через университетские лицензии — или из внутренней документации компании, таких вот гроссбухов:

Источник: Quora

Плагиат токсичен: он наносит ущерб и правым, и виноватым, и тем, кто просто «мимо проходил» — пользователям или добросовестным студентам. В прошлом году GitHub получил предупреждение и почти тут же заблокировал репозитории библиотеки машинного обучения PHP-ML с открытым исходным кодом — не прошло и суток.

При этом у автора библиотеки и его комментаторов были доказательства, что плагиатором были как раз обвинители — авторы другой библиотеки, RubixML. Но никто из команды GitHub вникать в детали не стал: нет репозитория — нет проблемы.

Итоги, бонус и почти серьёзный опрос

Мы спросили участников одного дружественного программистского чата, как они относятся к использованию чужого кода. Особых открытий не случилось: делаем то, что прямо не запрещено лицензией.

Причём никто не считает, что код программы должен быть исключительно оригинальным. Похоже, правы сторонники свободного ПО и open source, которые утверждают, что открытость и возможность недорого или даже бесплатно использовать чужой код развивает всю индустрию.

Бонус: небольшая памятка о том, как обращаться с чужим кодом.

На курсах раздела «Программирование» вы научитесь писать такой код, который все захотят украсть законно использовать и за который вам будут платить работодатели. А ещё у нас крутые наставники и гарантия трудоустройства.

Изучайте IT на практике — бесплатно

Курсы за 2990 0 р.

Я не знаю, с чего начать
Научитесь работать с нейросетями — бесплатно!
Большая конференция по ИИ: пять экспертов и 10 нейросетей. Освойте нейросети — работа с ними становится обязательным навыком. Нажмите на баннер, чтобы узнать подробности.
Смотреть программу
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована