Должен ли я включить метод самоуничтожения в мои приложения?

39

Недавно у меня был негативный опыт, когда клиент отказался от счета, но мой посредник уже загрузил наше программное обеспечение и дизайн на клиентский сервер. Клиент оказался известным преступником, и, конечно же, он сменил все возможные пароли сервера.

Тем не менее, я все еще могу получить доступ к админ-панели CMS. К сожалению, оказывается, что мое программное обеспечение очень безопасно. Пробовал SQL-инъекцию, фальсифицировать загрузку изображений и т. Д. Однако я не могу взломать свое собственное программное обеспечение. В любом случае, я готовлюсь подать в суд на этого человека, так что это не проблема .. Я просто думаю сейчас, что, возможно, должен быть какой-то внутренний метод самоуничтожения. Таким образом, в случае аналогичного случая у меня есть возможность убить программное обеспечение.

Моя собственная идея - скрыть какую-то функцию в файлах ядра. Закодируйте его с помощью base64, чтобы это не было очевидно. Так что-то вроде этого:

eval(base64_decode('ZWNobyAnSGVsbG8gd29ybGQhJzs=')); // echo 'Hello world!';

И, в основном, создайте небольшой скрипт, который берет все файлы программного обеспечения, проверяет их chmod и затем удаляет их.
Мои новые версии CMS имеют файловые менеджеры, которые я мог бы использовать для облегчения взлома . Но что делать, если доступ к админ-панели ограничен.

Чтобы быть очень ясным , это предназначено только для программного обеспечения на стадии разработки, на моем личном сервере или клиентском сервере (последняя часть является этически сомнительной.) Так что, если мой клиент должен украсть мое программное обеспечение ... Это не будет включено в коммерческий -програмное обеспечение.
И чтобы быть еще более ясным , мы говорим об этих редких фрилансах. Я считаю вполне логичным, что для работы по контракту такие методы не нужны. Итак, мы говорим об этих Jumprisk-клиентах, только в режиме разработки - когда проект будет готов, тогда, очевидно, это будет очень неэтичный бэкдор, который будет внутри вашего программного обеспечения.

  1. Этично ли это хорошая идея? (Имея в виду, что, очевидно, я удалю его, когда проект будет выполнен на 100% и все оплачено)
  2. Ребята, вам когда-нибудь приходилось взламывать собственное программное обеспечение из-за схожих проблем с клиентами?
  3. Любые рекомендации по этой идее, код и метод мудрый?
  4. Каковы могут быть возможные недостатки или последствия сценариев самоуничтожения?

Мой вывод по этому

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

Я решил сделать скрипт kill-switch для моей CMS. Главным образом, потому что это кажется интересным вызовом. Но также и то, что я мог бы использовать это для моих несогласованных работ, где клиент является другом друга друга. Я, вероятно, не буду использовать это на клиентском сервере, но .. для случаев, когда клиент или некоторые посредники имеют доступ к моему серверу. А мое программное обеспечение украдено или «перемещено без моего ведома», тогда мне не платят, и они ограничивают доступ к программному обеспечению.

Я прочитал много тем здесь, где они рекомендуют отправить предупреждение, а затем снять страницу. Что ж, я увидел в этом проблему, например, когда я имею дело с человеком ... который просто скопирует его куда-то еще (возможно, переименует его и продаст) и скажет мне, что его сняли. И еще, я бы не «выключил сайт», а удалил его. Тем не менее, я думаю, что все еще незаконно получить доступ к моему клиентскому серверу и удалить его. Или, по крайней мере, доступ к нему через бэкэнд, а не через FTP. За это я благодарю всех вас, кто ответил.

Калле Х. Варавас
источник
26
Ваши усилия будут лучше потрачены на тщательную проверку ваших клиентов!
Стивен А. Лоу
14
Оставление не только известной, но и преднамеренной уязвимости в вашем коде не только непрофессионально, но и должно оставить вас в опасности.
Кевин Д.
2
задние двери и бомбы предположительно не являются частью спецификации продукта; в зависимости от законодательства об ответственности и договорах в вашей стране / штате, это может представлять собой нарушение договора
Стивен А. Лоу
11
Я вижу это и сразу думаю, может быть, мне нужно позже .
Мейсон Уилер
3
@ KalleH.Väravas Freeland work! = Работа без контракта. Это означает «тот, кто работает не по найму и не предан конкретному работодателю в течение длительного времени». Выполнение работы без контракта почти всегда рассматривается как очень плохая идея, именно по той причине, по которой вы задаете этот вопрос (клиент убегает, не заплатив за работу)
thedaian

