Одна з відповідей стверджувала, що закон не такий, як кодекс. Я не погоджуюсь.
У перші дні IBM платила програмістам за інструкцією. (Хтось, кого я знав, сказав, що він працював із програмістом, який таким чином збагатився. Очевидно, хлопець не знав, як користуватися індексним регістром машини; він написав процедуру нуль пам'яті, яка вручну зберігала нуль у кожній адресі пам'яті.)
Також був час (давно), коли адвокатам платили за слово. Це сприяло популяризації таких практик, як звернення до людей як до "найбільш шанованих таких-то" та інших багатослівностей.
Я щойно прочитав відповідь на SO, де VB.NET 2008 все ще дозволяє номери рядків . Ви все ще можете запустити чистий DOS на сучасному ПК. І в жарті є багато правди, що всі програми COBOL відхиляються від загального предка шляхом поступових змін. У нашій галузі поширена зворотна сумісність та "історичні причини".
Це можна порівняти із сферою права. Є закони, які вносять незначні (або великі) зміни до інших законів. У вас є певна залежність. Є кілька смішних історичних законів (у Гобарті, Тасманія, заборонено чоловікові одягати жіноче плаття після заходу сонця - адже колись засуджені одягалися як жінки та грабували людей), які ніхто не мріяв би виконувати, так само, як у програмному забезпеченні є деякі історичні особливості, якими більше ніхто не користується.
Закони часто мають ненавмисні наслідки (помилки!), Використовуються творчо (хаки!), Містять лазівки (уразливості безпеки!), Деякі з яких є навмисними (бэкдори!), Змінюються (виправлення!) Або скасовуються (видалення!) .
Так, закони (на відміну від кодексу) підлягають тлумаченню. Але я думаю, що це схоже на обслуговування коду. Це допомагає пристосувати закони до нових соціальних норм.
Щоб відповісти прямо на запитання: кожен розробник повинен знати, що закон - це, схоже, на смішно величезний програмний проект, який розроблявся сотні років. (Насправді кожна країна має свій власний проект, і вони вирішують проблеми по-різному.) Теоретично, прочитавши ліцензію, ви зрозумієте, що можна, а що не можна робити зі своїм кодом. Але якщо грамотний програміст не може помітити всі помилки в своєму коді, лише прочитавши його, то який шанс у не-юриста проаналізувати кутові справи та сірі області юридичного документа?
Як і у випадку з вихідним кодом програмного забезпечення, ви зазвичай можете зрозуміти суть юридичного документа, прочитавши його, але якщо вам потрібно знати щось конкретне, зверніться до фахівця .