OberonCore
https://forum.oberoncore.ru/

Ответственность за ошибки в ПО.
https://forum.oberoncore.ru/viewtopic.php?f=27&t=1573
Страница 2 из 6

Автор:  Vlad [ Воскресенье, 10 Май, 2009 21:19 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

Alexey Veselovsky писал(а):
В том числе возможно будут учитываться такие факторы, как язык на котором писано по, используемые библиотеки и т.п. и т.д. + страховая история данной конкретной софтверной конторы.


Так это и так учитывается и без всяких "законных" ужесточений на качество. У конторы с хорошей репутацией скорее купят ПО, чем у никому неизвестной конторы (или печально известной).

Автор:  Alexey Veselovsky [ Понедельник, 11 Май, 2009 02:25 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

http://ru.wikipedia.org/wiki/Чем_хуже,_тем_лучше

Автор:  Info21 [ Понедельник, 11 Май, 2009 07:47 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

Vlad писал(а):
Сергей Губанов писал(а):
А если хочешь продавать тогда неси ответственность по полной.


Ну и не будут продавать. Кому хорошо будет? Кроме того, Alexey Veselovsky правильно заметил - в случае хоть сколько-нибудь сложного ПО от разных производителей можно будет очень долго разбираться "кто виноват". Так что единственная реальная применимость такого экстремизма ...
До экстремизма доводить не обязательно, а вектор правильный.

Если причина -- buffer overflow или segment violation в прикладном софте -- однозначно можно наказывать "по полной" за неиспользование в производстве давным-давно известных безопасных практик.

Автор:  Info21 [ Понедельник, 11 Май, 2009 07:59 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

Valery Solovey писал(а):
А поскольку статистика по КП и ББ никакая, то "стоимость решения" будет печальной. А может и не будет.
Да нет, как раз с Оберонами (включая КП и ББ) в этом отношении всё просто отлично: компиляторы маленькие и надежные, проверил отсутствие импорта SYSTEM -- и вперед.

Автор:  Димыч [ Понедельник, 11 Май, 2009 08:40 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

С GPL и прочими "as is" системами вполне может быть такое развитие - будет создан некоторый консорциум, который будет ставить свой лэйбл, что-то вроде добровольной сертификацией с одновременным созданием страхового фонда.
"Консорциум "Рога и копыта" гарантирует работоспособность ПО в виде, описанном в документации/постановке задач. В случае коммерческих убытков звонить по тел. 555-555-55"
А за вступление в консорциум - входные тесты на живучесть ПО/цикла разработки и страховой взнос.

Автор:  Alexanbar [ Понедельник, 11 Май, 2009 10:19 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

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

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

Любой закон дожен способствовать развитию, а не тормозить его.

Автор:  Пётр Кушнир [ Понедельник, 11 Май, 2009 11:59 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

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

Автор:  Alexanbar [ Понедельник, 11 Май, 2009 16:38 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

Пётр Кушнир писал(а):
Законы ведь не имеют обратной силы, так что все уже "принятые" лиц. соглашения врядли получится отменить.


Ну так мы живем не только сегодняшним днём.

А реально получится, что отвечать будет последний в цепи, т.е. разработчик прикладного софта.

А то, что появится ещё один вариант страховки, ясно кому выгодно.

Ну и, наконец, кто будет виноватого искать? Каким образом можно доказать, что виновен именно этот разработчик, а не какой-либо другой?

Автор:  Vlad [ Понедельник, 11 Май, 2009 16:45 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

Info21 писал(а):
Если причина -- buffer overflow или segment violation в прикладном софте -- однозначно можно наказывать "по полной" за неиспользование в производстве давным-давно известных безопасных практик.


ПО не выполнило обещанную задачу. Какая разница упадет - оно с AV или с ассеротм? Или не упадет, а просто покажет окошко: "Не смогла". Убытки у юзера и в том и в другом случае будут в $.

Автор:  Пётр Кушнир [ Понедельник, 11 Май, 2009 16:49 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

Alexanbar писал(а):
Ну так мы живем не только сегодняшним днём.

Я к тому, что если вы успеете продать ваш софт до того, как примут закон, то к вам никаких претензий, потому что, это было "до того как". Ну, а если после принятия закона вы сознательно воспользовались данным багом/недокументированой функцией, то, как сказал А. Ильин, вы действовали не по доке, поэтому, вы и виноваты.
Vlad писал(а):
ПО не выполнило обещанную задачу. Какая разница упадет - оно с AV или с ассеротм? Или не упадет, а просто покажет окошко: "Не смогла".
Да, да! Пусть пишут без ошибок.

Автор:  Info21 [ Понедельник, 11 Май, 2009 16:51 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

Сколько раз можно про одно и то же.

Автор:  Илья Ермаков [ Понедельник, 11 Май, 2009 16:51 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

Тут уже граница между ущербом от использования ПО (потеря данных, авария и т.п.) и ущербом от невозможности использовать ПО (гарантийные обязательства).

Пример:
Если техника сломалась, то производитель отвечает только по гарантийным обязательствам. Если в технике был серьёзный конструктивный дефект, который привёл к человеческим жертвам, то тут уже дело судебное.

Автор:  Vlad [ Понедельник, 11 Май, 2009 17:42 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

Илья Ермаков писал(а):
Пример:
Если техника сломалась, то производитель отвечает только по гарантийным обязательствам.


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

Илья Ермаков писал(а):
Если в технике был серьёзный конструктивный дефект, который привёл к человеческим жертвам, то тут уже дело судебное.


Ну да. Где-то в сети видел что-то типа "10 самых злобных ошибок в ПО". Насколько я помню, без судебных дел там не обошлось.

Автор:  Илья Ермаков [ Понедельник, 11 Май, 2009 17:54 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

А ещё есть понятие (юридическое) халатности. Т.е. если не были предприняты общеизвестные, базовые меры к обеспечению надёжности. Вот тут-то некий базовый уровень требований можно выставить.

Т.е. если некий стройматериал неадекватно себя повёл через 10 лет в силу каких-то новых обнаруженных свойств, то это не халатность; если вообще можно квалифицировать как ошибку... А вот если не были выполнены стандартные расчёты на прочность - то сажают :)

Автор:  Vlad [ Понедельник, 11 Май, 2009 19:00 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

Илья Ермаков писал(а):
А ещё есть понятие (юридическое) халатности. Т.е. если не были предприняты общеизвестные, базовые меры к обеспечению надёжности. Вот тут-то некий базовый уровень требований можно выставить.


Если вы хотите всех обязать использовать обероны - то так и скажите :) Это будет проще, чем сформулировать "базовые меры к обеспечению надёжности" и проверить их выполнение.

Илья Ермаков писал(а):
Т.е. если некий стройматериал неадекватно себя повёл через 10 лет в силу каких-то новых обнаруженных свойств, то это не халатность; если вообще можно квалифицировать как ошибку... А вот если не были выполнены стандартные расчёты на прочность - то сажают :)


Ага. Расскажите мне про стандартные расчеты программ :) Дейкстра? Так даже его поклонники не всегда могут придти к согласию относительно самого правильного цикла в конкретной ситуации. Просто запретить "недейкстровские" конструкции? См. тему про Duff's device. Не говоря уже о том, что сам по себе запрет не помогает писать правильные программы. Первична сама воля к тому, чтобы писать правильно. Как вы ее собираетесь контролировать? Психологический тест при приеме на работу в качестве программиста? :)

Автор:  Илья Ермаков [ Понедельник, 11 Май, 2009 19:49 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

Vlad писал(а):
Если вы хотите всех обязать использовать обероны - то так и скажите :) Это будет проще, чем сформулировать "базовые меры к обеспечению надёжности" и проверить их выполнение.


Ну шо Вы тень на плетень наводите :) Понятие "безопасный язык программирования" давно и прочно определено в ИТ. Требования к системе типов и управлению памятью тоже однозначно сформулированы.
Вполне чёткий, легко проверяемый критерий.
Уходить ниже этого уровня можно в силу тоже вполне ясно очерченного круга причин (да и локализуется этот уход обычно хорошо). Если же ушли без таких причин, значит - волюнтаризьм и халатность.

Автор:  Илья Ермаков [ Понедельник, 11 Май, 2009 19:51 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

Vlad писал(а):
Ага. Расскажите мне про стандартные расчеты программ :) Дейкстра?


Это дело будущего. Но того, которое нам надо делать уже сегодня :)
Кто ж виноват, что затормозилось дело на 2 десятка лет...
Был "кризис резкого роста", но теперь пора, пора - от знахарства к науке...

Автор:  Vlad [ Понедельник, 11 Май, 2009 21:12 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

Илья Ермаков писал(а):
Ну шо Вы тень на плетень наводите :) Понятие "безопасный язык программирования" давно и прочно определено в ИТ. Требования к системе типов и управлению памятью тоже однозначно сформулированы.


Ну тогда извините. Оберон со своим SYSTEM пролетает. Впрочем даже если убрать SYSTEM, то все равно остается компилятор/рантайм. А пока ближе всего к описываемой вами безопасности жаба :) У нее верифицируемый байткод. Т.е., достаточно "стандартизировать" сам верификатор - вполне реальная задача.

Илья Ермаков писал(а):
Вполне чёткий, легко проверяемый критерий.


Угу. Можно обязать прогонять ПО через такой верификатор. Собственно это уже есть и работает для жабы. А толку - в программах на жабе нет багов?

Автор:  Илья Ермаков [ Понедельник, 11 Май, 2009 21:49 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

Vlad писал(а):
Ну тогда извините. Оберон со своим SYSTEM пролетает. Впрочем даже если убрать SYSTEM, то все равно остается компилятор/рантайм. А пока ближе всего к описываемой вами безопасности жаба :) У нее верифицируемый байткод. Т.е., достаточно "стандартизировать" сам верификатор - вполне реальная задача.


Если мы не берём вопрос злоумышленности (а мы его не берём), то это не имеет значения. Любой язык, обеспечивший герметичность типов/памяти и отделивший нарушающие средства, относится к этому классу.

Автор:  Vlad [ Понедельник, 11 Май, 2009 23:11 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

Илья Ермаков писал(а):
Если мы не берём вопрос злоумышленности (а мы его не берём), то это не имеет значения.


Да причем здесь злоумышленность. Много вы на BB напишите без иморта SYSTEM или какого-нибуь Kernel'а? До первого WinAPI вызова или попытки обработать ASSERT ;) Не надо подгонять "базовую безопасность" под оберон :) Все должно быть строго, если уж на такую серьезную штуку замахнулись. А пока ваши рассуждения больше похоже на мечты выпихнуть C/C++ с ниши ПО в native коде :) Эта ниша и так уменьшается, оставляя место только задачам, которые как раз требуют небезопасности для эффективного решения, не туда надо целить :)

Страница 2 из 6 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/