Ответы:

38

Я не юрист. Похоже, у вас уже есть один в целях подать в суд на своего клиента; в то время как у вас его или ее на аванс, я бы порекомендовал получить их совет по этому

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

Прежде всего, если в вашем контракте не указано, что вы можете отключить программное обеспечение за неуплату или если у клиента нет никаких прав на программное обеспечение до тех пор, пока платеж не будет получен в полном объеме, вы не можете переключить любой «переключатель выключения» без нарушая договор. В отсутствие каких-либо слов об обратном: «владение - это девять десятых закона», так что это его программное обеспечение, как только он получит владение, и его уничтожение будет похоже на взрыв нового офисного здания, которое вы построили для него, если бы он этого не сделал. не плати за это.

Второй пункт следует; Любой контракт, который вы предлагаете любому клиенту, должен содержать пункт: «Передача интеллектуальной собственности при выполнении контракта» . Это означает, что даже если вы дали ему копию программного обеспечения для использования, пока он не заплатит вам полностью, он не владеет им. Это даст вам право отключить его или любую его копию программного обеспечения по любой причине до получения полной оплаты, потому что она остается вашей, и вы можете делать все, что пожелаете. Теперь он нарушил контракт, а вы - нет, так что ваш адвокат гораздо проще представить дело, а ваш клиент не получает никакой выгоды от его незаконно приобретенных товаров.

Аналогия со строительным подрядчиком гласит: как только строящееся здание может быть защищено от незаконного проникновения, так оно и есть, и подрядчик, как правило, хранит все копии всех ключей от помещения до тех пор, пока работа не будет завершена и не завершена, и Оплата получена в полном объеме. Даже после передачи ключей, если платеж проваливается, он может наложить арест на имущество и, в крайнем случае, вернуть его. То же самое верно и здесь; вы можете дать клиенту ключ для входа в программное обеспечение, но у вас есть «главный» ключ, и он не получит административный доступ, пока вы не заплатите полностью. Если он может войти сейчас и не заплатит вам, вы можете просто «поменять замки» и заблокировать его из программного обеспечения.

Однако вы дали своему клиенту «главный» ключ к программному обеспечению, и он ушел и изменил все блокировки, так что теперь вы не можете войти. Это не так, как это должно работать. Вы по-прежнему можете требовать возмещения убытков, но в то же время ваш кривой клиент может использовать программное обеспечение, скопировать его в другое место (это большая вещь, которая не может случиться с подрядчиком; если он забирает свое здание, ему не нужно беспокоиться о том, что вы сделал точную бесплатную копию для другого лота) и т. д. и т. д. По сути, ваше единственное средство правовой защиты - принудительное осуществление платежа в полном объеме, поскольку вы не можете гарантировать, что вы вернули все копии программного обеспечения. Вы, вероятно, не были бы рады вернуть ваше программное обеспечение, даже если бы вы могли гарантировать, что у него больше нет копий; это скорее обычная работа, которую вы не можете просто обернуть и продать кому-то еще.

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

