Якщо специфікація є помилковою, її слід дотримуватися?


28

Мені доручено розробити інтеграцію до одного із заяв мого роботодавця до зовнішньої системи, розробленої нашим клієнтом. Специфікація нашого клієнта на інтеграцію, яка має деякі кричущі недоліки, пов'язані із безпекою. Недоліки дозволять несанкціонованому користувачеві доступу до системи для перегляду обмежених даних.

Я вказав на недоліки та їх потенційні ризики для безпеки, якщо вони будуть реалізовані так, як було розроблено, і запропонували альтернативу без вад, але, коротше кажучи, мені сказали "зроби так, як ми вказали" клієнтом.

Чи несе програміст етична відповідальність НЕ впроваджувати код із відомими ризиками безпеки? У який момент вимоги клієнта перевищують етичну відповідальність, яку ми маємо як розробники програмного забезпечення для створення захищених програм?


9
Ви вказали на ризики, але ви також вказали на ймовірність та (можливо, що важливіше) вплив цих ризиків на якийсь аспект їх діяльності? Ви впевнені, що клієнт повністю розуміє ризики та має на це документацію?
Томас Оуенс

7
Останнім часом я щось кидав у голову в деяких роботах. Якщо ми проведемо те саме порівняння щодо мостобудівника, в якому він попросив побудувати міст, який не має таких дратівливих, обструктивних опор під ним, або може мати лише вагу двох автомобілів, то заради його репутації він Ймовірно, просто відмовляться. Я думаю, що насправді треба наступити момент, коли обов'язок інженера / людини відмовитись. Зрозуміло, переважна більшість скарг на дизайн не наближаються до ризику травми / смерті людини.
Katana314

2
@ Katana314 У моєму поточному сценарії точно не існує ризику фізичних травм чи смерті. На це однозначно простіше відповісти ... Але я думаю, ти вдарив цвях по голові. Додатковий пошук привів мене до Етичного кодексу АСМ , який, здається, посилює нашу відповідальність за виявлення та оприлюднення будь-яких передбачуваних проблем.
Нік Орландо

3
@TheSoftwareDev Справедливо, але я просто додам, що іноді людські ризики можуть бути глибшими, ніж ми усвідомлюємо. Ризик безпеки, що дозволяє хакеру легко брати інформацію про людей та красти їхню особу, залишаючи їх бездомними, щоб згодом покінчити життя самогубством; Недолік соціальної мережі, який дозволяє сталкеру перехопити приватні комунікації жінки про зустріч у ресторані, а потім фізично слідкувати за нею та захоплювати її; трохи болісно думати про це творчо, але ми можемо іноді забути, як можна використовувати далекосяжні наші проекти.
Katana314

1
@gnat Насправді не дублікат. Пов’язане питання стосується загального підходу до етики програмного забезпечення, в цьому питається, яку частину боротьби має винести ОП, перш ніж сказати "більше не моя проблема".
рат

Відповіді:


40

Я думаю, ви зробили свою роль, вказавши на проблему та запропонувавши альтернативу. Якщо вони наполягають на тому, що ви робите речі, що піддають їх певному рівню ризику, вам слід переконатися, що у вас є паперовий слід (і його резервні копії), що свідчить про те, що вони прямо вимагали цього, знаючи про ризики. Якщо ти справдізаклопотані, ви можете сказати їм, що ви з радістю робитимете те, що вони хочуть, якщо вони спочатку підпишуть якийсь юридичний документ / відмову від відповідальності, в якому вони визнають ризики, пов’язані з тим, про що ви просили вас (і звичайно отримаєте адвоката скласти такий документ). Я особисто не знаю жодного прецеденту такого документа для цієї ситуації, але я впевнений, що ви можете знайти адвоката, який допоможе вам у цьому. Якщо у вашій компанії є юридичний відділ, з цим, можливо, слід залучитись, якщо є потенціал корпоративної відповідальності. І звичайно, якщо це так серйозно, вам слід також обговорити це з вашим менеджером.

Я думаю, що єдиною ситуацією, коли може бути просто відмовитись від роботи, було б, якщо це програмне забезпечення для системи, де недолік, який ви переживаєте, може призвести до того, що система буде порушена таким чином, що це може призвести до в дуже ймовірній життєвій втраті / серйозному тілесному ушкодженні або в якійсь катастрофічній втраті власності


4
Або особисту відповідальність ... тобто якщо вас звільнять або ще гірше
Ден Пішельман

5
Немає жодного документа, який міг би підписати клієнт або роботодавець, який би надавав ОП імунітет від цивільної справи. Він може, залежно від характеру своєї роботи, підпадати під визначення та захист відносин агентства зі своєю компанією, забезпечуючи захист відповідальності, але за відсутності такого щита, "я виконував лише накази", це не захист ні незалежно від того, наскільки добре задокументовано. Позивач / обвинувачення може просто сказати, "ви могли би просто кинути; навіть якби це зробив хтось інший, це було б зараз на їхній голові, а не у вас".
KeithS

2
Найкраще, що компанія могла зробити, це гарантувати покриття фінансової відповідальності ОП, включаючи судові та судові витрати. Компанія не може потрапити до в'язниці за нього, якщо виявиться, що він порушив закон.
KeithS

1
@BazzPsychoNut: Здається, що ОП вже намагалася вказати на ризики та пояснити їх, і ігнорується. Якщо вони не можуть / не хочуть просто відмовитись від роботи, я думаю, що вони повинні якомога більше прикрити свою дупу, і вони також повинні проконсультуватися з юристом (який, я підозрюю, дав би їм більш конкретні поради щодо ситуації, а також розповість їх, щоб прикрити дупу).
FrustratedWithFormsDesigner

1
+1 для паперового контуру, а також будьте обережні, якщо ви берете участь у розгортанні. Хоча до нього навряд чи вдасться дійти, існує чимало законів (наприклад, Закон про захист даних у Великобританії), які означають, що недбале поводження з персональними даними може стати серйозним правопорушенням.
Метт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.