- Разработчик не может причинить вред пользователю, или своим бездействием допустить, чтобы пользователю был причинён вред.
- Разработчик должен обработать все действия пользователя, кроме тех случаев, когда это противоречит первому закону.
- Разработчик должен заботиться о безопасности в той мере, в которой это не противоречит первому и второму законам.
Под катом опрос и такой себе перевод на английский.
0. Разработчик не может причинить вред сети или своим бездействием допустить, чтобы сети был причинён вред.
UPD 1:
Предлараю пойти дальше, опубликовать везде, и посмотреть на реакцию:
1. Software Developer may not injure a User or, through inaction, allow a User being to come to harm.
2. Software Developer must accept and react to all actions given by User except where such actions would conflict with the First Law.
3. Software Developer must protect as long as such protection does not conflict with the First or Second Laws.
…
0. Software Developer may not injure the Net or, through inaction, allow the Net to come to harm.
UPD 2:
Да, Пожалуйста!
Не ставь сразу нет, подумай Своей головой, Сам, за Себя.
Понятно, что — утопия. Понятно, что — банальщина и лицемерие.
Про деньги немного в каментах, привет КЭП.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Комментарии (13)
EndUser
23.11.2015 00:54+43, 1, 2.
Хотя три закона роботехники юридически регулируют отношение раба к хозяину и классу хозяев.
Так чта… Я бы добавил «0А. Разработчик может вложить количество усилий, более-менее соответствующее оплате согласно усреднённым расценкам усилий разработчиков на рынке и вряд ли быстрее, чем усреднённое время исполнения этого количества усилий. Остальные пункты ограничены пунктом 0А.» и «0Б. Усилия будут распределены по аспектам продукта согласно заказу или случайным образом, если заказ не чёткий или нестабильный».wentout
23.11.2015 01:25Наши люди в булошную на такси не ездят!
Раз уж пошла «такая пъянка», то конечно, правда Ваша, деньги всем нужны, даже когда семеро по лавкам не сидят.
Это очевидно, КЭП!
:)
И всё же, Вам не надоело, как пользователю, постоянно натыкаться на отсутствие этой банальной логики кругом?
Понятно, что эти законы — утопия. Что соблюсти их невозможно, что всё постоянно будет глючить, и неважно в каком Вы окружении.
Сложность в том, что пользователь всегда прав.
И нет разницы является ли заказчик пользователем или не является.
Прав тот, кто будет использовать софт.
А разработчик — это же не профессия, это же способ жить.
Разработчики, настоящие разработчики, а не «мастера цеха», он же как джины из лампы: не могут не писать код, ибо природа так захотела.
Они могут даже не осознавать, что они разработчики, но всё равно быть ими.
Двор можно мести алгоритмически, и картины рисовать так, как будто пишешь на ассемблере лучшее творение художественного искусства.
И всегда прав будет пользователь, нравится это или нет.
Не захочет пользователь рыться в кнопках — его право, а не разработчика\заказчика и т.п.
Упадёт система по недосмотру — пользователь не виноват.
Сломается шифрование протокола обмена данными — пользователь пострадает.
Как говорится: Наш код настолько HARD, что мы сами уже SOFT…
Поэтмоу в каждой шутке есть лишь доля шутки.
И если напустить серьёзности, то эта банальщина сверху мне лично не кажется совсем уж лицемерной.
И я хотел бы, чтобы мои поделки соответствовали.
Потому, что иначе не будет ничего, всмысле, всё останется как есть.
Прощайте телепорты, прощай «земля в иллюминаторе» и «трава у дома» сниться не будет, ни зелёная, ни какая.
В общем, это припекло меня, не Вас, сомневайтесь или не сомневайтесь в чём хотите, Ваше право :)
Xu4
23.11.2015 06:18+2Три закона робототехники появились в соответствующем контексте. И популярны они стали из-за того, что люди читали книги Азимова. Если бы такие правила выработались на практике изготовления роботов в реальной жизни, они бы таким фетишем не стали.
Для примера, многие из вещей, с которыми взаимодействует человек, сделаны с учётом требований безопасности. На батареях и в аккумуляторных установках должна быть обеспечена защита от прямого контакта с токоведущими частями, находящимися под напряжением. Очень много людей ежедневно пользуются устройствами с аккумуляторами внутри. Вопрос безопасности в этом случае очень актуален. Но обратите внимание, что даже эта актуальность не превращает такое требование в фетиш для всех людей на Земле, который упоминается при любом поводе.
С другой стороны, сообщества людей вырабатывают какие-то негласные правила для собственного взаимодействия. Однако, манифестация таких правил — это попытка наделить своё сообщество элитарностью, показывая, что участник должен обладать определёнными признаками, которых нет у «недостойной сообщества основной массы населения». Подобные манифестации, в целом, не преследуют цели сделать мир безопаснее. Главная цель — помочь участникам самоутвердиться за счёт принадлежности к сообществу, преследующему такие высокие цели.
Я считаю, что при разработке любой вещи нужно самоутвержаться либо за счёт бабла, получаемого за разработку, либо за счёт демонстрации длинны мозга, либо за счёт ощущений, что ты смог кому-то помочь — твой продукт упростил чью-то жизнь, а может даже чью-то и спас. Это хорошие способы самоутверждения. Они гораздо лучше, чем декларирование высоких идеалов, которые содержат системные ошибки.
Касательно манифеста.
0. Рассмотрите ситуацию: из-за наводнения повредилась телефонная линия в Пердянске, где живут 12 с половиной человек. Сеть повреждена? Да — факт. Все, без исключения, разработчики в мире должны бросить всё и мчаться в Пердянск, чтобы починить Сеть. Те, кто не помчится, автоматически нарушают основополагающий тезис манифеста. Это вопрос формулировок. Там написано, что разработчик не должен бездействовать. Там не написано, что сообщество разработчиков не должно бездействовать. Если бы шла речь о сообществе, то оно могло бы отрядить одного человека на починку и манифест был бы выполнен.
1. Первый пункт — это просто унизительный пункт. Как разработчик, я не хочу, чтобы у меня были пользователи. Я хочу, чтобы вокруг меня было окружение, где все люди равноправные и взаимодействуют друг с другом на равноправной основе, а не пользуют отдельных людей. В дополнение, в законах стран обычно уже учитывается ответственность людей за то, что один человек своим действием или бездействием причиняет вред другим людям. Факт, что это дублирование кода. А дублирование кода снижает эффективность разработки. Как итог, первый пункт манифеста нужен чтобы унизить разработчика и снизить эффективность его работы и развития. И он перекладывает всю работу на разработчика, а не на автоматизированные интерфейсы, которыми должен заниматься разработчик. Это опять же вопрос формулировок. Я понимаю, что вы имели ввиду ПО, но вы его совсем не упоминаете, из-за чего складывается впечатление, что с пользователем взаимодействует разработчик лично.
И, так как первый пункт поражает меня в правах, я остальные, на нём основанные, даже и рассматривать не буду, потому что они заставят меня отказаться от автоматизации, заставляя лично обрабатывать действия пользователей, а так же ущемят мои права, так как мне, при всём этом, придётся пожертвовать собственной безопасностью ради безопасности пользователя. Я всё-таки думаю, что безопасность между пользователями и разработчиками, которые на самом деле являются людьми, должна быть равной, а не с перекосом в сторону пользователя.
Как итог, в этом манифесте пользы нет.
Мой манифест такой:
1. Разработчик такой же человек, как и все остальные люди. Важно это не забывать и не превращаться в вещь, которая гордится тем, что её пользуют, которая даже специальные правила для себя придумала, чтобы другим её было комфортнее пользовать.
В нём только один пункт, но я его считаю очень важным, потому что любой мой шаг вперёд отсчитывается от позиции других людей. Я лидирую по сравнению с другими людьми, а не по сравнению с ноутбуком, цветом кнопок в чятике или зелёной кофтой.
asm0dey
23.11.2015 08:22+3Мой манифест заключается в том, что разработчик — ровно такой же наёмный работник как все остальные. Надо стараться делать хорошо в расках тех денег, которые тебе заплатили и того времени, которое тебе дали. Если ты вылез из сроков или бюджета — то ты плохой разработчик. Если ты пообещал сделать в рамках каких-то сроков больше чем можешь — ты тоже плохой. Так что сначала главная функциональность, а пото, если останется время и деньги — улучшения.
chumakov-ilya
23.11.2015 10:58Вы считаете, что разработчики ближе к роботам, чем к нормальным людям? Иначе зачем адаптировать под разработчиков известные 3 закона робототехники? Мне гораздо больше по душе недавний пост Programmer's Oath от Роберта Мартина:
In order to defend and preserve the honor of the profession of computer programmers,
I Promise that:
- I will not produce harmful code.
- The code that I produce will always be my best work. I will not knowingly release code that is defective either in behavior or structure.
- I will produce, with each release, a quick, sure, and repeatable proof that every element of the code works as it should.
- I will make frequent, small, releases so that I do not impede the progress of others.
- I will fearlessly and relentlessly improve the code at every opportunity. I will never make the code worse.
- I will do all that I can to keep the productivity of myself, and others, as high as possible. I will do nothing that decreases that productivity.
- I will continuously ensure that others can cover for me, and that I can cover for them.
- I will produce estimates that are honest both in magnitude and precision. I will not make promises without certainty.
- I will never stop learning and improving my craft.
wentout
23.11.2015 12:21-1— Вы считаете, что разработчики ближе к роботам, чем к нормальным людям?
>> Разумеется, разработчики ближе к людям, чем к роботам. Речь о продукте жизнедеятельности, а не о биологических характеристиках.
— Иначе зачем адаптировать под разработчиков известные 3 закона робототехники?
>> Чтобы создать роботов, которые соответствуют трём законам робототехники, нужны законы создания роботов для людей, которые будут их создавать, в соответствии теми трёмя законами.
— Мне гораздо больше по душе недавний пост Programmer's Oath от Роберта Мартина:
>> Да, конечно, раньше не видел, и безусловно смысл есть :)
Судя по глубине негативной реакции, скорей всего я вижу какую-то не ту картинку. Но тем не менее для меня информационные системы и роботы — очень близкие сущности, если не одно и то же. Соответственно, если писать код, то это всегда писать «робота». Как-то так.
RPG18
23.11.2015 12:01+11. PUBLIC — Software engineers shall act consistently with the public interest.
2. CLIENT AND EMPLOYER — Software engineers shall act in a manner that is in the best interests of their client and employer consistent with the public interest.
3. PRODUCT — Software engineers shall ensure that their products and related modifications meet the highest professional standards possible.
4. JUDGMENT — Software engineers shall maintain integrity and independence in their professional judgment.
5. MANAGEMENT — Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance.
6. PROFESSION — Software engineers shall advance the integrity and reputation of the profession consistent with the public interest.
7. COLLEAGUES — Software engineers shall be fair to and supportive of their colleagues.
8. SELF — Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession.
Software Engineering Code of Ethics and Professional Practice ACM/IEEE-CS.
AlexandrDP
А кто будет платить за «банкет»? Пользователь?
Ну и правильнее, в текущих реалиях, заменить пользователь на заказчик.
Быстро, качественно, дешево — выберите два варианта, третий будет в два раза отрицательнее.
wentout
Семён Семёныч! Ну что Вы!