Keiths
источник
3
Впечатляющий ответ! Спасибо. Я согласен с вами на 100%, за исключением того, что этот вопрос был направлен на внештатные работы, извините, я, вероятно, не прояснил этот вопрос. Я бы никогда не использовал такие методы с контрактной работой, это просто здравый смысл, а также вопрос: почему ... так как я в любом случае покрыта законом. Тем не менее, я говорю о том, когда у вас есть устный контракт с парнем ... который хочет машину ... и вы строите ее для него. Затем он хочет увидеть это, пока вы делаете это .. и уезжает. Итак, в режиме разработки ... не было бы проще иметь переключатель убийства ... который выключает зажигание ?!
Калле Х. Варавас
11
Вот почему вы НИКОГДА не выполняете работу по разработке для кого-то, кто вас не использует, без значительного времени или ресурсов, без письменного контракта. Это по-прежнему "внештатная" работа, поскольку вы представляете себя в качестве независимого подрядчика, но договор позволяет вам и вашему клиенту покрыть их спины. В нем указывается, что обе стороны предоставят другим (не только продукт и деньги, но и ресурсы, такие как офисные помещения и компьютеры), и что произойдет, если что-то из этого не произойдет в соответствии с договоренностью.
KeithS
Согласен, я получил свой урок. Ну, в теории это правильно, но это была одна из тех редких комбинаций разных переменных. Друг друга, который хотел дешево (1000 €), моя личная CMS с индивидуальным дизайном. Я думаю, что более понятно, как сообщество программистов относится к этому. Спасибо за ваш ответ, он все еще был сосредоточен на делах, по контракту, но оставил воображение для работы без контракта.
Калле Х. Варавас
Сказочный ответ.
Текин
21

В концепции ты прав. Ваше исполнение все неправильно.

Вам необходимо предоставить ему пробные лицензии, срок действия которых истекает. После полной оплаты предоставьте ему окончательную «вечную» лицензию. Все честно и честно.

Идиоты
источник
гораздо лучшая идея
анонимный тип
Действительно, первый ответ, в котором не говорится о том, «почему вы не заключаете контракт» или «использование unlink()является НЕЗАКОННЫМ». Мне действительно очень нравится твоя идея, я могу приготовить что-нибудь в CRON.
Калле Х. Варавас
@Kalle: Никто не сказал, что «использование unlinkнезаконно». То , что люди уже пытались донести, что США, по крайней мере, имеют очень широкие законы о «несанкционированном использовании компьютерных систем»; согласно закону, большинство из нас является преступлением, чтобы размещать ответы здесь, используя рабочие компьютеры. Если у вас нет контракта, дающего вам право на это, удаленное отключение программного обеспечения, работающего на компьютере, которым вы не владеете, почти наверняка будет противоречить этому закону. Независимо от того, было ли украденное вами программное обеспечение украдено или нет, оно вряд ли будет иметь значение, если обвинение является несанкционированным использованием системы, на которой он работает.
Дейв Шерохман
@ Dave. Я понимаю вашу точку зрения, но если вы думаете об этом. Если договора нет, значит, условия и то, что не установлены. Тогда программа дырявая как есть. Итак, если kill-switch был внутри кода, когда программное обеспечение было перемещено / украдено / доставлено ... тогда использование этого kill-switch (в основном, функции unlik ()) является частью цели программного обеспечения ... Я говорил с моим адвокатом И он указал, что взлом программного обеспечения будет незаконным (например, использование файлового менеджера для загрузки сценария unlinking). Но если в коде включен ключ уничтожения, как часть программного обеспечения, то это совершенно законно.
Калле Х. Варавас
19

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

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

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

Ян
источник
Понимаю. Я понимаю вашу точку зрения. Напомним, что kill-switch должен был быть включен в некоммерческое программное обеспечение, и в основном только внутри моего собственного сервера или, по крайней мере, только в режиме разработки. Некоторые клиенты требуют, чтобы разработка велась на их собственных серверах, и это оставляет меня в очень очень уязвимой ситуации. В настоящее время у меня есть все файлы, на которые были нанесены отметки, на дизайн нанесены водяные знаки, меня зовут ВЕЗДЕ - я чувствую себя довольно уверенно, что выиграю судебный процесс ... Я думаю, что наличие kill-switch на моем собственном сервере было бы хорошей идеей, если кто-то крадет их.
Калле Х. Варавас
17

Это кажется феноменально плохой идеей, которая потенциально может посадить вас в тюрьму.

  1. Это неэтично. Плохое поведение вашего клиента не дает вам права взломать их систему.
  2. Это незаконно. Это случилось раньше , с плохими результатами для нарушителей.
  3. Это бессмысленно. Что бы вы могли сделать с этим бэкдором, который не доставил бы вам неприятностей? Вы бы шантажировали клиента?
  4. Это глупо. Даже если бы вы могли сделать это, не попав в ловушку, потенциальные риски намного перевешивают любую возможную выгоду.
