Свобода программиста

в 22:15, , рубрики: GNU/Linux, IT-безопасность, open source, Prism, Читальный зал

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

2096 год… Мир на пороге 22-го века. Свободное программное обеспечение стало практически повсеместным. Усилиями активистов проекта GNU удалось пролоббировать закон о программном обеспечении в большинстве государств. Этот закон запрещает разрабатывать с целью распространения и распространять программное обеспечение под так называемыми «несвободными» лицензиями. Для определения того, является ли данная лицензия свободной или не свободной, был создан специальный комитет (Комитет свободного ПО) с отделениями в разных странах и главным офисом в США. Именно в США в далёком 1983 году Ричард Столлман открыто заявил о необходимости разрабатывать свободное ПО, об открытии проекта GNU. Историю проекта GNU теперь проходят во всех университетах на всех специальностях, хоть как-то связанных с программированием.

Критерии, выдвигаемые Комитетом свободного ПО к программистам, долгое время уточнялись, и сейчас оригинал официального международного документа, определяющего, что есть свободное ПО, под незамысловатым названием «Бюллетень свободного ПО», написанный на английском языке, состоит из 512 страниц рафинированного юридического текста и лежит в главном офисе Комитета. В этом документе учтены все известные нюансы, все спорные моменты, возникающие при определении того, является ли данная лицензия свободной или нет. Усилиями лучших юристов мира «Бюллетень» был переведён на другие языки. Правда, пока что всего на два: английский (Великобритания) и английский (Австралия). Но тем не менее, это существенный прогресс! Работа над каждым переводом шла около пяти лет. В настоящее время идёт работа над переводом «Бюллетеня» на китайский язык. Недавно был закончен перевод первой страницы. Этот день был отмечен большой радостью для китайских программистов. Правительство Китая даже назначила этот день официальным государственным праздником.

Меня зовут Макс. Я работаю разработчиком в американской IT-компании под названием «MacroSoft». Наша компания занимается разработкой, распространением и обслуживанием свободного программного обеспечения. Иногда мы занимаемся улучшением уже написанных свободных программ под нужды пользователей. Да, подумать только, как изменился мир с повсеместным распространением свободного ПО! Теперь любой программист может взять любую программу (так как все программы теперь распространяются только по свободным лицензиям), посмотреть, как она работает, какие трюки использовал программист, чтобы реализовать ту или иную фишку, внести какие-нибудь улучшения, касающиеся быстродействия или удобства интерфейса, и опять передать эту улучшенную программу миру, чтобы уже с ней повторилось то же самое, что и с той программой, которую он взял! Просто рай для программистов! Не представляю, как люди жили лет сто назад… Почти за каждую программу нужно было заплатить. Плюс к этому, ещё и нельзя было взять её исходный код, посмотреть нет ли в ней каких-нибудь вредоносных инструкций, которые, например, будут пересылать разработчикам конфиденциальную информацию о пользователе и т.д. А если в программе обнаружен баг и ты знаешь как его исправить, то ты тоже не можешь этого сделать. Кошмар какой-то…

Правда, доходы IT-компаний заметно поубавились, так как теперь они не получают прибыль с продажи каждой копии разработанной программы. Но лично я считаю, что потрудиться в поте лица, написать какой-нибудь полезный софт, а потом отдыхать, так сказать, почивать на лаврах, получать деньги с продаж уже лёжа в гамаке на Гаити — это пережитки буржуйского прошлого. Если ты программист, то зарабатывай себе на хлеб, стуча по клавиатуре! Правда, этот хлеб не обязан быть с маслом, но, в конце концов, что для тебя важнее: масло на хлебе или любимая работа?

