Как управлять проектом высокого риска с закрытым исходным кодом?

25

В настоящее время я планирую разработать веб-сайт J2EE и хочу привлечь 1 разработчика и 1 веб-дизайнера, чтобы помочь мне. Проект представляет собой финансовое приложение на нишевом рынке.

Я планирую держать источник закрытым. Однако я боюсь, что мои будущие сотрудники могут легко скопировать кодовую базу и использовать ее или продать ее третьему лицу. Разработка приложения займет 4-6 месяцев, а может и больше, и я могу привлечь дополнительных сотрудников после запуска приложения.

Но как мне сохранить источник при себе. Существуют ли методы, которые компании используют для защиты своих источников?

Я предусматриваю отключение USB-накопителей и DVD-приводов на моих компьютерах для разработки, но загрузка данных или прикрепление кода в электронной почте все еще будут возможны.

Мой вопрос не завершен. Но программистам, которые были в моей ситуации, советуйте пожалуйста. Как я должен идти об этом? Создание команды, поддержание секретности кода и т. Д.

Я с нетерпением жду возможности подписать секретный договор с сотрудниками, если это необходимо. (Пожалуйста, добавьте соответствующие теги)

Обновить

Спасибо за все ответы. Я, конечно, не буду сейчас отключать все USB-порты и DVD-приводы. Но я думаю, что я должен вести журнал действий (как именно я должен это делать?) Я настороженно отношусь к скальперам, которые присоединятся, а затем убегут с существующим кодом. Я не встречал никого, но мне посоветовали с осторожностью относиться к ним. Я бы включил пункт о секретности, но, учитывая, что это стартап почти без финансирования и в высококонкурентной бизнес-нише с более крупными игроками в этой области, я сомневаюсь, что смогу обнаружить или преследовать любых скальперов.

Как мне нанимать людей, которым я доверяю, если я не знаю их лично. Их резюме будет полезно, но в противном случае доверие будет развиваться только со временем.

Но, в конце концов, даже если они убегают с кодом, после продажи важен сервис. Так что я не очень беспокоюсь за долгое время.

Абель
источник
28
Я знаю, что я (и ни один другой здравомыслящий, компетентный разработчик) не подумал бы работать в условиях, на которые вы намекали (отключенные pendrives, пишущие DVD…).
Джонатан Стерлинг
5
Просто ядовито.
Джонатан Стерлинг
53
Честно говоря, когда я встречаю кого-то, кто отказывается оказывать какое-либо доверие, я всегда думаю, что это говорит больше об их собственной достоверности, чем моей - то есть, если вы думаете, что мне нельзя доверять, это потому, что вы знаете, что можете » доверять.
Джеймс Маклеод
8
@abel: Сводя некоторые из ваших предыдущих замечаний, у вас нет опыта профессиональной разработки программного обеспечения. Но вы пытаетесь войти в «высококонкурентную бизнес-нишу» и преуспеть в борьбе с «более крупными игроками», когда у вас «почти нет финансирования». У вас гораздо больше рыбы, которую нужно жарить, чем беспокоиться о том, что программисты убегают с вашим кодом. Если бы я был вами, я бы написал бизнес-план и рассмотрел его у бизнесменов, которые уже достигли цели в вашей целевой области, а затем подумал, есть ли у вас ресурсы для успеха.
Боб Мерфи
37
@abel: После вашего обновления ваш вопрос выглядит следующим образом. У вас мало денег, и вы никогда не работали в ресторане, не говоря уже о том, чтобы им управлять. Но вы все равно решили открыть ресторан - и в Сан-Франциско, где уже есть много отличных ресторанов, изо всех сил пытающихся получить прибыль. Итак, вы идете на съезд поваров и спрашиваете, как нанять повара, который не отравит еду. И когда они говорят, что повара не отравляют еду, вы признаете, что никто из тех, кого вы когда-либо знали, не был отравлен, но кто-то сказал вам, что вы должны беспокоиться об этом, так что вы все равно будете беспокоиться.
Боб Мерфи

Ответы:

77

Вы должны доверять своим разработчикам.

Практически все профессиональные разработчики не украдут ваш источник. Понятно, что если вы работаете на кого-то другого, то код, который вы пишете, принадлежит работодателю. Разработчики могут скопировать код для справочных целей, но вряд ли они предложат его для продажи кому-либо еще. Если они предложат его для продажи новому работодателю, то вероятным результатом будет то, что им покажут дверь и, возможно, даже арестуют (как указывает Боб Мерфи в своем комментарии ). Быть пойманным не стоит риска.

Что еще более важно, недоверие порождает недоверие. Отключение портов USB и устройств записи DVD вызовет чувство недоверия, что, как ни парадоксально, повысит вероятность того, что разработчики скопируют код.