Кен Лю
источник
1
Извините, но в вашем ответе отсутствует WHY-часть. Почему это плохая идея и на основании чего я могу попасть в тюрьму? Можете ли вы объяснить немного дальше?
Калле Х. Варавас
3
Насколько я согласен с мнением, @Kalle прав. Пожалуйста, включите причину. -1
Стивен Эверс
3
Вы говорите, что переключатель убийства незаконен? Если договор предусматривает, что услуга будет приостановлена ​​из-за указанных обстоятельств, это не может быть незаконным.
FrustratedWithFormsDesigner
Это зависит от правовых норм, в которых вы ведете бизнес, но в целом правовые системы будут сурово наказывать за попытки взять дело в свои руки. Они действительно хотят, чтобы вы прошли через судебную систему. В некоторых юрисдикциях простой доступ к компьютерной системе без разрешения является уголовным преступлением, наказуемым тюремным заключением. Вы можете утверждать, что это ваше программное обеспечение, но суды скажут, что решать вам, а не вам.
Чарльз Грант
Метод kill-switch включился в работу фрилансера. Извините, я забыл упомянуть об этом в моем вопросе. Я бы никогда не использовал такие методы на контрактной работе. Правовые вопросы здесь (Эстония) находятся в стадии становления, когда дело доходит до законов об авторском праве. У нас есть похожие, но не такие же законы об авторских правах, как в Швеции и Финляндии. Лично у меня никогда не было проблем с клиентами раньше ... некоторые отсрочки платежей и т. Д., Но настоящий бандит, который крадет ваше программное обеспечение - это новое в моей книге.
Калле Х. Варавас
12

Пожалуйста, не спрашивайте программистов, спросите юриста. Я бы подумал, что по крайней мере вы захотите включить в свой контракт пункт о том, что у вас есть право делать то, что предполагает ваш вопрос. (Разве пункт «непоправимый вред» некоторых контрактов не позволяет вам получить постановление суда о немедленном закрытии программного обеспечения, пока у суда не будет возможности разобраться с этим?) Я думаю, что постановление суда будет для вас намного безопаснее, чем кодовая бомба (которую можно считать преступной, если суд установит, что у вас нет программного обеспечения, это может быть уничтожение имущества, в США это может подпадать под действие разделов о цифровом шифровании Закона о цифровом тысячелетии и т. д.). представьте себе выигрыш убытков в гражданском суде и все еще осуждение в уголовном суде).

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

PSR
источник
Ну, в основном, kill-switch был нацелен на внештатную работу. С контрактом все намного проще. В настоящее время дело в основном так: мое программное обеспечение без моего ведома было перенесено с моего сервера и все. С другой стороны, это очень очевидный случай кражи - поэтому в юридическом отношении я не беспокоюсь. Так что kill-switch будет в основном на моем собственном сервере, когда моё программное обеспечение будет украдено. Хотя я начинаю чувствовать, что это все еще плохая идея. Спасибо за ваш ответ, я встречаюсь с моим адвокатом через несколько дней.
Калле Х. Варавас
5

Этично ли это хорошая идея?

Точно нет. Мало того, что это заставляет вас выглядеть непрофессионально честными, честными клиентами, но я чувствую, что это также наносит ущерб профессии в целом. Инженеры-программисты несут ответственность перед своим клиентом или работодателем, в том числе за предоставление программного обеспечения самого высокого качества. В случае возникновения спора по поводу оплаты или контрактов, существуют соответствующие каналы. Снижение качества вашего программного обеспечения не является подходящим каналом.

Ребята, вам когда-нибудь приходилось взламывать собственное программное обеспечение из-за схожих проблем с клиентами?

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

Любые рекомендации по этой идее, код и метод мудрый?

Не делай этого.

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

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

Томас Оуэнс
источник
Спасибо за ваш ответ. Я отредактировал мой вопрос, чтобы быть абсолютно ясным, что это будет в основном на 100% скрыто от клиента. Так как это будет в основном внутри моего собственного сервера и только в режиме разработки. Поэтому, когда кто-то крадет мое программное обеспечение, я могу его убить. Тем не менее, становится все яснее, что я должен использовать закон, а не «силу».
Калле Х. Варавас
2
@ KalleH.Väravas Не имеет значения, где он находится, но тот факт, что вы написали это с самого начала. Можно даже утверждать, что поместить его в среду разработки, а не в производственную среду, еще хуже, поскольку эти две среды больше не идентичны, и это становится еще одной переменной, к которой следует обращаться во время разработки и развертывания.
Томас Оуэнс
3

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

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