Наша компания получает доход за разработку, распространение и обслуживание ПО. Наименее доходная статья — это, конечно, распространение. Ведь распространение свободного программного обеспечения за деньги хотя и не запрещается, но по сути своей не должно приносить много дохода. Ведь если ПО свободное, то каждый может его свободно скачать, заплатив при этом только за интернет-трафик. Правда, из кучи программ иногда сложно бывает найти что-то, подходящее именно под ваши нужды. Поэтому распространитель пытается рассказать обо всех преимуществах именно его продукта. Иногда, конечно, это приносит прибыль — пользователь оплачивает труд распространения копии свободной программы и приобретает копию за деньги. Но обычно распространитель получает ответ: «Итак, спасибо, что вы уделили нам своё время, но у нас есть свобода получить копию вашей программы бесплатно, и мы, пожалуй, воспользуемся этой свободой. До свидания».

Вторая по доходности статья — это сама разработка. Хотя на нас, на программистах, всё и держится, но с точки зрения дохода мы не самые прибыльные работники, как это ни парадоксально. В общем-то, ничего парадоксального нет. Если заказчик заявил о потребности удовлетворения его нужд в области программного обеспечения и готов за это заплатить, мы, конечно выполняем этот заказ. Но продукт наш, естественно, будет являться свободным, и его потом может получить любой пользователь. То есть заказчик на самом деле оплачивает удовлетворение не только своих нужд, но и нужд ряда других пользователей, причём как физических лиц, так и компаний. А в условиях жёсткой рыночной конкуренции, если две компании работают в одной сфере услуг, обеим нужно примерно одно и то же ПО, то кто раньше не вытерпит и выложит определённую сумму на разработку, тот и проигрывает, так как его конкурент получает эту программу совершенно бесплатно, сэкономленные средства потратив на рекламу, на обновление технических средств и т.д. Поэтому компании (а это основные наши кормильцы) обычно медлят перед тем, как выдать нам заказ, заставляя программистов сидеть на голодном пайке. Иногда, бывает, они объединяются со своими конкурентами, разделив поровну сумму, необходимую на разработку. Поэтому мы обычно разрабатываем ПО не для какой-то отдельной компании, а сразу для целой сферы услуг, получая деньги не с продажи копии программы для каждого компьютера каждой организации, а именно за разработку. Правда, насыщение рынка ПО происходит намного быстрее, но, как говорится, хочешь жить — умей вертеться! Вот мы и вертимся…

Ну а основной доход мы, конечно же, получаем от специалистов по обслуживанию. Вот они-то без дела не cидят! Каждый день каждому из них звонят примерно по 100 раз (через каждые 5 минут в течение 8-часового рабочего дня), спрашивают, какую кнопочку нужно нажать, чтобы выровнять текст по ширине, чтобы изменить размер страницы, чтобы экспортировать документ в формат PDF и т.д. Плюс некоторые из них работают на выезд, так как требуется непосредственная их помощь в установке и настройке ПО. Конечно, почти всё это можно узнать из Интернета — там выложены настолько подробные инструкции, что даже чайник поймёт, — но, тем не менее, спрос на службу поддержки почему-то никогда не падает.

Из существенных изменений мира IT за последнее время стоит отметить значительное снижение развития игровой индустрии. Ведь как было раньше, в буржуйском прошлом: разработчики игр, придумают идею игры, разработают красивый и быстрый движок, сделают игру, не задумываясь о том, окупится это всё или нет, потому что, как правило, это окупалось — всем интересно было играть в красивые и качественные игры, и пользователи не жалели денег на покупку дисков. Теперь же всё не так. Если кто-нибудь и рискнёт выставить на продажу диск с компьютерной игрой, то пользователь, зная, что игра распространяется свободно, зайдя на сайт разработчиков, получит, если не сам исполняемый файл, то исходные коды этой игры и, если не сможет сам скомпилировать, то попросит знакомого программиста помочь ему в этом. Вообще, профессия программиста стала настолько распространённой, что почти у всех есть знакомые программисты. Правда, у программистов не всегда есть время и желание, чтобы бесплатно помочь своему знакомому, но всегда есть разные форумы, порталы, где подробно объясняется, как скомпилировать ту или иную программу. А для известных игр есть даже множество ссылок на уже готовые exe-шники игры для разных операционных систем (если, разумеется, сами разработчики игры не потрудились их выложить на своих сайтах). В общем, разработка игр, которая сама по себе очень затратна, перестала окупаться и перестала быть выгодным занятием. И немало игровых гигантов обанкротилось в связи с повсеместным переходом на свободное ПО. Среди них такие известные в прошлом, а теперь уже абсолютно безвестные производители, как Electronic Arts, Bioware, Blizzard, Ubisoft и другие.

