Обновление (25.09.17): моя статья об изменении лицензирования.

Обновление (22.09.17): Facebook будет лицензировать React 16 в рамках MIT. Однако пока нет ни слова о выдаче патентов на React. Если Facebook не выдает патенты, React попадет в ту же жалкую кроличью нору, что и GraphQL. Если React 16 не выдает патенты, все станет намного хуже.

Обновление 2: реакция может не быть проблемой, но GraphQL - проблема!

Обновление: подробнее об использовании Preact / Vue / Inferno внизу

Как сказала бы Гертруда Стайн, там ничего нет.

Интернет (также известный как Hacker News) вызвал очередную шумиху вокруг статьи Facebook о возмездии за патент React. Давайте быстро рассмотрим патентное право, патентную лицензию React и последствия этого пункта. В конце концов, я думаю, вы согласитесь с тем, что этот пункт можно сравнить с бумажным тигром.

🐯 Rawr.

(Для справки, я являюсь членом коллегий Аризона и Калифорния и практиковал в сфере права интеллектуальной собственности / патентного преследования, но я люблю бизнес и программное обеспечение еще больше. Сейчас я в основном пишу программное обеспечение (React / GraphQL / Elixir) для своих в автосалоне как у нас готовый вариант 2!)

Патентное право - это часто неправильно понимаемая и непрозрачная стена юридического жаргона. Для базового понимания давайте посмотрим, сможем ли мы распаковать его с высоты 100 000 футов.

Патенты не дают права создавать или разрабатывать. Скорее, патенты дают право на исключение. Например, предположим, что компания X запатентовала карандаш. Спустя несколько лет компания Y запатентовала ластик для карандаша. Патент компании X запрещает компании Y производить карандаш, не говоря уже о карандаше с ластиком. Но патент компании Y запрещает компании X изготавливать карандаш с ластиком.

Патент компании Y известен как блокирующий патент. Компания Y не может сделать заявленное изобретение из-за патента компании X, но они не позволяют компании X совершенствоваться.

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

Это желание привело к появлению оговорок о возмездии за патент. Как правило, есть два типа положений о возмездии - сильные и слабые.

Слабые положения о возмездии за патенты

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

Что касается карандаша, компания X лицензирует карандаш с открытым исходным кодом со слабой оговоркой о возмездии. Компания Y запатентовала ластик. Затем компания X изготавливает карандаш с ластиком. Компания Y подает в суд на X за нарушение патента на ластик. Компания Y теряет патентную лицензию на основной карандаш.

Сильные оговорки о возмездии за патенты

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

Компания Y подает в суд на X за нарушение патента на воздушный шар. Компания Y теряет патентную лицензию на карандаш.

Патентная лицензия Facebook React

Лицензия, предоставленная по настоящему Соглашению, будет прекращена автоматически и без уведомления, если вы (или любая из ваших дочерних компаний, корпоративных аффилированных лиц или агентов) инициируете прямо или косвенно, или примете прямую финансовую заинтересованность в любом Заявлении о патенте: (i) против Facebook или любого из своих дочерних компаний или корпоративных аффилированных лиц, (ii) против любой стороны, если такое Заявление о патенте возникает полностью или частично из любого программного обеспечения, технологии, продукта или услуги Facebook или любых ее дочерних или корпоративных дочерних компаний, или (iii) против любой стороны, имеющей отношение к Программному обеспечению. Несмотря на вышесказанное, если Facebook, его дочерние компании или аффилированные лица подадут иск против вас в первую очередь, заявив о нарушении патентных прав, и вы ответите, подав встречный иск о нарушении патентных прав в этом судебном иске против этой стороны, которая не связана с Программным обеспечением, лицензия, предоставленная по настоящему Соглашению, будет не прекращать действие согласно разделу (i) этого параграфа из-за встречного иска.

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

Почему строгая оговорка React о возмездии за патенты - это много шума из ничего

Аргумент в пользу истерии звучит примерно так: «Facebook не нужно бояться судебного разбирательства, и теперь он может совершить набег на вашу патентную кладовую». Ого. Давайте рассмотрим это утверждение с большой долей реальности. Чтобы проанализировать, что происходит, когда пользователь React подает в суд на Facebook и его патент на React аннулируется, нам необходимо рассмотреть вопрос об ответственности и возмещении ущерба.