Во что бы то ни стало добавьте пункт о секретности в ваш контракт, но, вероятно, нет необходимости выделять его как наиболее важную часть контракта.

ChrisF
источник
2
Краткий пункт о секретности совершенно нормален в контрактах на разработку и трудовых соглашениях, но, как сказал ChrisF, не переусердствуйте с этим. Для тех, кто сделал больше, чем несколько проектов по разработке контрактов, долгое соглашение о секретности со страшными угрозами просто говорит, что вы невежественный любитель. Существуют стандартные предложения, которые вы можете найти в Интернете, которые могут содержать от 6 до 20 строк текста. Это достаточно, если вы готовы адвоката в случае нарушения - и если вы не готовы, любое соглашение о тайне бессмысленно.
Боб Мерфи
46
Кроме того, в реальном мире третьи лица не хотят украденный код. Риск слишком велик. Еще в середине 90-х годов, когда Informix и Oracle боролись за рынок корпоративных реляционных баз данных, один из разработчиков Informix прекратил присоединяться к Oracle (что было довольно распространенным явлением) и взял с собой жесткий диск, полный исходного кода Informix (который был «т). Он сказал своему новому боссу в Oracle, ожидая теплого приветствия, но вместо этого он получил команду безопасности и арест. Затем безопасность Oracle получила название Informix security, и жесткий диск вернулся в Informix, и никто из Oracle не взглянул на него.
Боб Мерфи
1
@ Боб Мерфи Я надеюсь, что все так искренни, даже в нижней части пищевой цепи.
Авель
1
Я как раз собирался напечатать этот точный ответ. Доверие на самом деле имеет решающее значение для успеха проекта. Как заявил ChrisF, отключение компонентов компьютеров разработчиков будет только портить отношения и информировать разработчиков о том, что им не доверяют. Единственный способ по-настоящему защитить ваш код - это контролировать, где разработчики спят, где они едят, с кем общаются и т. Д. Просто убедитесь, что у вас есть хорошо составленный контракт, чтобы предоставить вам законные боеприпасы, необходимые для наказания любых нарушителей.
TheBuzzSaw
2
Два слова: Эдвард Сноуден ( en.wikipedia.org/wiki/Edward_Snowden ). Даже самые скрытные подразделения внутри федерального правительства США не имеют хорошего решения этой проблемы. Что заставляет вас (ОП) думать, что вы можете добиться большего? Создайте свое решение на доверии и разумном сдерживании, а не на поверхностных технологических ограничениях!
Риного
74

Если эти программисты могут написать программное обеспечение в первую очередь, то ...

ОНИ НЕ НУЖНЫ КРАТИТЬ ЕГО.

Они могут просто переписать его за долю времени, которое потребовалось для его первоначальной разработки. Да, это правда, разработчики не полные идиоты ... как только они выясняют, как что-то сделать, они часто могут вспомнить, как они это сделали.

Итак, я полагаю, вам просто придется им доверять или самим писать программное обеспечение .

GrandmasterB
источник
3
Это аргумент для неконкурентного предложения? ;)
Тим
8
Действительно: ваши программисты уже скопировали ваш код, благодаря тому, что эти знания у них в голове.
Фрэнк Шиарар
Я это понимаю. Я не хочу, чтобы недавно присоединившиеся разработчики скальпировали код.
Авель
3
@abel, украденный код не так полезен, как кажется. Приложение может быть «клонировано» даже без исходного кода. запатентованные алгоритмы , теперь вот то , что вы хотите сохранить в безопасности. Разработчикам не нужно «красть» код, чтобы изучить их, просто прочитайте, а затем воссоздайте. Черт возьми, просто использования программы может быть достаточно, чтобы вывести алгоритм. Таким образом, как уже говорили другие, простое неконкурентное предложение поможет вам, и это почти все, что вы можете сделать. Физическая защита кода - это пустая трата вашего времени, потому что любой разработчик, достойный его внимания, может легко обойти это.
GrandmasterB
11
+1 за правду ... и за то, что заставил меня упасть со стула от смеха. Коровам не нужно красть молоко. 8D
TheBuzzSaw
22

Я слышал, там сказано, что ни одна идея сама по себе не стоит больше 20 долларов (а это канадские доллары!). Идея имеет ценность только в том случае, если она выполнена хорошо. Даже если речь идет о краже кода и попытке самим его реализовать, скорее всего, у вас есть лучшее представление о том, каковы дальнейшие действия, и больше контактов с потенциальными покупателями программного обеспечения.

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

