Джеймс Боттомли (James Bottomley) из подразделения IBM Research, сопровождающий подсистемы SCSI и PA-RISC в ядре Linux и ранее возглавлявший технический комитет Linux Foundation, предложил вариант решения проблемы с возможным привлечением к ответственности разработчиков открытого кода за ошибки в коде или ненадлежащее устранение уязвимостей.
Идея заключается в том, чтобы переложить юридическую ответственность за ошибки в исходном коде с разработчиков открытых проектов на поставщиков конечных коммерческих продуктов, т.е. сместить ответственность с того, кто разрабатывает код на того, кто зарабатывает на этом коде. Например, если компания использует сторонний открытый код в своём продукте и ошибка/уязвимость в этом коде привела к нанесению ущерба пользователю, то отвечать в такой ситуации и возмещать ущерб должен производитель переданного пользователю коммерческого программного продукта, а не разработчик открытой библиотеки.
Перекладывание ответственности предлагается реализовать через прикрепление к лицензии пункта, указывающего на согласие возмещать убытки и защищать участников разработки от любых юридических претензий в случае полного или частичного использования предоставляемого под данной лицензией исходного кода в качестве компонента или продукта в юрисдикциях, накладывающих дополнительные обязательства по сопровождению программных продуктов.
В нынешней практике для снятия с себя юридических рисков достаточно наличия в лицензии предупреждения “AS IS”, в котором заявлено, что разработчик не несёт ответственности за ошибки, не даёт никаких гарантий на работоспособность кода и не принимает обязательств по решению проблем, а потребитель соглашается использовать код на свой страх и риск. Отсутствие гарантий от разработчиков стимулировало развитие бизнес-модели на основе платной технической поддержки, которая доминировала на раннем этапе становления экосистемы СПО.
По мере проникновения открытого кода в индустрию и роста интереса корпораций к его использованию стала развиваться концепция влияния на разработку через некоммерческие фонды – на базе крупного проекта создаётся фонд, получающий финансирование на разработку от крупных компаний, которым в ответ предоставляется возможность вхождения в надзорный технический совет и участия в принятии коллегиальных решений о дальнейшем развитии. Появление фондов преобразило отношение к отрытым проектам, которые стали восприниматься как инструмент развития технологической индустрии, а не беспорядочное пристанище добровольцев. Изменилось и восприятие ответственности за проблемы в открытом коде – вместо защиты отдельных разработчиков, пункт об отсутствии обязательств стал восприниматься как возможность ухода от ответственности крупных компаний, создающих открытые продукты.
Ситуация с отказом от обязательств может измениться в случае принятия в Евросоюзе законопроекта Cyber Resilience Act, который накладывает определённую ответственность на производителей программного обеспечения, должным образом не заботящихся о безопасности и оперативно не устраняющих уязвимости на протяжении жизненного цикла продукта. Законопроект затрагивает производителей коммерческого ПО и, судя по проводимой работе, предоставит специальное исключение для ПО под открытыми лицензиями, но нет никаких гарантий, что в будущем в где-то не будет принят похожий закон без подобных исключений.
В качестве примера рисков, связанных с ответственностью разработчиков, также упоминается инициированное в Великобритании судебное разбирательство, в ходе которого компания Tulip Trading, потерявшая в ходе взлома биткойны на сумму около 4 млрд долларов, требует от разработчиков системы Bitcoin внести изменения в код блокчейна для возвращения потерянной суммы. Иск подан против разработчиков кода инструментария, а не операторов сети Bitcoin. Суд первой инстанции отказал удовлетворить иск на основании пункта в лицензии об отказе от ответственности, но разбор был продолжен в апелляционном суде, который, судя по всему, также отклонит иск, но на этот раз из-за неспособности компании Tulip Trading доказать владение биткойнами на заявленную сумму.