Особенно интересна история с Valve. Из истории компьютерных игр сейчас можно узнать, что компания Valve в 1998 году выпустила величайшую компьютерную игру всех времён и народов Half-Life. Затем в 2004 году был выпущен её сиквел Half-Life 2, также получивший множество наград. Понятно, что пользователи с нетерпением ждали продолжения. В 2006 и 2007 годах они дождались ещё два сиквела: Half-Life 2: Episode One и Half-Life 2: Episode Two. Но потом выпуск игр этой серии резко остановился, к ужасному разочарованию поклонников. Причём дело усугублялось не только тем, что следующая часть — Half-Life 3 — обещала быть последней, обещала дать ответы на все вопросы поставленные в предыдущих частях, не только тем, что каждая часть этой игры являлась существенным прорывом в области игровой индустрии, а ещё и тем, что жаждущим геймерам постоянно попадались разные намёки на то, что Half-Life 3 разрабатывается, что она вот-вот выйдет, нужно ещё подождать годик-другой: то они в бинарниках очередной игры найдут картинку с изображением корабля «Borealis», о котором было известно только, что он должен появиться в следующей части, то они где-нибудь найдут папочку с недвусмысленным названием «hl3». В общем, и без того утомлённым ожиданием пользователям эти намёки сыпались как соль на рану. Однако компания Valve, как и всякая коммерческая компания, делала всё только для того, чтобы извлечь максимальную прибыль. А максимальную прибыль, оказалось, можно извлечь не от разработки ещё одной части устаревающего жанра 3D-шутер от первого лица, а от многопользовательских онлайн-игр: Dota, Team Fortress 2 и др. Так что в то время все поклонники серии в полной мере ощутили всю жестокость рыночной модели управления при разработке ПО. Однако, читаем дальше: к 2020-му году полным ходом заработал проект SteamOS, специальная игровая операционная система, кстати, на ядре Linux, а к 2026-му было выпущено большое количество замечательных онлайн-игр, принёсших компании баснословный доход. И вот, когда директору Valve, Гейбу Ньюэллу исполнилось 64 года, он вдруг во все услышанье заявил: «And now Half-Life 3!» («А теперь Half-Life 3!») Эта новость за сутки облетела весь Интернет.

И хотя те из игроков, кто в первую часть игры играл хотя бы в 12 лет, были уже в весьма почтенном для компьютерных игр возрасте — как минимум, 40 лет — стали ждать с новыми силами. К 2031-му году разработка игры Half-Life 3 была практически завершена, и, судя по некоторым утечкам из центрального офиса Valve, полученным в следствие атак хакеров, она обещала быть чем-то просто фантастическим по размаху, сюжету и техническим решениям, как вдруг штат Вашингтон принял закон о программном обеспечении — первый из соединённых штатов Америки. А Valve как раз находилась в этом штате. Далее приводятся исторические сведения по противостоянию сторонников свободного и проприетарного программного обеспечения, главным образом Microsoft. Это противостояние раскинулось на весь мир и длилось несколько десятков лет. Ну а на сегодняшний день мы имеем то, что имеем: операционная система Windows Комитетом свободного ПО запрещена, как система, помимо всего прочего, участвующая в программе PRISM по сбору конфиденциальной информации пользователей. Так вот, закон о программном обеспечении обязывал все компании на территории штата выложить исходные коды всех своих программ и начать распространять их по свободным лицензиям. На что Гейб сказал, что либо его компании этот закон не касается, либо он уничтожает все исходники, и мир не увидит долгожданного продолжения легендарной саги. Активисты проекта GNU, в свою очередь заявили, что он блефует. Тогда Гейб распустил Valve, действительно уничтожил все исходники, а сам уехал к себе на дачу на Багамы. Нет повести печальнее на свете… Но ничего, это всё во имя великой идеи, идеи распространения свободного ПО! ПО, в котором каждый может узнать, содержит ли программа вредоносные инструкции или нет!

