Николай Николаевич Федотов
|
|
« : 01 Мая 2004, 17:05:04 » |
|
Дорогие коллеги! У меня родилась Мысль. Представлена ниже в виде черновика статьи. В связи с Мыслью, вопросы к вам. 1 Можно ли предложить такую статью в серьёзный юридический журнал? 2 Если можно, то в какой? 3 Кто из вас согласен стать соавтором?
========================================== Программа - субъект права?
Конечно, программа субъектом права не является. Во всяком случае, пока.
Не исключено, что в ближайшем будущем, когда появится полноценный искусственный разум, это положение будет изменено.
А не пора ли нам уже сейчас сделать первый шаг в этом направлении? То есть, частично пересмотреть правовой подход к программным средствам.
Аргументация против такова. Программа не обладает свободой воли и не имеет собственных интересов, следовательно, субъектом быть не может.
Тем более, что программа - вещь детерминированная. Программа исполняет то, что было задумано её автором. Любой непредусмотренный результат работы программы - это ошибка или недосмотр программиста. Следовательно, именно на авторе лежит ответственность за результаты работы программы, побочные в том числе.
Всё это так. Однако есть некоторые нюансы. А именно.
1. У современных программ (программных комплексов) большое число создателей. Численность коллектива достигает сотен человек. Между ними довольно сложное распределение ролей, не всегда чёткое, не всегда известное. Программы создаются годами, на протяжении их жизненного цикла коллектив создателей обновляется. Кроме того, многие программы работают во взаимодействии со множеством других программ, у каждой из которых - свой коллектив создателей. Таким образом, понятие автора (создателя, программиста) конкретной программы сильно размывается. У такой большой и неопределённой группы лиц, которая описана выше, не может быть единой воли, единой цели, единого понимания результата. Это заметно даже тогда, когда коллектив создателей организационно объединён в рамках одной фирмы, а уж о создании программного обеспечения по принципам GNU и говорить не приходится.
2. Отсутствует чёткая грань между лицами, создающими программу и теми, кто её эксплуатирует. Высокая гибкость и универсальность кода. Многообразие настроек. Внутренние языки программирования. Всё это приводит к принципиальной неотличимости действий по эксплуатации программы и действий по её созданию (изменению). Пользователь в наше время, даже не имея навыков программирования (в традиционном понимании этого слова), осуществляя настройку программы, фактически программирует. Он добавляет новую функциональность, которая не предусматривалась (да и не могла быть предусмотрена) изначальными создателями. То, что эти действия выглядят как перетаскивание иконок мышкой, а не как набивание исходного кода на чёрном экране, нисколько не меняет существа действий.
3. Использование чужих программ (функций, библиотек, фрагментов исходного кода) - это также повсеместная реалия сегодняшнего дня. Авторы одной программы используют в ней десятки и сотни продуктов, которые создавались другими. При этом, даже если все составные части хорошо документированы, предсказать поведение финального продукта не всегда возможно. Например, автор библиотеки функций при её создании представлял себе цели использования этого продукта лишь в самых общих чертах. Он не мог знать о том, как конкретно будет использована его библиотека в каждом случае. Приведём аналогию из реального мира. Первым делом вспоминается произведение Райкина-Жванецкого(?) "Кто сшил костюм? - Выходят сто человек. ... У нас узкая специализация. Лично я пришиваю пуговицы. К пуговицам претензии есть? - Нет!" В реальном мире в создании одного товара тоже принимают участие много людей и предприятий. Но качество и пригодность каждого промежуточного продукта (например, ткани для костюма) вполне можно проконтролировать и убедиться, что он не вызовет брака в будущем финальном изделии, даже не зная точно, что это за изделие (например, хорошая ткань не будет расползаться в любом костюме, независимо от его кроя). В мире ИТ ситуация принципиально отличается от реального мира. О пригодности промежуточного программного продукта для будущих изделий не всегда можно судить с уверенностью. Иными словами, в отрасли ИТ качество промежуточного продукта (к примеру, библиотеки) не гарантирует качества финального продукта.
4. Работа программ может зависеть от аппаратного обеспечения, на котором эти программы запускаются или с которым взаимодействуют. Многообразие "железа" и его сочетаний не позволяет заранее протестировать программу для всех возможных условий её работы.
Итак, мы видим, что детерминированность поведения программ - это чисто теоретическое понятие. На практике поведение программы и её результат человек может предвидеть лишь с некоторой вероятностью. А если этот человек малоквалифицирован в области ИТ, то и вообще ничего не может предвидеть.
Любой результат работы сложной программы - это сложнейшая интерференция стремлений многих тысяч лиц - коллектива разработчиков, менеджмента, разработчиков всех связанных программных продуктов, администраторов и пользователей. Плюс случайные факторы в виде используемого аппаратного обеспечения и условий эксплуатации.
Такой результат нельзя назвать детерминированным. И невозможно чётко установить лиц, ответственных за этот результат.
Ответственность требует наличия прямой причинно-следственной связи между деянием лица и конкретным событием. В случае с программными продуктами такая причинно-следственная связь не всегда бывает прямой. Иногда она столь извилиста и запутана, что проследить эту связь - за рамками человеческих возможностей.
По мере развития ИТ-отрасли и усложнения программных продуктов (и технологий их производства) указанная связь становится всё сложней и сложней. Не пора ли отказаться от тезиса, что программа - лишь орудие в руках человека, исполняющее лишь то, что этот (или какой-то другой) человек задумал?
Конечно, до искусственного разума и собственной воли у программы ещё далеко. Но совершенно очевидно, что подход "программа=орудие" также имеет изъяны и не всегда применим. В качестве первого шага к законодательному пересмотру существующей концепции предлагается описать круг случаев, когда действия программного обеспечения можно рассматривать в качестве стихийной силы. Вторым шагом будет законодательное признание наличия в ряде случаев выраженной "воли" в действиях ПО, которая сложилась в результате сложной интерференции (но не бязательно "равнодействующей") воли большого числа лиц, установить которых не представляется возможным.
Когда подоспеет искусственный разум, юридическая наука будет к этому хоть немного готова.
|