Джеймс Маклеод
источник
9
Это абсолютно верно. Забудьте о том, чтобы хранить сверхсекретную уникальную идею, и сконцентрируйтесь на ее выполнении лучше, чем кто-либо другой. Большинство идей являются продуктом своего времени и приходят в голову нескольким людям независимо друг от друга. (Анри Пуанкаре тоже занимался теорией относительности в начале 1900-х годов, но Эйнштейн обошел его с публикацией.) Скорее всего, есть еще восемь команд, которые направят вашу идею к венчурным капиталистам на Sand Hill Road в этом месяце; это те, у кого есть надежные бизнес-планы и профессиональные команды, которые получат финансирование.
Боб Мерфи
1
Связанный: sivers.org/multiply . Плохие идеи не стоят даже двух пенсов, но хорошие идеи могут стоить более 20 долларов.
Pacerier
6

Суровая правда в том, что никто не хочет ваш код. Вы можете подумать, что вы разрабатываете решение, которое каждый хочет знать, как оно работает. Но чаще всего нет.

Что бы вы сделали, если бы приняли исходный код ваших конкурентов? Вы не можете распространять это. Вы не можете скопировать какие-либо его части в свой проект (даже если бы не было так сложно интегрировать сторонний код в вашу кодовую базу). Что ты можешь сделать? Вы можете изучить это. Но часто читать код сложнее, чем писать его.

Посмотрите на программное обеспечение с открытым исходным кодом. Это наиболее близкая аналогия с украденным исходным кодом. Существует огромное количество не поддерживаемого кода. Большая часть имеет лицензию, которая не соответствует вашим потребностям. Другие имеют несовместимый язык программирования или требуют переноса на вашу платформу. Код, который соответствует вашим потребностям, займет много времени для чтения.

Есть много проектов с открытым исходным кодом с менталитетом закрытого источника. Т.е. они не принимают патчи. Вскоре ваша версия кода будет отклоняться настолько, что будет невозможно объединить новые версии.

Вы должны понимать, что самое ценное - это ваша команда, которая поддерживает ваш код, продвигает его вперед. Не сам код.

Vanuan
источник
5

Если это какой-то запуск, то первое, что вам нужно сделать, - это создать продукт. Вам нужны хорошие разработчики, которые будут усердно работать и быть преданными проекту.

Один действительно простой способ избавиться от них или, по крайней мере, подорвать их моральный дух и преданность делу, - это показать им заранее, что вы им не доверяете. На самом деле, они, вероятно, начнут думать о том, как они могут получить код (хотя они почти наверняка не выполнят), и если они могут придумать способ, они будут думать, что вы не только параноик, но и глупец. (Есть организации, в которых этот уровень предосторожности оправдан, и запуск финансового сайта не будет считаться одним из них.)

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

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

Короче говоря, это должно быть слишком мало на вещи, о которых вы беспокоитесь. Если вы нанимаете плохих людей, вы потоплены, несмотря ни на что Сконцентрируйтесь на найме хороших людей и позвольте этому скользить.

Дэвид Торнли
источник
4

Почему ваши потенциальные клиенты доверяют вам с этими финансами?

Ведь вы можете сбежать с деньгами.

Такие компании, как Microsoft, Google, IBM нанимают тысячи людей для написания групп программного обеспечения с закрытым исходным кодом, и не слишком беспокоятся о том, что их сотрудники уйдут с кодом. Защита авторских прав и четкая оговорка «любой код принадлежит вашему работодателю» в трудовом договоре, по-видимому, охватывают ее, и судебные дела против бывших сотрудников за кражу кода крайне редки.

Более того, как только вы выпустите свое программное обеспечение в широкий мир, если ядро ​​не содержит действительно продвинутой математики, любая компетентная команда программистов сможет воспроизвести ваше приложение, даже не увидев исходный код.

Джеймс Андерсон
источник
3

Как уже упоминали другие, это, в первую очередь, похоже на беспокойство людей.

Тем не менее, есть ряд крупных поставщиков безопасности, которые продают программные решения для утечки данных:

Я не могу комментировать их эффективность или целесообразность, поскольку у меня ограниченный опыт работы с этими решениями, но я просто подумал, что было бы полезно указать на это.

утес
источник
3
Как и идея, единственное беспокойство заключается в том, что эти продукты полны корпоративного языка и не объясняют, что они на самом деле делают :)
Марс Робертсон
2

Честно говоря, как и все остальные говорили, вам просто нужно доверять своим программистам.

Однако я добавлю к этому, сказав, что вы действительно должны учитывать, что открытый исходный код вашего проекта в современных условиях скорее поможет вам, чем навредит вам, за исключением нескольких конкретных рынков. Если вы будете более открыты этой идее, вы будете меньше беспокоиться о том, что ваш исходный код будет расти и убегать, даже если вы сами этого не делаете. Соберите всю добрую волю, которую вы можете, и вы, скорее всего, заработаете деньги, по моему мнению. Даже если бы Империя предложила лучшее приложение в мире, я не думаю, что Люк Скайуокер скачал бы его, потому что идеалы Империи были не в том месте.

coder543
источник