Договорная ответственность

Я прочитал, что оговорка Facebook о возмездии за патент ограничивается самой статьей. Таким образом, применение строгой оговорки о возмездии за патент ограничивается самой выдачей патента. Таким образом, лицензия BSD-3 остается в силе. Если это правда, то нет нарушения контракта по базовой лицензии на программное обеспечение.

[РЕДАКТИРОВАТЬ: Генеральный юрисконсульт Automaticc также разделяет мой анализ договорных обязательств и ответственности за авторские права в том смысле, что пункт о патенте не отменяет основную лицензию.]

Ответственность за авторское право

Это тот же анализ, что и контрактные убытки. Если у кого-то есть конкретный случай или убедительный аргумент, что пункт о патентах также аннулирует основную лицензию или лицензию на авторское право, пожалуйста, сделайте это.

Патентная ответственность

Патентная ответственность и ущерб - две области, в которых непрофессионалы по понятным причинам сбиты с толку. Первая проблема - это ответственность. Чтобы оценить ответственность (нарушил ли кто-то патент?), Вы должны сначала определить объем притязаний на патент.

Я видел много споров на форумах в Интернете, в которых спецификации патента («спецификации») объявлялись охраняемыми законом. Спецификация не защищена. Спецификация на самом деле является свалкой разума - все, что изобретатель может придумать об этом изобретении. Единственная часть патента, имеющая юридическую силу, - это формула патента.

Претензии трудно читать. Если вы говорите, что такое изобретение, вы сказали, чем оно не является, поэтому они намеренно расплывчаты. Например, если в патенте на карандаш заявлен пишущий инструмент, сделанный из дерева с графитовым концом, любой карандаш, сделанный из чего-то другого, кроме дерева, не будет нарушать. Вместо этого лучшим заявлением могло бы быть устройство для маркировки поверхности, состоящее из: захватного конца, соединенного с маркировочным концом. Взгляните на формулировку слайд Apple для разблокировки патента в качестве примера сравнения спецификации с формулой и общей двусмысленностью формулы.

Приведенная выше преамбула говорит о том, что очень сложно оценить ответственность! Юридическим фирмам платят миллиарды долларов каждый год, чтобы ответить на этот вопрос, и они часто ошибаются. В федеральных судах есть специальные досудебные слушания для решения вопроса о толковании иска. А апелляционные суды часто отменяют суды первой инстанции.

Чтобы определить патентную ответственность, заявленную Facebook, нам необходимо оценить различные патенты Facebook и их притязания. Или, более конкретно, какие патенты Facebook претендуют на какую-либо основную технологию React? Как видно из приведенного выше, это нетривиальный вопрос. Но, судя по моему беглому поиску и толпе, стоящей за этой статьей в Facebook, этот ответ нулевой. (Опять же, если у вас есть примеры, присылайте их.) Более того, если бы у Facebook было что-то запатентованное в React, а тем более фактически запатентованное, я бы удивился, учитывая общее неприятие патентов на программы и ВПТЗ США. Предшествующий уровень техники в области компонетизации, дифференцирования и виртуальных доменов на 2013 год очень хорошо известен, и я не вижу каких-либо применимых продолжающихся патентных заявок.

Патентные повреждения

И даже если Facebook сможет заявить о наличии действующего патента, защищающего React, ущерб будет очень спекулятивным. Я не могу найти дело, в котором было бы вынесено судебное решение о нарушении патента, который иначе лицензировался бы через открытый исходный код. И даже если есть прецедент, я все равно не хочу подавать это дело. «Привет, присяжный заседатель №3, на пятый день после его / ее работы, пожалуйста, наградите моего клиента, Facebook, деньгами, потому что мы отозвали патентную лицензию, которая в противном случае предоставлялась бы миллионам других людей бесплатно, потому что мы очень сильно пострадали от нарушения». Ой.

Обойти лицензию

Давайте поиграем дальше. Скажите, что ваша компания запатентовала компонент React без сохранения состояния - нахальные дьяволы - и вы хотите подать в суд на Facebook. Во-первых, ваша патентная заявка, вероятно, стоит больше, чем вся ваша компания, так кого волнует ваш основной бизнес и использование React? Но во-вторых, вы, вероятно, передадите этот патент холдинговой компании (кто-то сказал тролль?) И вообще обойдете этот вопрос. Или вы можете разветвить React и заняться разработкой заявленных патентов.