Конечно, игры появляются и сейчас, но разрабатываются они не в таком масштабе и являются не такими зрелищными как раньше. Сейчас в Интернете можно найти видеоролики с прохождениями тех старых игр, поражающих чёткостью графики и красочностью текстур. Из архивов можно даже достать их исходные коды (если они не были уничтожены), так как 50-летний срок на объекты авторского права давно истёк. Толку, правда, от этих исходных кодов мало, так как большинство этих игр написано под запрещённую операционную систему Windows. И хотя есть свободные эмуляторы этой операционной системы, тяжёлые 10-гигабайтные игры на них работают с косяками. Поэтому требуется всё время патчить эти эмуляторы, а это не простое дело: исходный код Windows NT 4.0 занимал около миллиона строк на языке C, а последние версии Windows 10 и Windows Skynet, которые были выпущены перед тем, как Windows была запрещена — даже несколько миллионов, и разбираться в этом коде приходится долго. И если одна игра использует одни особенности системы, то другая — другие, поэтому для каждой достаточно крутой игры приходится писать свой эмулятор. Хотя в принципе можно всё. И вот недавно в Лаборатории информатики Массачусетского технологического института удалось из исходных кодов собрать запустить без единого косяка игру «Heroes of Might and Magic V». Разумеется, при всём при этом использовалось только свободное ПО, и каждый имеет право совершенно бесплатно воспользоваться всем этим ПО и запустить игру у себя на компьютере. Ну, все так и сделали. Так что труд сотрудников Лаборатории информатики остался по большому счёту не оплачен (добровольные пожертвования явно не окупили затраты). Это и логично, так как они выполняли эту работу для своего удовольствия, это, можно сказать, их хобби, а за хобби деньги и не просят. Но зато в сообществе пользователей они получили несомненное признание! И не столько за красивую игру, которую им удалось вернуть к жизни, сколько за удачные программные решения. Ведь никому ещё не удавалось потратить столько времени, настолько углубиться в код, чтобы запустить по-настоящему сложную программу, написанную под Windows. Хакеры-одиночки это, понятно, не потянут, а у IT-компаний и так дел полно.

Современные игры, конечно, уступают по зрелищности играм начала века, но я считаю — и это мнение разделяет большинство моих знакомых — что игра должна затягивать не красивой картинкой, а сюжетом и геймплеем! Я даже скажу, что в наши дни та же «Heroes of Might and Magic III» считается более интересной, чем упомянутая навороченная пятая часть. В общем, современные игры стали больше походить на игры начала 90-х годов прошлого века — старый-добрый 2D и пиксель-арт. Вот вам и цикличность истории!

Вообще, рынок платного программного обеспечения постепенно сошёл на нет. Так как, разумеется, всё сказанное об играх касается любого дорогостоящего ПО. Профессиональное дорогостоящее ПО разрабатывается, как я уже сказал, на заказ нескольких крупных заказчиков, которые работают в одной сфере и как правило являются конкурентами. Но с играми так не происходит. Ни одна коммерческая организация не закажет разработку программы, которая хоть и будет приносить удовольствие, но ни цента в карман. А как мы знаем из истории, именно игры стимулировали развитие аппаратного обеспечения. И разработчики игр даже сотрудничали с разработчиками аппаратного обеспечения. Например, компания-разработчик выпускает игру, у которой в системных требованиях указаны определённые виды шейдеров. А аппаратная поддержка этих шейдеров есть только у видеокарт определённой фирмы. Таким образом, продажа этой игры стимулирует продажу и этих видеокарт. Иногда даже получалось так, что игра уже выпущена, а железо ещё нет. И пользователи некоторое время довольствовались урезанной графикой игры и с нетерпением ждали выпуска этого железа, покупали его и наслаждались уже всеми графическими возможностями. Разработка железа, в свою очередь, стимулировала развитие игровой индустрии: выпущена новая видеокарта — появлялись игры, использующие возможности этой видеокарты, компьютеры стали иметь больший объём оперативный памяти — появлялись игры, которые требовали весь этот объём, и т.д. Замкнутый круг. И вот, конец этому кругу пришёл с повсеместным распространением свободного ПО. Игры теперь стали свободными.

