А если без истерик?

17 сентябрь, 2007 - 18:27Андрей Зубинский

Чтобы стать популярным в околокомпьютерном «сообществе» (ну какое это сообщество, на самом-то деле?), достаточно неожиданно выскочить на любого зазевавшегося пользователя, громко закричать «Патенты!» и продемонстрировать слайд с атомным взрывом .

Другие варианты беспроигрышных криков хорошо известны многим – «Империя Зла!», «Функциональное Программирование!», «Экстремальное Программирование!», «Ужас! Руткиты!», «Кошмар! Проблема 2xxx Года!», etc.

И это на самом деле действует. Какое-то время, на какую-то часть «сообщества». Хорошо хоть, что все время на все «сообщество» действовать вообще невозможно.

Ну а если все-таки задуматься?

Да, количество патентов, идентифицируемых методом поиска Бассена-Ханта как «программные», растет (оранжевая линия – всего патентов, бордовая – опознанных методом поиска Бассена-Ханта, см. рисунок).

Но. Или даже не так. И?

Во-первых, растет и количество патентов вообще.

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

И о чем это говорит?

Пока очевидно одно – производство программного обеспечения давно перестало быть чистым искусством (да и, по сути, никогда им не было, поэтому все сравнения программирования с мирами «высокой моды» и прочими сугубо творческими, индивидуалистскими системами порождения артефактов – чепуха) и уже давно является инженерией. Да. Нравится вам (мне) это, не нравится ли – это факт. А в инженерии давно уже «утряслись» отношения между правообладателем («головой») и производителем («руками»). И весьма разумно «утряслись» – в противном случае мы бы не видели и десятой доли того материального, что сегодня нам доступно. Кстати, эти отношения далеко не так просты, как многим кажется. Вот, например, свежайшее из серии «лучшие практики», написанное инженером для инженеров – «Наброски бриллиантовой идеи на салфетке», самый первый пункт:

«Принятие решения о раннем патентовании может оказаться дорогостоящей ошибкой...»

Между прочим, это тоже одно из множества правил сосуществования правообладателя и производителя, работающее, что очевидно, вовсе не в пользу столь ненавидимого правообладателя.

Второе очевидное соображение – раз речь идет об индустрии, значит, работают все инженерные правила. В том числе и дуализмы. А программа и аппаратные средства – дуальны: любую программу принципиально возможно реализовать «в железе», любое «железо» принципиально возможно имитировать программно. Соответственно, в виду эквивалентности, раз есть патентное право на аппаратные средства, должно быть и патентное право на дуальные им программные. Никак иначе не получается.

Третье же соображение неочевидно и малоприятно. Оно зиждется на фундаментальной разнице между «программированием» (разработкой ПО) и «кодированием» (реализацией ПО на основе созданных сторонними разработчиками допускающих реализацию спецификаций). Запасшись смелостью, можно утверждать:

создание спецификаций – очень дорогой процесс.

Если бы это соображение было ложным, мы бы имели не движение Open Source (в основе которого – явно и неоднократно выраженная идея повторной реализации спецификаций POSIX, именно на ней основывалось движение GNU), а движение Open Specifications. Но последних-то, открытых спецификаций как раз кот наплакал, а к сугубо «открытым» (т. е. создававшимся изначально как открытые) проектам можно отнести разве что японский Tron.

Так вот, вопрос взаимоотношений между правообладателем и Open Source кодировщиками – очень больной и пока безответный.

А если без истерик?

Поставьте себя на место правообладателя X: вы наняли лучших дизайнеров для создания интерфейса вашей будущей программы Y, задействовали три десятка высокооплачиваемых специалистов из нескольких стран для отработки эргономики программы, сформировали структуру, анализирующую реакцию потенциальных потребителей на еще не существующий интерфейс на потенциальных рынках, etc. Все это – деньги и время. Причем немалые деньги и много времени. И вот после выхода вашей программы на рынок кодировщики, вооруженные «экранными линейками» и утилитами «склевывания» цветов, за две недели удовольствия ради настучали нечто, на удивление похожее на выстраданное вами. Вам это понравится, и вы сочтете это законным? Очень сомнительно.

Вот еще один пример: лицензионное соглашение на систему команд нового семейства процессоров ARM – Cortex. В его существовании нет ничего удивительного, ведь ARM – компания, «живущая» не с производства материальных кристаллов, а с отчислений за интеллектуальную собственность, которой являются пригодные к синтезу описания процессоров. Иными словами, со спецификаций, пригодных для кодирования настолько, что процесс кодирования может быть автоматизирован (и автоматизирован на самом деле).

Так кто вправе осудить ARM за пункт лицензионного соглашения 2.ii, запрещающий использовать спецификации системы команд для разработки моделей процессоров?

Для автора статьи очевидно следующее: хотите конкурировать с ARM – создавайте свою архитектуру, добивайтесь ее признания производителями и разработчиками ПО, но не занимайтесь кодированием спецификаций, созданных ARM.

Статья написана на основании материалов блога автора.