Бумажный тигр

Что мы действительно обсуждаем с практической точки зрения? Патенты React не являются функциональным эквивалентом патентов LTE. React - лишь одна из многих JS-фреймворков, которые, скорее всего, устареют до того, как патентный иск попадет в суд. Реагировать на лицензиата - это просто функции, возвращающие (почти) HTML. Удаление React из базы кода - не самая сложная задача. Если бы я посоветовал Facebook, я бы предупредил их, что лицензирование React с отзывом патента не является средством кражи интеллектуальной собственности, потому что удаление React из кодовой базы тривиально легко по сравнению с законным патентным спором. С точки зрения перспективы, большинство фирм, занимающихся интеллектуальной собственностью, требуют гонорар в размере 1-2 млн долларов, чтобы начать судебный процесс по патенту. Следовательно, патентный иск требует высокой вероятности успеха и восстановления в диапазоне ~ 20 миллионов. Можно ли вычистить React из вашей кодовой базы для таких чисел?

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

ОБНОВИТЬ

Я получил множество гипотез о Судном дне, о том, что может произойти при стечении невероятных событий. Например, «крупная компания хочет купить небольшую компанию, а у крупной компании есть портфель патентов, который она может захотеть заявить против FB, но поскольку небольшая компания использует React, они отклоняются как цель для приобретения».

Во-первых, Cisco только что заплатила миллиарды долларов за AppDynamics.

Во-вторых, я мог бы написать новый блог обо всем, что не так с этой гипо, но позвольте мне обойти это и решить вопрос практически. React имеет открытый исходный код. Если удалить React слишком сложно, вы можете разветвить React и разрабатывать его, основываясь на патентах. Я гарантирую, что если есть какие-либо патенты, защищающие React, эти патенты настолько узкие, что проектировать вокруг патента тривиально просто.

Чтобы дать некоторый контекст, я подал в суд через USPTO патент на кнопку «Нравится» на экране цифрового видеорегистратора. Да серьезно. Но многие инженеры получают бонусы за счет патентов, пусть и неубедительных, а компания из списка Fortune 100 не заботилась о моем счете, так что ладно, давайте запатентоваем кнопку «Нравится» для цифрового видеорегистратора. Эксперт USPTO предсказуемо и должным образом отменил мою первоначальную патентную заявку на уровень техники. Чтобы получить одобрение патента, мне пришлось сделать формулировку настолько конкретной, что буквально перемещение кнопки «Нравится» из верхнего левого заголовка информационного экрана не нарушало бы патент. Нет никаких сомнений в том, что любой патент на React будет страдать от аналогичных ограничений по объему.

ОБНОВЛЕНИЕ 2: Preact / Vue и т. д.

Я получил много «ну, тогда давайте просто все будем использовать [здесь альтернативный фреймворк]». Держать на секунду. Если патенты Facebook охватывают React (различие, компонентность и т. Д.), Эти патенты, вероятно, охватывают Preact / Vue / et al.

Но React дает вам патент! При использовании альтернативной системы вы с первого дня являетесь нарушителем. Все сводится к тому, есть ли у Facebook патенты и есть ли у них желание обеспечить их соблюдение, но если вы хотите довести это до энной степени, альтернативы React более рискованны.

И эта военная игра продолжается в каждом уголке. Возьмите Реле Facebook. Нет никаких сомнений в том, что если какие-либо патенты FB защищают Relay, Apollo нарушает их. Я использую Аполлон.

Заявление об ограничении ответственности: как и все в законе, я оставляю за собой право выкладывать каждое слово, как вчерашняя газета, если представлена ​​новая информация или недавнее решение судьи, не употребляющего кофеин. Гордыня и закон делают из вас плохих товарищей по постели. Если у вас есть информация или аргументы, которые я не учел, приведите их ниже! Я обновлю этот блог, если какая-либо новая информация изменит мое мнение.

И, пожалуйста, не истолковывайте этот пост как вывод, что все решительные ответные меры по патентам допустимы. Некоторые нет. Мой анализ мог бы быть совершенно другим, если бы речь шла о выдаче патентов на x86, а лицензиаты хотят строить компьютеры x86.