Как запретить программистам копировать код из GitHub, когда они покидают компанию?
Мой друг владеет технологической компанией, и он сказал, что одна из самых больших проблем, с которыми он сталкивается, заключается в том, что когда программист покидает компанию, он каким-то образом копирует код и делится им со своей личной учетной записью GitHub. Какие профилактические меры могут быть приняты в этом отношении? Весь код находится на GitHub.
5 ответов
Если код находится в публичном хранилище, любой может его скопировать. Так что я предполагаю, что это должен быть частный репозиторий.
Учетная запись сотрудника должна быть аннулирована на GitHub. Это мешает им продолжать доступ к хранилищу. Github также позволяет видеть количество уникальных пользователей, которые клонировали хранилище. Если это произойдет неожиданно перед тем, как сотрудник уйдет, у вас есть указание на то, что вам нужно провести расследование - в этот момент вы должны запросить у Github журналы IP-адресов.
Между тем, если у вас есть какие-либо реальные доказательства того, что пользователь скопировал хранилище, как есть, на свою личную учетную запись github, технически было бы тривиально проверить github. Они могли бы просто сравнить HEAD commit SHA с вашим хранилищем. Будут ли они делать это без постановления суда, я не знаю.
Сказать, что этот github - это лишь один из многих векторов, извлекающих код из организации. Если вы разрешаете пользователям клонировать репозитории на свое оборудование (например, работать из дома), то вы никогда не сможете полностью доказать, что они не копировали его где-либо еще. Если у них есть USB-доступ к их рабочему компьютеру, что мешает им вручную копировать его? Если использование интернета не контролируется и не ограничивается, они могут просто заархивировать его и загрузить на любой из множества файловых хостингов. И если худшее приходит к худшему, всегда можно сфотографировать экран на персональном мобильном устройстве или распечатать партию и выйти на улицу.
Компании часто обнаруживают, что попытки решить подобные проблемы с помощью технических мер - это бездонные денежные ямы, которые в итоге мешают разработчикам работать и морально. Я бы предложил, как правило, гораздо лучший подход - попытаться создать такую культуру, где разработчики будут уважать вас настолько, чтобы не пытаться украсть у вас. Между тем, если у вас есть какие-либо надежные доказательства, сотрудник злоупотребил своим доступом для соблюдения правильного юридического процесса.
Неважно, откуда их код. Они могут так же легко скопировать его на USB-диск, или компакт-диск, или еще что-нибудь, а затем поместить его на github позже. Или поместите его в любое другое место, Bitbucket, файлообменник и т. Д. Это действительно имеет мало общего с github.
Обычные действия по защите заставляют подписывать NDA сотрудников, иметь заголовки лицензий во всех файлах и иметь юридический отдел, отслеживающий копии.
Это ничем не отличается от защиты фильмов от бесплатных видео в Интернете.
Не уверен, что для этого лучше использовать stackru, возможно, попробуйте: https://law.stackexchange.com/
Если репозиторий является закрытым, а код, как правило, закрытым, им не разрешается копировать и вставлять всю базу кода. Они также могли бы скопировать его перед отъездом, поэтому эту практику трудно прекратить, но если вы сможете доказать, что они скопировали проприетарный / закрытый код, у них могут возникнуть проблемы.
Кроме того, некоторый код действительно прост и может быть переписан, особенно если человек, который оставил его, написал... это просто занимает время.
Если возможно, добавьте уведомление об авторских правах с названием компании в верхней части пользовательских файлов, чтобы избежать путаницы между проприетарным кодом и внешним кодом, таким как импортированные библиотеки и файлы. Также убедитесь, что у вас есть надлежащие договоры о собственности.
Реальный вопрос: они используют этот код, чтобы конкурировать с вами или за что-то совершенно другое?
Ну, прежде чем что-то делать, сначала убедитесь, что вы правильно написали контракты.. Доверяйте мне, у меня есть несколько дел, которые закончились в суде, и 2 раза я проиграл только потому, что адвокат не выполнил свою работу. Это еще сложнее. Итак, вы должны сначала убедиться, что все, что разработано в вашей компании, действительно принадлежит вашей компании на законных основаниях, после этого вы должны быть очень осторожны при публикации контента, потому что вы можете принять некоторые условия, которые могут стоить вам позже. Большинству пользователей я хотел бы поговорить об этой части, поскольку в большинстве случаев, когда разработчики или программисты покидают какую-то компанию, в 99% случаев они уже имеют большую часть кода (или некоторых частей) просто, потому что как программист я знаю, как работает большинство из нас.. всегда есть локальный рабочий код с локальными резервными копиями, поэтому, вероятно, где-то в облаке.. или случится так, что вы не сможете отказаться от доступа сразу после их выхода, и они все равно будут иметь к нему доступ. Но если у вас есть законное основание чем в большинстве случаев просто факта, что у вас есть юридически защищенный код, будет достаточно.
- Если хранилище является общедоступным, каждый, а не только ваши сотрудники могут получить доступ к коду.
- Если репозиторий является закрытым, то вы должны отозвать доступ к учетной записи вашего сотрудника для этого репо / организации.