Убийственные переключатели имеют слишком много рисков и не стоят того.

Olivers
источник
2

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

  1. Вам все равно не заплатят за работу, которую вы сделали. Да, другой человек не будет использовать ваш код; но вы все равно будете страдать от отсутствия оплаты. Вы думаете, что какой-нибудь преступник решит заплатить человеку, который однажды уже закрыл их сайт? Они найдут нового чувака, который сделает свой сайт бесплатно.

  2. Использование последовательности самоуничтожения делает вас ответственным за ваши собственные юридические проблемы. В зависимости от юрисдикции вы можете легко увидеть, как вы взламываете / уничтожаете их данные (когда они собирались заплатить и имели множество смягчающих обстоятельств, почему они не платили раньше). Даже если вас не осудят / успешно предъявят иск, вы все равно можете заплатить огромные судебные издержки и иметь гораздо больше проблем, чем стоит.

  3. Что, если какой-нибудь хорошо оплачиваемый клиент просматривает ваш код позже (или у него есть друг из CS, который только что просмотрел его, чтобы сделать небольшую настройку), видит функцию со странной частью base64, похож на что-то подобное, пытается выполнить ее и случайно удаляет веб-приложение (и делает ли это, пока вы в отпуске, так что требуется время, чтобы исправить)? Или повсюду публикует множество публичных отзывов о вас, заявляющих, что вы неэтичны, и оставляете бэкдоры в своей работе? Конечно, вы можете удалить его из готового продукта после того, как они заплатят, но с VCS они могут просматривать старый источник или не хотеть вас на своем сервере после того, как они заплатят (и это будет неуклюжим разговором; да, мне снова нужна учетная запись, потому что у меня нет) убрал секрет самоуничтожения бэкдора).

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

В будущем попросите людей подписать простой контракт, поэтапно оплачивайте его и не позволяйте коду уйти с сервера разработки и компьютера, которые контролируются только вами, до тех пор, пока вам не заплатят. (Если им нужно, чтобы он был активен до завершения всей работы; убедитесь, что он примерно заплатил за часть кода, которая становится активной). Если они хотят, чтобы работа находилась в стадии разработки, пусть они дадут вам несколько IP-адресов, которые вы откроете брандмауэру для своего сервера разработки (и, возможно, с умным CNAME дляunpaid_work_in_development.example.com). Не дайте никаких гарантий работоспособности вашего dev-сервера, и если вы получаете больше трафика, чем нужно (например, вы обнаружите, что они перенаправляют много людей на ваш сайт), просто закройте брандмауэр, пока они не заплатят. Если им нужно предоставить контент на ваш веб-сервер, сделайте так, чтобы они либо отправили вам по электронной почте предложения по содержанию, либо создали общую папку для выпадающих сообщений для них, у которых есть права только на запись в небольшое подмножество файлов (под управлением VCS вне Dropbox), которые они может внести значительный вклад в (например, HTML-шаблоны).

доктор джимбоб
источник
Прилепить его к ужасному клиенту в будущем? Это звучит так, о чем я не спрашивал и даже не упоминал. И если мне не заплатят, но он потеряет программное обеспечение, то как действует ваш 1-й пункт? Также в моем вопросе было два момента: этично ли / законно иметь переключатель kill внутри моего собственного сервера и / или на клиентском сервере. Вы не упомянули, какой вы имели в виду. Совершенно уверен, что у меня могут быть kill-switch на моем собственном сервере. Поэтому, когда кто-то копирует его, я могу удаленно удалить его. И я думаю, что хорошие клиенты не имеют значения, поскольку kill-switch не включен в программное обеспечение. Его 1 линия.
Калле Х. Варавас
2

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

Не тратьте свое время на выключатель, выясните, где вы облажались в части коммерческой сделки.