Никто их покупать, понятное дело, не стал. Разрабатывать навороченные игры перестали. Спрос на железо упал. И, собственно, рынок аппаратного обеспечения, как бы сказать, подсократился. Нет, спрос на большие вычислительные мощности остался, но только у узких специалистов — исследователей и научных работников. Что касается большинства, то почти все пользуются свободной операционной системой GNU на его собственном ядре Hurd (70 лет шла его разработка, но его всё-таки доделали в 2060-х годах), от ядра Linux отказались, так как, по мнению Комитета свободного ПО, в его коде нашли «проприетарные кляксы». В GNU у большинства пользователей имеется набор офисных программ (уже долгое время держится на плаву проект LibreOffice, а OpenOffice отошёл на второй план, так является открытым офисом, но не свободным офисом; в настоящее время разработчики OpenOffice чистят свой код, чтобы удовлетворить критериям свободного ПО, боясь, что Комитет вот-вот их прикроет совсем), программ для Интернета, проигрывателей, программ для обработки изображений и десятка два игр а-ля 20-й век. То есть ничего, что требовало бы каких-то особенных системных ресурсов. Поэтому и производители железа сильно и не торопятся выпускать особо мощные компьютеры — они намного дороже, а спроса на них практически никакого. Таким образом, производительность обычных компьютеров сейчас растёт не так сильно, как в начале века.

Кстати, главным конкурентом операционной системы GNU/Hurd является российская (точнее, постсоветсткая, но для американцев это одно и тоже) операционка KolibriOS. Её преимуществом перед GNU является то, что она менее требовательна к ресурсам и намного быстрее. Её недостатком является то, что основным языком разработки этой ОС является язык ассемблера, а не C, а на ассемблере разработка происходит намного медленнее, вследствие чего под неё написано меньше программ. Но за время своего существования с 2004 года она имеет весь необходимый набор ПО и эмуляторов, так что может успешно конкурировать с GNU. Что она и делает. И хотя она распространяется под лицензией GPL, официальной лицензией Комитета свободного ПО, Комитет всё время копается в её исходном коде и пытается найти какие-нибудь кляксы, чтобы остановить её разработку. Было даже несколько судебных разбирательств по этому поводу, но всякий раз разработчикам Kolibri удавалось доказать, что у них всё в порядке, а Комитет признавал, что они не ошиблись.

Конечно, всем сразу никогда не угодить, и на любой принятый закон находятся недовольные. Так вот и в случае с повсеместным распространением свободного ПО получается тоже самое. Мы называем таких людей сторонниками проприетарного программного обеспечения. Недавно, например, я смотрел интервью с солистом музыкальной группы под названием «ACDSee». Оно открыто транслировалось по центральному телевидению — гласность в нашем обществе один из важнейших приоритетов, и никто не будет затыкать рот даже таким отсталым индивидуумам, как сторонники проприетарного программного обеспечения. Хотя следовало бы! Вот, что было в том интервью.

Интервьюер: Итак, вы считаете, что свободное программное обеспечение — это зло?
ACDSee: Конечно! Это отрицательно сказывается на нашем кошельке!
И: Почему? Вы творите, пишите свои произведения, выпускаете диски, продаёте их, причём, стоит заметить, не за маленькую цену!
А: Что значит почему? А то вы не знаете! Сейчас любой может купить этот диск и размножить его на сколько угодно копий! Или передать содержимое диска любым другим удобным способом, хоть даже по электронной почте, любому своему знакомому. И что, мы, авторы, выигрываем что ли от этого? Если из 1000 выпущенных дисков будет куплено хотя бы 5, то и это для нас большая радость!
И: Но ведь то, что вы говорите, копирование объекта авторского права без прямого разрешения правообладателя, разве это не нарушение действующего законодательства по охране авторского права? Международный закон о программном обеспечении распространяется только на программы, но не на произведения искусства. Но давайте не будет углубляться в дискуссию о том, является ли программирование искусством…
А: А вот то-то и странно, что этот Комитет свободного ПО ещё не добрался до наших музыкальных произведений! Если он добился — прошу заметить, на международном уровне! — отмены ограничений на копирование объектов авторского права под названием компьютерные программы, то почему бы ему, например, не добраться и до музыкальных произведений?..
И: Но постойте, авторы компьютерных программ, программисты сами за то, чтобы их программы были свободными. Комитет много лет потратил на то, чтобы вселить эту прекрасную мысль в умы почти всех программистов.
А: И что, все довольны?
И: А все никогда не будут довольны.
А: Да, и вот я один из таких! А то, что вы говорите, что закон сейчас всё ещё запрещает копировать музыкальные произведения с дисков — я поражаюсь вашей наивности! Запрещать-то запрещает, но ведь люди всё равно делают это! Мы это ощущаем нашим кошельком! И проект GNU имеет к этому самое непосредственное отношение!
И: Каким образом?
А: А вы в курсе, что до введения Закона о программном обеспечении основной доход большинства исполнителей был именно с продажи музыкальных альбомов, так же как для кинокомпаний — с продажи дисков с фильмами? И доход тогда был не то, что сейчас, во много раз больше! А почему? Да потому, что люди покупали эти диски. Не копировали их, а покупали! А почему они их не копировали? Да потому, что там стояла программная защита от копирования!
И: Цифровые наручники?
А: Да, эти долбанные цифровые наручники, как Комитет соизволил их назвать.
И: Но ведь термин «цифровые наручники» возник задолго до создания Комитета свободного ПО. Он был введён ещё основоположником проекта GNU Ричардом Столлманом…
А: Мне нет дела до того, когда он там впервые был введён. Я говорю о том, что и раньше был закон об охране авторского права для музыкальных произведений. Но раньше он не только был на бумаге, но и реализовался на практике. При помощи, конечно же, программных средств защиты от копирования. Конечно, хакеров везде и всегда хватало. Эти средства взламывались. Но, тем не менее, это хоть как-то помогало, взлом программы — это было преступление. Сейчас-то и понятия такого нет: взлом программы. Все программы и так открыты, бери — не хочу!
И: А сейчас какой у вас основной доход?
А: Ну, гастроли, выступления…
И: Ну так разве вы не музыкант? Разве вы не всегда хотели зарабатывать на жизнь именно так?
А: Я хочу, всего лишь, достойно зарабатывать!
И: То есть выпустить очередной альбом, а потом получать деньги с продажи каждого диска, обладая исключительным правом копирования и пользуясь этим правом в своих корыстных целях?
А: Ну, допустим и так, ну и что с того?..

В общем, всё ясно, что человек явно не в своём уме. В наше время, время доброты и альтруизма, исполнитель, видите ли, возомнил, что он пуп земли, что он должен получать деньги фактически ни за что: просто за продажу копии диска! Какое кощунство! Если бы он был настоящим музыкантом, то был бы рад, что его произведения имеют возможность слушать практически любой пользователь компьютера. Пусть даже и не заплатив ему ни цента.

Продолжение следует (возможно)...

Автор: vladb314

Источник

Поделиться новостью

* - обязательные к заполнению поля