Это перевод страницы, написанной на английском языке.

Защита отрасли программирования от патентов

Патенты угрожают каждому разработчику программ, и патентные войны, которых мы долго со страхом ожидали, наконец разразились. Разработчики программ и пользователи программ — а они составляют в нашем обществе большинство — нуждаются в том, чтобы программы были свободны от патентов.

Патенты, которые нам угрожают, часто называют “патентами на программы”, но это выражение вносит путаницу. Такие патенты не относятся ни к какой конкретной программе. Напротив, каждый патент описывает некоторую практическую идею, и в нем говорится, что на всякого, кто проводит ее в жизнь, можно подать в суд. Так что более ясным было бы название “патенты на вычислительные идеи”.

В патентной системе США патенты не помечаются так, чтобы можно было сказать, что этот патент является “патентом на программы”, а тот — нет. Их различают разработчики программ — они отличают патенты, которые угрожают нам (патенты, выданные на идеи, которые можно реализовать в программах), от прочих патентов. Например, если запатентованная идея состоит в форме физической структуры или в химической реакции, то никакая программа ее реализовать не может; этот патент не угрожает отрасли программирования. Но если запатентованная идея заключается в вычислении, то дуло этого патента смотрит на разработчиков и пользователей программ.

Не то чтобы патенты на вычислительные идеи запрещали только программы. Эти идеи можно реализовать и аппаратно — и многие из них были реализованы аппаратно. Каждый патент, как правило, распространяется как на аппаратные, так и на программные реализации идеи.

Особая проблема программ

Тем не менее в случае программ патенты на вычислительные идеи приводят к особой проблеме. В этом случае в одной программе легко реализовать одновременно тысячи идей. Если 10% из них запатентованы, это значит, что программе угрожают сотни патентов.

Когда Дан Рейвичер из Общественного патентного фонда изучил в 2004 году одну крупную программу (Linux, которая является ядром операционной системы GNU/Linux), он насчитал 283 патента США, которые, по-видимому, распространялись на вычислительные идеи, реализованные в исходном тексте этой программы. В том же самом году один журнал сделал оценку, по которой доля Linux составляла 0,25% от всей системы GNU/Linux. Умножив 300 на 400, мы получаем грубую оценку, согласно которой системе в целом угрожало порядка ста тысяч патентов.

Если бы половина из этих патентов была исключена по причине “низкого качества” — т.е. ошибок патентной системы — это бы мало что изменило. Сто тысяч патентов или пятьдесят тысяч — все равно это такое же бедствие. Вот почему было бы ошибкой ограничивать нашу критику только “патентными троллями” или “низкокачественными” патентами. Самый злостный из сегодняшних патентных агрессоров — компания Apple, которая не является “троллем” в обычном определении; я не знаю, являются ли патенты Apple “качественными”, но чем выше “качество” патента, тем опаснее его угроза.

Нам нужно решать всю проблему, а не только часть ее.

Обычно для устранения этой проблемы на законодательном уровне предлагают изменить критерии выдачи патентов — например запретить выдавать патенты на вычислительную практику и системы, которые ее осуществляют. У этого подхода есть два недостатка.

Во-первых, патентные юристы умеют искусно переформулировать патенты, чтобы они прошли по всем правилам, какие только можно применить; они сводят любую попытку ограничить сущность патентов к простой формальности. Например, многие патенты США на вычислительные идеи описывают систему, в которую входит арифметическое устройство, устройство выборки команд, память, а также органы управления для проведения конкретного вычисления. Это своеобразный способ описания компьютера, выполняющего программу, которая проводит определенное вычисление; он был выдуман для того, чтобы привести заявку на патент в соответствие с критериями, которых, как некоторое время считалось, требовала патентная система США.

Во-вторых, в США уже есть много тысяч патентов на вычислительные идеи, так что изменение критериев для предотвращения выдачи новых патентов не избавило бы от уже существующих. Нам пришлось бы ждать почти двадцать лет, пока проблема была бы полностью устранена по завершении действия этих патентов. Мы могли бы представить себе отмену этих существующих патентов в законодательном порядке, но это, вероятно, неконституционно (Верховный суд упрямо настаивал, что Конгресс может расширять частные привилегии за счет прав общества, но это не может произойти в обратном направлении).

Другой подход: ограничить действие, а не патентоспособность

Мое предложение — изменить действие патентов. Нам следует изменить законы так, чтобы разработка, распространение или запуск программы на вычислительной аппаратуре общего применения не составляли нарушения патента. У этого подхода несколько достоинств:

  • Он не требует классификации патентов или заявок на патенты как “программных” или “непрограммных”.
  • Он предоставляет разработчикам и пользователям защиту как от существующих патентов на вычислительные идеи, так и от патентов, возможных в будущем.
  • Патентные юристы не могут свести на нет желаемый эффект изменением формы заявок.

Этот подход полностью не отменяет существующие патенты на вычислительные идеи, потому что они по-прежнему были бы применимы к реализациям в аппаратуре специального назначения. Это достоинство, потому что это исключает споры о легитимности этого плана. Несколько лет назад в США был принят закон, прикрывающий от патентных преследований хирургов, так что хирурги в безопасности, даже если хирургические процедуры запатентованы. Этот закон дает прецедент для этого решения.

Разработчики и пользователи программ нуждаются в защите от патентов. Это единственное законодательное решение, которое предоставило всем бы полную защиту. Тогда мы могли бы опять вернуться к конкуренции или сотрудничеству... не боясь, что какой-нибудь незнакомец зачеркнет всю нашу работу.