Как Google и Facebook и подобным ИТ-гигантам удаётся сохранить свои исходные коды в тайне, тогда как к ним имеют доступ тысячи сотрудников? На этот вопрос отвечают пользователи Quora.com, в числе которых экс-сотрудники Facebook и Microsoft.
Программист в Microsoft Амал Дораи (Amal Dorai) убеждён, что защиту исходному коду Google и Facebook обеспечивают три вещи:
- Код «для функциональной стороны вещей» (генерирующий профили пользователей, позволяющий вводить комментарии и т.д.) не представляет ценности без пользовательской базы. «Вы могли бы создать копию Facebook на пустой базе данных, и вряд ли бы покрыли расходы на электроэнергию, не говоря уже про маркетинговые затраты», — полагает разработчик.
- Код «для инфраструктурной стороны вещей» (механизмы хранения фотографий и т.д.) может быть интересен только для других компаний масштаба Facebook или Google. Если работник украдёт этот код, продать его он сможет только компаниям вроде Apple и Microsoft, однако они не станут его покупать.
- Существуют серьёзные правовые и социальные последствия кражи исходного кода. Даже если вы смогли бы как-то использовать украденные исходники, это было бы сопряжено с большими рисками. Так, когда двое сотрудников Coca-Cola пытались украсть рецепт Coca-Cola и продать его Pepsi: последняя предупредила Coca-Cola, и оба сотрудника отправились в тюрьму.
Экс-разработчик Facebook и основатель Blockspring.com Дон Пинкус (Don Pinkus) подтверждает, что «чисто физически» ничего не мешает сотруднику скопипастить код, однако эти действия повлекут правовые и карьерные последствия. Во избежание их он советует соблюдать осторожность, даже выкладывая фрагменты кода на StackOverflow, где программисты советуются друг с другом.
«Если бы вы хорошенько поискали, то вероятно могли бы найти фрагменты FB-кода на StackOverflow, — говорит Пинкус. — Но после первых нескольких недель на работе любой программист начинает понимать, что он может выкладывать на всеобщее обозрение только анонимный код. Думаю, если бы я скопировал туда один-два сырых фрагмента PHP в первые дни работы в компании, пользователи StackOverflow ответили бы: «Да что это за PHP такой, чёрт возьми?». И выяснилось бы, что я выложил фрагменты «Hack», нашего на то время очень секретного языка».
Программист с 18-летним стажем Уэйн В. Харпер (Wayne V. Harper) не удивился бы, узнав, что код «выходит за дверь» каждый день: за свою карьеру ему не довелось видеть совершенных систем защиты кода. Он согласен с тем, что большая часть кода имеет мало значения для третьих сторон (в отсутствие инфраструктуры и брендов), а семизначный судебный иск наверняка очень быстро охладит пыл желающих поживиться чужим кодом.
В то же время, если посмотреть шире, чрезмерные ограничения и угрозы судебных исков могут деморализовать сотрудников и помешать компании нанимать самых лучших: «Позволить какой-то части кода «уйти» — это цена, позволяющая нанимать талантливых, весёлых и мотивированных сотрудников. При этом лояльные сотрудники гораздо меньше склонны вредить компании», — считает Уэйн В. Харпер.
Самюэль Силбори (Samuel Silbory), старший инженер платформ в Hitachi Data Systems, подытоживает: компании никак не защищают свой код, потому что его утечка им ничем не грозит.
«Вы не можете захватить исходный код поисковой системы Google и сделать свой собственный поисковик», — уверен он. Лучшая альтернатива, по мнению Силбори, — нанять множество инженеров Google и построить новую поисковую систему с нуля, используя уроки, которые эти инженеры извлекли из сотрудничества с компанией.
Белорусский инженер Facebook и бизнес-ангел Игорь Маханёк, в прошлом работавший в Google, рассказывает, что в Google код алгоритмов ранжирования основного поиска хранился отдельно, и к нему имели доступ только работники поискового отдела, однако «даже тот код по сути бесполезно красть — слишком много завязок на инфраструктуру и данные».
По его словам, вся суть в том, что когда codebase таких больших размеров, отдельные куски кода совершенно бесполезны, так что смысла копировать и красть нет вообще: «На самом деле очень мало где в коде действительно есть какие-то такие алгоритмы, которые одновременно сложные, маленькие и интересные третьим сторонам. Большая часть кода не является чем-то необыкновенным». Самое главное, ни один из больших конкурентов точно не будет использовать украденный код, даже если его бы кто-то украл. Зато последствия могут быть очень негативные, вплоть «до полной невозможности найти работу».
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.