Языки программирования как зеркало IT-столпотворения. Часть II

744437a9ab36c21c0d39cc73335cd5fd.png

В предыдущей статье мы подробно рассказали о первых попытках человечества запатентовать языки программирования и о первых созданных ЭВМ. В этой речь пойдет о современности. 

Как известно, в новой, послевоенной истории уже ламповых, а затем транзисторных ЭВМ первые языки программирования были машиноориентированными. Они писались под каждую машину. Программирование было непростым трудом. Надо было знать, как устроена ЭВМ, знать все команды машины, их двоичное представление. Некоторое облегчение принес язык ассемблера, где появился мнемокод, как говорят IT-специалисты, а попросту говоря, буквенные, и потому легко запоминающиеся команды, например,  mov — для пересылки из одного блока ячеек памяти процессора в другой,  add — для сложения значений и т.д.). Это были языки, как сейчас говорят, первого, или низкого уровня, они годились только для конкретной машины, для которой они были разработаны.

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

Общее во всех этих историях языков программирования — одно: они понятны только их авторам. Обычному человеку понять логику их эволюции невозможно. Не потому, что IT-специалисты и особенно IT-энтузиасты «словечка в простоте не скажут», как определил этот лингвистический порок Грибоедов в «Горе от ума». Скорее дело в том, что пока в IT- языкознании не появился свой Карл Линней, который как Линней в Systema Naturae, в своей «Системе природы машинных языков», разложил бы их по полочкам типов, классов, отрядов, семейств, родов, видов или каких-либо иных таксонов по степени родства. 

Такая работа только на первый взгляд может показаться бессмысленной. Но как только появится научно обоснованная филогения языков программирования, не замедлит появиться и собственный Дарвин с объективными законами микроэволюции машинных языков, знание которых окончательно добьет в софте увлекательный, но малопродуктивный «метод тыка». Кстати, это, похоже, понимают и сами айтишники, во всяком случае с 1978 года они уже четыре раза проводили международные конференции по истории языков программирования (History of Programming Languages — HOPL). Последняя прошла в Лондоне в 2021 году в онлайн-формате из-за пандемии.

Патентовать машинозависимые языки по понятным причинам было бессмысленно. Патентование началось с появлением языков программирования высокого уровня. Обычно в качестве примера одного из первых таких патентов приводят британский патент №1039141 «Компьютер, предназначенный для автоматического решения задач линейного программирования». Несмотря на название речь там шла только о софте для управления памятью. Заявка на изобретение была подана в мае 1962 года компанией British Petroleum и некими Патриком Винсентом Сли и Полин Харрис (возможно, это собственно и были изобретатели), а патент им был выдан в августе 1966 года. 

Примерно в это же время в нашей стране авторское свидетельство на «Устройство для синтаксического контроля программ, записанных на языке Алгол» получили в январе 1967 года сотрудники Института кибернетики И.В. Вельбицкий, Г.А. Михайлов и Г.Е. Попов с приоритетом от сентября 1965 года. Возможно, были еще более ранние патенты и авторские свидетельства, более поздних — масса. И тут случилось то, что по ветхозаветной логике рано или поздно должно было случиться, если начинаешь говорить человеческим языком (пусть формализованным цифрами) с бездушным железом, и оно тебя понимает!  

Гэри Бенсон и Артур Табботт, сотрудники Bell Telephone Laboratories компании AT&T, написали программу преобразования двоично-десятичных (BCD) цифр в чистые двоичные цифры для компьютера общего назначения и подали патентную заявку. Патентное ведомстве США ее отклонило. Заявители подали апелляцию в Совет по патентным апелляциям, который подтвердил отказ. Тогда они подали апелляцию в Таможенный патентный апелляционный суд, и этот суд отменил решение об отказе рассмотрения заявки на патент. Тогда комиссар по патентам Роберт Готтшалк подал ходатайство в Верховный суд, то есть роли в судебной тяжбе поменялись. Патентное ведомство США стало истцом, а изобретатели ответчиками.

Высшая судебная инстанция со счетом 6:0 (трое судей воздержались) согласилась с патентным комиссаром США в том, что компьютерное программирование является «по сути серией математических вычислений или мысленных шагов» и, следовательно, не подпадает ни под одну патентоспособную категорию. «Если компьютерные программы — так называемое программное обеспечение — должны обеспечить более широкую защиту законом, чем предусмотрено простым авторским правом, заявил суд, Конгрессу придется принять законодательство».

Дело «Уполномоченный по патентам против Гэри Р. Бенсона и Артура К. Табботта» попало на страницы газет. Формально патентный уполномоченный и суды ссылались на некий судебный прецедент и статью 101 Закона о патентах 1952 года, но их логика была всем понятна. Патентовать можно только то, что можно пощупать руками, а если патентовать математические алгоритмы, то наследники Ньютона запатентуют его бином, а греческое правительство теорему Пифагора. И что тогда, школам покупать лицензии на их объяснение ученикам? А причастным к IT-бизнесу стало понятно, в чью пользу приняли решение судьи в назревающем конфликте интересов в этой области. 

Как писал журнал «Тайм»: «Это решение стало победой производителей компьютерного оборудования (машин и комплектующих), таких как IBM и Honeywell. Руководители этих компаний опасались, что продажи компьютеров пострадают, если программы будут запатентованы и, таким образом, станут менее доступными для пользователей компьютеров. Для производителей программного обеспечения, включая сотни небольших фирм, занимающихся компьютерным программированием, а также крупных производителей, таких как AT&T, которые разработали собственное программное обеспечение, решение суда стало разочаровывающим решением. Говорит Джон Беннетт, президент Associated Data Research в Принстоне, штат Нью-Джерси: «Я мог бы вложить 1 000 000 долларов в разработку новой программы и не смог бы помешать другой компании продать ее». Ну как тут не вспомнить Наполеона Бонапарта, который лишил патентного приоритета ткача Жаккара, отдав его всем лионским ткачам скопом на разграбление!  

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

Что же касается не теории, а практики патентования, то заявки на патенты подаются, и изобретатели получают патенты, только сделать это весьма непросто. Достаточно почитать обсуждения этой проблемы на форумах, как наших, так и зарубежных. И там, и там неофитам, желающим запатентовать свои новации, их более опытные коллеги рекомендуют ссылки на инструкции по составлению заявки, понять которые может только человек с юридическим образованием, да и то не каждый. А доминируют на форумах такие советы: в США и Европе — поискать опытного юриста и воспользоваться его услугами, у нас — запатентовать свой язык (который во рту) и успокоиться, что, впрочем, относится к народному менталитету, а не к патентному праву в области программирования. 

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

В нашем Телеграм-канале мы разыгрываем бесплатную регистрацию товарного знакаи другие призы. Проходите по ссылке и принимайте участие!

Дарим скидку 4000 рублей при первом обращении на любую услугу onlinepatent.ru

Промокод: LOVEHABR

© Habrahabr.ru