скоро
источник
-1 Извините, но ваш ответ не по теме. Хороший совет, немного обидно, но все же. Я не рекомендую выносить суждения, поскольку вы не знаете полной истории и не знаете, как я обычно занимаюсь бизнесом.
Калле Х. Варавас
2

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

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

Ник
источник
Я начинаю действительно любить идею пробного программного обеспечения. Однако вторая часть ненадежна. По сути, если пробная лицензия или даже kill-switch будут частью программного обеспечения, то это совершенно законно. В зависимости от контрактной или неконтрактной работы, это должно быть указано в договоре.
Калле Х. Варавас
2

Разве это не называется DRM? Пока вы снимаете «бомбу» при получении платежа, я не вижу никаких юридических проблем с ней. Просто убедитесь, что у вас есть готовый патч, чтобы закрыть задницу и показать, что у вас не было злого умысла.

Это напоминает мне о положении «отравленной таблетки» в уставах некоторых компаний, которые активируются в случае враждебного поглощения.

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

veryfoolish
источник
Мне нравится ваш ответ, он гораздо лучше отвечает моей точке зрения, чем другие ответы. Я проверил у своего адвоката, и он сказал, что после этого заходить в админ-панель и загружать сценарий отмены связывания с помощью файлового менеджера, считается взломом - незаконно. Тем не менее, если есть фактическая функция встроенного в программное обеспечение .., то его часть программного обеспечения и имеет свое собственное назначение. Это, очевидно, должно быть включено в контракт, хотя этот вопрос касается неконтрактных работ. Спасибо за ваш ответ :)
Калле Х. Варавас
0

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

Джа
источник
Правда, однако это зависит от клиента, программного обеспечения, сервера. В моем случае клиент едва мог изменить доступ по FTP. Но проверить логи невозможно. Кроме того, этот сервер не поддерживает такие журналы .. как и моя скромная CMS ..
Kalle H. Väravas
-2

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

И прежде чем вы скажете: «Ну, они были бы тупиком, как они уничтожат мою репутацию?» Рассмотрим следующий сценарий: клиент находится в хорошем положении, но один из его сотрудников берет копию кода. Они увольняют этого сотрудника, он смотрит на код, вычисляет переключатель уничтожения и использует его. Угадай, кто обвиняет? (Подсказка: это вы.)

Дэвид Шварц
источник
Я не согласен. Это на самом деле очень хорошая идея. Если вы внимательно прочитаете подробности, то поймете, что я говорю о неконтрактных рабочих местах ... где в моем примере клиент сомнительный. Его репутация известного бандита против моей попытки защитить себя. Я не думаю, что это отрицательно скажется на моей репутации. Ваш сценарий звучит как контрактная работа ... в этом случае у меня есть контракт, нет необходимости в kill-switch. Однако, если нет контракта, они также не могут получить копию кода ..
Калле Х. Варавас
Если контракта нет, значит, вы не заключили контракт на право активировать переключатель kill на их оборудовании, верно? Плохая идея.
Дэвид Шварц
Если нет контракта, то нет условий того, что является частью программного обеспечения. Если kill-switch является частью программного обеспечения, то да ... с точки зрения программистов: этично ли это? Однако это законно. Поскольку цель kill-switch является частью скрипта, она должна быть активирована удаленно с единственной целью удаления ВСЕГО. Это законно, так почему это плохая идея?
Калле Х. Варавас
1
Таким образом, вы говорите, что намеренно заставляете чей-либо компьютер перестать работать так, как он хотел, чтобы он действовал без их разрешения (если вы знаете, что если вы специально спросите их, можете ли вы это сделать, они ответят «нет»), то же самое юридически как выполнение безвредной операции, когда у вас нет оснований полагать, что владелец системы будет против вас делать это? Я бы хотел услышать, как вы передаете это присяжным. (Направлять и стрелять из пистолета в человека - это все равно, что включать выключатель света, верно?)
Дэвид Шварц
1
Ответ, который вы получите, так же хорош, как и вопрос, который вы задаете. Например, вы спрашивали их о случае, который я обсуждал в моем ответе? (Бывший сотрудник выясняет, как активировать переключатель уничтожения.)
Дэвид Шварц