Хабрахабр

Краткая история open source — как свободное ПО сражалось с проприетарным

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


/ фото Peter Hamer CC BY-SA

Между наукой и национальной безопасностью

Период Второй мировой войны стал временем технологических прорывов для США. Сотрудничество научных институтов с военными организациями принесло плоды в сфере радио, криптографии и полупроводников.

Началось активное развитие ЭВМ. После войны проведенные исследования положили основу таким изобретениям, как транзистор, а научные связи превратились в бизнес-контакты.

С 1952 по 1955 год с конвейера сошли лишь 19 экземпляров этой ЭВМ. Первый коммерческий компьютер IBM 701 — носил неофициальное название Defense Calculator. по современным меркам). Приобрести их было нельзя, но можно было арендовать на месяц за немалые деньги — порядка $12 тысяч ($107 тыс.

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

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

Период обмена программами

Наиболее известными группами, участники которых делились «исходниками» друг с другом, были PACT, SHARE и DECUS. Первая из них, PACT — Project For the Advancement Of Coding Techniques — состояла из представителей военных подрядчиков, вроде Lockheed и Douglas, а также IBM.

Руководство группы подчеркивало «ценность кооперации» в работе над подобными проектами и обещало сохранить этот дух в будущем. Вместе они разработали серию одноимённых компиляторов для IBM 701 и 704, которые использовали методы хеширования.

Это примитивное, по современным меркам, решение для ввода и вывода информации выросло на внутренних разработках General Motors. Преемником PACT стала появившаяся в 1955 году группа SHARE, создавшая операционную систему SOS (Share Operating System). Подобные системы доминировали на рынке ЭВМ в конце 50х — начале 60х. Именно SOS заложила основу для первых операционных систем пакетной обработки, которые выполняли несколько заданий, подготовленных одним или разными пользователями.

Её участники обменивались друг с другом программами на магнитных лентах. В 1961 году появилась еще одна группа под названием DECUS (Digital Equipment Computer Users' Society). человек. DECUS просуществовала довольно долго — в 1998 году в ней все еще состояли 50 тыс.

Но в конце 60-х – начале 70х произошло несколько важных событий, приостановивших развитие open source. Благодаря научному сотрудничеству и обмену ПО появились языки программирования Interlisp и UCI Lisp, и эта культура дала толчок к развитию открытой ОС Unix. Они сделали программы продуктом, который можно монетизировать.

Платный софт и интеллектуальная собственность

Если в комплекте с IBM 701 не было ПО, то в последующих мейнфреймах его становилось всё больше. Весь этот софт был включён в стоимость системы, и поставлялся в комплекте. С точки зрения регуляторов, это было посягательством на монополию. После небольшого давления и угрозы судебного разбирательства IBM сдались, и в 1969 году начали продавать ПО отдельно. Это привело к появлению рынка программ для машин IBM.

Начала формироваться грань между пользователями и программистами. Относительно высокоуровневые языки — FORTRAN и COBOL — получили широкое распространение, а микрокомпьютеры пришли в дома энтузиастов. И их создатели, вполне логично, хотели защитить свой труд. Появились сложные программные системы, в том числе ориентированные для персонального использования. Каким образом на них распространяются законы об интеллектуальной собственности? Это повлекло за собой публичное обсуждение: можно ли патентовать программные продукты?

С того момента производители ПО встали в один ряд с изобретателями. В 1974 была организована специальная комиссия, которая закрепила права программистов в американском законодательстве. Разработчики получили возможность контролировать, кто пользуется результатами их труда. Немного позже апелляционный суд США принял решение, что авторское право распространяется на компьютерные программы. Тогда IBM перестали раскрывать исходный код своих программ. И в 1983 году свободно распространяемое ПО уступило проприетарному.

Но были и люди, которые не собирались с этим мириться. Так, закончилась целая эпоха свободного обмена софтом. Люди, благодаря которым свободный софт процветает сейчас.

Уроки Multics

Рынок программного обеспечения в 1960-х годах напоминал Черкизовский: вещей было много, но они плохо друг с другом сочетались. Практически под каждую новую модель компьютера ОС писали с нуля. Все больше программ выпускалось с закрытым кодом, а отсутствие стандартизации повышала стоимость их разработки.
Наиболее наглядно проиллюстрировать положение ИТ-индустрии в то время можно на примере операционной системы Multics.

Задачи, поставленные перед разработчиками, были амбициозными, а штат состоял из молодых, неопытных программистов. В её создании принимали участие MIT, Bell Labs и General Electrics, однако они никак не могли сойтись в видении. Подробному анализу просчётов, поспособствовавших провалу, была впоследствии посвящена отдельная статья. Результатом пятилетней разработки стала система, которой было не суждено найти успеха на компьютерном рынке.

Но не все сотрудники компании разделяли это мнение. Вскоре после выпуска системы Bell Labs покинули проект, посчитав его бесполезной тратой времени. Они увидели потенциал, заложенный в модульном дизайне Multics — в нем каждая задача выполняется отдельной утилитой — и решили разработать свою ОС. Для Кена Томпсона и Денниса Ритчи этот опыт послужил уроком по архитектуре ОС.

Её первую версию Томпсон написал на домашнем миникомпьютере PDP-7 за время отпуска. Летом 1969-го года родилась UNICS. После проект перекочевал в Bell Labs, где поменял название на UNIX и получил небольшую команду разработчиков.


/ фото Jason Scott CC BY

UNIX и академический рынок

После того как в 1973 году систему с открытым кодом представили публике, она, неожиданно для управленцев Bell Labs, начала стремительно захватывать академический рынок.

Причиной тому были четыре фактора:

Доступность. Антимонопольное законодательство особым образом регулировало деятельность Bell Labs, которая являлась дочерним предприятием гигантов телекоммуникации AT&T и Western Electric.

В частности, продажа продуктов, не имеющих непосредственного отношения к телекоммуникациям, должна была осуществляться за «номинальную цену». В 1956 году фирмы заключили сделку с правительством, условия которой ограничивали их коммерческую деятельность за пределами основного бизнеса. Подробнее о юридическом аспекте ситуации и его последствиях можно почитать в книге «Четверть века UNIX» Питера Салуса и этой исследовательской работе. Это условие распространялось и на UNIX.

Результатом регулирования деятельности Bell Labs стал тот факт, что академические учреждения получили возможность приобрести ОС по цене, мало превышавшей себестоимость физической копии.

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

экземпляров которого сошло с конвейера в 70-е. Третья версия операционной системы была заточена под DEC PDP-11, более 170 тыс. штук за всё время существования модели. Для сравнения, продажи популярного мейнфрейма IBM 1401 не превысили 20 тыс. В результате ОС обрела большое количество пользователей в любительском и образовательном сегментах.

UNIX состоял из небольших модулей, каждый из которых отвечал за отдельную функцию и легко изменялся. Простота. Большие монолитные программы тяжело писать и еще тяжелее модифицировать. В итоге студентам университетов было проще разобраться в том, как устроена ОС. Более того начиная с версии 4, операционная система практически целиком была написана на высокоуровневом языке C (а не на низкоуровневом ассемблере).

По этой причине рабочие версии UNIX под новые процессоры появлялись быстро. Портативность. Чтобы запустить UNIX на другой архитектуре, достаточно было портировать компилятор C. Порты UNIX под домашние машины на основе Intel 8086 и Motorola 68000 пользовались большой популярностью. Особенно важно это стало в эпоху микрокомпьютеров, которая началась в конце 70-х.

Сообщества энтузиастов существовали в Британии, Австралии и Японии. Пользователи UNIX по всему миру, преимущественно — академики, активно обменивались программным обеспечением для системы. В 1975 году более сорока Американских образовательных учреждений использовали эту операционную систему.

Рождение BSD

Одним из первых академических учреждений, которое начало активно использовать UNIX, стал филиал Калифорнийского университета в Беркли. Профессор Роберт Фабри получил копию системы лично от Кена Томпсона в 1973 году. Сотрудники организации быстро полюбили UNIX и занялись собственными разработками по улучшению ОС.

Первая версия BSD включала в себя доработанный компилятор языка Pascal, код которого был получен напрямую от Томпсона, и текстовый редактор Ex — ныне известный как Vi. Университетские дополнения к системе распространялись под названием Berkley Software Distribution (BSD). Но в AT&T были недовольны тем, что контроль над судьбой системы уходил из рук компании. Многие из новшеств BSD были реализованы в «официальных» версиях UNIX.

Как свойственно академическому проекту, коммерческие лицензии BSD были доступны по низкой для рынка цене в тысячу долларов — и продавались тысячами. Сотрудничество университета Беркли с военным агентством DARPA, привнесшее в BSD передовые сетевые технологии, усугубило ситуацию. Для AT&T это был упущенный бизнес.

В 1978 году появился первый коммерческий компилятор C. В то время как сотрудники Беркли использовали код UNIX преимущественно в научных целях, другие компании рассматривали популярность системы как шанс заработать. Юристы компании возобновили борьбу за право полноценно монетизировать продукт и защитить его от сторонних модификаций. В AT&T решили подложить этому конец и на закате 70-х ограничили распространение исходного кода ОС.

UNIX стал полностью коммерческим продуктом, а его стоимость возросла до десятков тысяч долларов — зачастую дороже железа, на котором работала операционная система. В 1983 году Bell Labs по решению суда официально «отделилась» от AT&T и Western Electric.


/ фото Sam Williams CC BY-SA / Ричард Столлман

Ричард Столлман и рождение GNU

В 1970-е Ричард Столлман работал программистом в лаборатории систем искусственного интеллекта MIT. Он был известен как один из авторов EMACS — текстового редактора для миникомпьютеров семейства PDP. Как и многий другой софт того времени, исходный код EMACS свободно распространялся, и конечный продукт являлся суммой усилий пользователей.

Университет перестал быть местом для открытого обмена идеями и программными инструментами. Все изменения в культуре академической разработки произошли у Ричарда на глазах. Столлман посчитал такой поступок саботажем. Даже создатель версии EMACS для UNIX, изначально позволявший свободное распространение своей программы, в 1983 году продал её коммерческому дистрибьютору.

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

Более того, разработка для проприетарных систем ограничивала распространение продукта, требуя от пользователя покупки коммерческого и с точки зрения Столлмана, аморального ПО.

Поэтому в 1983 году на свет появился проект GNU (GNU’s Not Unix), призванный стать открытой и улучшенной копией на тот момент уже проприетарной платформы. Перед Столлманом стояло две задачи — создать свободную операционную систему и легальную базу для её распространения.

Решение использовать UNIX в качестве основы не было случайным — Ричарда привлекла портативность операционной системы. О том, как этот проект развивался и к чему он привёл — мы расскажем в одном из последующих материалов.
Посты из Первого блога о корпоративном IaaS:
Свежие материалы из нашего Telegram-канала:

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть