Что такое свободно распространяемое программное обеспечение

Бесплатно и безопасно: главные мифы свободного ПО

Что такое свободно распространяемое программное обеспечение. Смотреть фото Что такое свободно распространяемое программное обеспечение. Смотреть картинку Что такое свободно распространяемое программное обеспечение. Картинка про Что такое свободно распространяемое программное обеспечение. Фото Что такое свободно распространяемое программное обеспечение

Минкомсвязи в конце декабря опубликовало свои взгляды в отношении внедрения свободного программного обеспечения (СПО) в госорганах. В документе перечислены преимущества свободных продуктов, главными из которых названы бесплатность и безопасность. Но так ли это на самом деле?

Свободное — значит бесплатное?

Существует распространенное мнение о том, что свободный софт является одновременно и бесплатным. В документе Минкомсвязи использован именно этот тезис:

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

Однако IТ-эксперты, в том числе основатель движения open source Ричард Столлман, с этим не согласны. Сам Столлман на каждом своем выступлении повторяет фразу:

Free — значит свободное, но не бесплатное. И все это не равно Open Source. Это три понятия, которые смешивать не стоит.

За примерами, которые подтверждают это мнение, далеко ходить не нужно. Из недавнего — компания Dell согласилась платить Microsoft лицензионные отчисления («роялти») за использование Android и Chrome OS на своих устройствах. Корпорация из Редмонда владеет целым рядом патентов на технологии, которые использованы в открытых проектах, созданных Google.

Тот же Столлман публиковал статью, в которой призывал поддержать кампанию за «оcвобождение Android», то есть за публикацию исходных кодов операционной системы (а ее создатель, Google, делать этого не собирается).

Что такое свободно распространяемое программное обеспечение. Смотреть фото Что такое свободно распространяемое программное обеспечение. Смотреть картинку Что такое свободно распространяемое программное обеспечение. Картинка про Что такое свободно распространяемое программное обеспечение. Фото Что такое свободно распространяемое программное обеспечение

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

Свободный софт более безопасен

Поскольку, как мы только что выяснили, свободное ПО, бесплатное и Open Source — это три совершенно разные вещи, то кажется, что одна из них и должна быть более безопасной, чем проприетарные продукты. На самом деле это не так.

В документе Минкомсвязи сказано, что закрытые продукты менее безопасны, поскольку в них встречаются недокументированные возможности:

Многие проприетарные приложения от известных производителей содержат недокументированные функции, что является потенциальной угрозой.

Но ведь и многие из открытых (свободных, бесплатных) приложений — тоже содержат недокументированные функции. Не всегда разработчики успевают (и не всегда хотят) надлежащим образом документировать возможности своего проекта. Более того, потенциальной угрозой является и целый ряд документированных функций (например, Userialize или Bash).

Отдельный вопрос, на который нужно дать ответ — что такое «недокументированные функции», подходит ли под это определение, скажем, не описанный в документации пункт меню? Если речь идет о «недекларированных возможностях», то должен существовать процесс их декларации. Если же подразумеваются уязвимости, то это совсем другая тема.

На самом деле, для того чтобы повысить уверенность в безопасности кода, достаточно следовать простому алгоритму:

В случае с бэкдором в RSA выяснилось, что компании заплатило АНБ — то есть виновника удалось найти. А вот откуда в пакете SSL взялась уязвимость Heartbleed — непонятно до сих пор.

С другой стороны, свободное ПО легче адаптировать к изменяющимся условиям. Конечно же, установка «закрытой и несвободной» Windows на HMI в системах АСУ ТП — это очевидная ошибка, которая привела к тому, что во многих системах до сих пор не закрыта уязвимость CVE-2010-2568, через которую в свое время распространялся червь Stuxnet. Использование «открытой» системы позволило бы разработать свой патч, но и для этого нужна команда разработчиков, которая стоит денег.

Должно ли государство развивать российский Open Source

Еще одна выдержка из документа Минкомсвязи, в которой звучит тезис о том, что свободный софт соответствует национальным интересам:

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

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

В России компаний вроде ALT Linux, которые делают все верно и по букве всех лицензий и законов открытого ПО, крайне мало. В целом же разработка «пакета свободного отечественного программного обеспечения» — задача, может быть, и светлая, но явно не первоочередная.

Здесь хотелось бы обратиться к еще одной популярной теме — к созданию «отечественной ОС».

Операционная система не нужна!

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

Десктопы

Десктопы, несмотря на всю их архаичность, еще долго будут оставаться серьезным «пожирателем» IТ-бюджета в корпоративном секторе с циклом обновления в 3—5 лет. Учитывая, что существенной частью корпоративного сектора в России является госсектор и связанные с ним компании, перевод этой ниши на российские продукты вполне реален — нужно лишь волевое решение.

«Ну вот же, свой Windows!» — скажет читатель. Отнюдь нет! Начинать делать десктоп нужно с процессора. Более того, он у нас есть, и неплохой. Да, речь об «Эльбрусе».

Уже в процессе работы над собственным процессором попутно придется решать и вопросы с созданием операционных систем, языков программирования и прочих элементов экосистемы. Для того чтобы производители софта захотели писать под условный «Эльбрус», необходимо чтобы на подобные продукты был спрос, а МЦСТ мог производить достаточное количества железа.

Уже упомянутые госкомпании и их сателлиты могут составить костяк первых пользователей. Если производители ПО (тот же ALT Linux, или JetBrains) увидят перспективы и пользовательскую базу, то не откажутся создать версию под «Эльбрус» (кстати, и мы сейчас портируем PT Application Firewall на этот процессор) — заодно и совместимость с «просто Linux» и другими платформами появится.

Что такое свободно распространяемое программное обеспечение. Смотреть фото Что такое свободно распространяемое программное обеспечение. Смотреть картинку Что такое свободно распространяемое программное обеспечение. Картинка про Что такое свободно распространяемое программное обеспечение. Фото Что такое свободно распространяемое программное обеспечение

Все в облако

Тренд на «переезд» многих привычных приложений в облако неоспорим: там уже и Excel, и Word, и «1C». Частное «офисное» облако закрыло бы нужды 90% пользователей десктопов в корпоративном секторе. В настоящий момент подобные продукты все больше и больше становятся обыкновенной подложкой под сам «интернет». Самым важным десктоп-приложением становится браузер, а создать его уже совсем не так сложно, как показывает пример Opera или Яндекс.Браузера.

Казалось бы, все переехали на Chromium — но в этом нет ничего плохого. Если взять за основу существующую платформу, навесить на нее дополнительные функции и обеспечить цикл поддержки, это позволит создать конкурентоспособный продукт. А уже параллельно можно будет заняться и созданием собственного Chromium, если это необходимо.

Железное небо

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

С сетевыми «железяками» ситуация постепенно налаживается, в области NAS серьезные вещи делает RAIDIX, нельзя сбрасывать со счетов и «Т-Платформы». С софтом ситуация гораздо лучше — есть прекрасная платформа для виртуализации от Parallels и nginx, как надежная основа для серверов приложений.

Не все гладко и с СУБД (даже создатели «Эльбруса» из МЦСТ говорят об Oracle), хотя есть такие продукты, как «Линтер», Red «База данных». При этом необходимо понимать, что с MS SQL и Oracle съехать легко и просто не получится. Это, однако, не означает, что не нужно создавать собственные enterprise-СУБД: как минимум RDBMS и какое-то количество NoSQL-проектов (например, document и graph) — точно бы не помешало. Даже если брать за основу PostgreSQL, Hadoop или ElasticSearch — главное, чтобы эти продукты использовались и под них создавались приложения.

Итого

Конечно же, свободное ПО вполне можно и нужно использовать, адаптировать и развивать. Однако тезисы о его бесплатности, «лицензионной чистоте» и защищенности не выдерживают никакой критики. «Бесплатно» и «безопасно» — это просто сказки, и все знают, где бывает бесплатный сыр.

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

Автор: Сергей Гордейчик, по материалам личного блога (1, 2)

Источник

10 мифов о свободном ПО

Разбираемся, почему free software — это не всегда бесплатно и зачем open source начинающему программисту.

Что такое свободно распространяемое программное обеспечение. Смотреть фото Что такое свободно распространяемое программное обеспечение. Смотреть картинку Что такое свободно распространяемое программное обеспечение. Картинка про Что такое свободно распространяемое программное обеспечение. Фото Что такое свободно распространяемое программное обеспечение

Что такое свободно распространяемое программное обеспечение. Смотреть фото Что такое свободно распространяемое программное обеспечение. Смотреть картинку Что такое свободно распространяемое программное обеспечение. Картинка про Что такое свободно распространяемое программное обеспечение. Фото Что такое свободно распространяемое программное обеспечение

Есть программисты, которые объединяются в команды и после работы бесплатно создают полезные программы. Есть компании, которые нанимают этих программистов, а потом выкладывают в открытый доступ исходные тексты приложений и сервисов, чтобы другие люди могли их исследовать, изменять под себя и распространять дальше. А продвигают все эти «странные» идеи известные всему миру айтишники, такие как Ричард Мэттью Столлман, Брюс Перренс, Лоуренс Лессиг.

Миф 1

Свободное ПО = бесплатное

Что такое свободно распространяемое программное обеспечение. Смотреть фото Что такое свободно распространяемое программное обеспечение. Смотреть картинку Что такое свободно распространяемое программное обеспечение. Картинка про Что такое свободно распространяемое программное обеспечение. Фото Что такое свободно распространяемое программное обеспечение

Фанат Free Software Foundation, использую Linux и недолюбливаю Windows. Пишу истории про кодинг и программы на Python. Влюблен в LISP, но пока что не умею на нем программировать.

Свободное ПО может быть платным, это не запрещено. Но оно не может быть проприетарным, то есть закрытым и нарушающим «четыре свободы» GNU:

Свободное ПО называется free software, а бесплатное — freeware. В отличие от свободных, бесплатные программы бывают закрытыми и могут распространяться в виде исполняемых файлов, по которым нельзя понять их внутреннюю структуру. Например, популярная программа для очистки Windows от мусора CCleaner — бесплатная, но не свободная.

Миф 2

Свободное ПО == open source (открытые исходники)

Две главных организации, которые продвигают идеи открытого и свободного ПО, — Open Source Initiative (OSI) и Free Software Foundation (FSF). Они чуть по-разному понимают термины «свободный» и «открытые исходники». FSF больше внимания уделяет свободам пользователей и использует термин free software. OSI же считает, что слово free сбивает людей с толку, намекая на бесплатность, и подчёркивает значение открытых исходников и метод разработки программ. Для OSI основной термин — open source software.

По сути и OSI, и FSF занимаются одним делом, а все их разногласия — в небольших философских акцентах.

У каждой программы есть лицензия — юридические условия, на которых её можно использовать. Обычно она ограничивает возможность исследовать устройство, модифицировать код и создавать на его основе новые программы. Это относится даже к тем из них, код которых выложен в открытый доступ. Пример — WinRAR, популярный архиватор челябинца Евгения Рошаля: исходники открыты, но делать с ними ничего нельзя. Такие программы тоже считаются несвободными.

Миф 3

Если есть исходный код — это open source

На самом деле нет. Для этого нужен полностью понятный код, который можно легко прочесть. Несвободными являются даже те программы, которые прошли обфускацию — когда исходный текст прогоняют через специальный сервис и делают его трудночитаемым. Часто так поступают с программами на интерпретируемых языках, особенно с разными скриптами на JavaScript, Perl или PHP. Они переводятся в машинный язык только в момент выполнения, и потому их исходники всегда доступны. В коде после обфускации не разобраться — теряются стройность и красота, остаётся только функциональность.

Вот классический пример исходника на языке C, всё логично и ясно даже без комментариев:

Он же после обфускации:

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

Миф 4

Свободное ПО — это лицензия GNU GPL

Многие связывают свободное ПО с самой известной лицензией — GNU GPL от Free Software Foundation. На самом деле свободных лицензий очень много: МIT, BSD, Mozilla Public License (MPL), Common Development and Distribution License (CDDL), Apache Software License. Да и у авторов GPL есть разные версии их свободной лицензии: для документов, «железа» и программ.

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

Миф 5

Свободное ПО — для любителей, а не для серьёзных программистов

К открытым проектам может присоединиться и профессионал, и новичок, и просто любитель кодинга: повышать квалификацию, нарабатывать портфолио и репутацию. Работа над свободным ПО в мире программистов считается хорошим тоном. Конечно, писать критически важные части ядра Linux или FreeBSD так просто вам не дадут, но какие-то небольшие и менее приоритетные задачи выполнять можно сразу.

Миф 6

Свободное ПО — недоработанное и у него меньше функций

Спорное утверждение. Да, открытые программы для работы с растровой и векторной графикой сильно отстают от коммерческих аналогов, но в них всё равно можно полноценно работать. А свободный 3D-редактор Blender массово используют в Голливуде — например, в нём сделаны спецэффекты «Человека-паука 2».

Большинство серверов в мире работает на Linux, FreeBSD или OpenBSD. Да и программируем мы в основном на свободных языках. Веб тоже держится на СПО : браузеры Chromium и Mozilla Firefox, серверы Ngnix и Apache, базы данных MySQL и PostgreSQL, свободный движок для сайтов WordPress — список можно продолжать долго. Это отлично проработанные программы, которые по многим параметрам превосходят коммерческие аналоги.

Миф 7

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

Миф 8

На свободном ПО не заработать

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

Например, разработчик браузера Firefox, Mozilla Foundation, существует на государственные гранты, пожертвования, помощь от крупных компаний и за счёт коллабораций. Корпорация Google одно время платила фонду, чтобы быть в браузере поисковиком по умолчанию. Эти деньги шли на зарплату программистам, пиарщикам, тимлидам, маркетологам, формировали рекламный бюджет и так далее. Похожая финансовая модель и у других сообществ — того же Linux Foundation или проекта GNU.

Зачем корпорации спонсируют такие проекты? Они пользуются многими свободными программами и хотят, чтобы софт был лучше и надёжнее, быстрее обновлялся. В бизнесе повсеместно применяются веб-серверы Ngnix и Apache, свободный офисный пакет LibreOffice, операционные системы Linux или FreeBSD. Поэтому всем важно, чтобы вовлечённые в их создание программисты достойно зарабатывали.

К примеру, Линус Торвальдс с 1997 по 2003 год работал в компании Transmeta, где ему платили зарплату и давали возможность разрабатывать ядро Linux, а Гвидо ван Россум спокойно занимался Python в DropBox. К свободному ПО серьёзно относятся и многие ИТ-гиганты — те же Oracle, Google и даже Microsoft спонсируют сообщества напрямую или предоставляют им своих разработчиков.

Миф 9

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

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

Свежий пример: в мае 2020 года вышла новая версия музыкального редактора Audacity 2.4.0, а через день один из пользователей обнаружил проблему: при определённых условиях терялись данные. Буквально за 5-6 часов сообщество программистов протестировало программу, свежий релиз отменили, в центре загрузок оставили предыдущую версию. А ещё через день проблему устранили и вышла исправленная, с номером 2.4.1.

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

Миф 10

Конкуренты используют ваш код, а вы останетесь ни с чем

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

Известные компании всё больше ориентируются на свободный код и видят в нём выгоду. Например, в марте 2020 года «ВКонтакте» выложили на GitHub под свободными лицензиями код фронтенда своих мобильных приложений, а на порталах графических редакторов Figma и Sketch (под лицензией Creative Commons) появилась вся их графика. Это поможет сторонним разработчикам мини-приложений для соцсети создавать более профессиональные решения.

Зачем всё это начинающему программисту

Свободное программное обеспечение — не просто форма разработки приложений, но и философия. Поэтому идеи подхватили в разных сферах: появились лицензии для свободных аппаратных платформ, для творческих людей (семейство Creative Commons) и даже проекты open source велосипедов и автомобилей.

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

Как новичку присоединиться
к open source проекту

Вот несколько свободных проектов на разных языках программирования. Присоединяйтесь и добавляйте их себе в портфолио.

Python

JavaScript

Что почитать и посмотреть об open source и free software

Программное обеспечение с открытым исходным кодом, доступным для просмотра, изучения и изменения всеми желающими.

Python Software Foundation License — BSD-подобная лицензия на свободное ПО, совместимая с GNU General Public License (GPL).

На конференции для разработчиков Build 2020 Microsoft представила
менеджер пакетов в стиле Linux. Он работает в командной строке и командой в пару строк может обновить все программы.

Frontend — клиентская сторона пользовательского интерфейса к программно-аппаратной части сервиса.

Нумерация списка этих свобод от 0 до 3 — фишка авторов-программистов.

Фонд FSF считает официальным английский текст GNU GPL, а российское законодательство признает только лицензии, переведенные на русский язык. Поэтому правовой статус GPL в России немного туманный.

Источник

Свободное и открытое программное обеспечение: в чем разница?

Лицензирование – один из аспектов разработки программного обеспечения, о котором многие забывают. Лицензия на программное обеспечение определяет, как лицензиаты (конечные пользователи) могут использовать и распространять код. Это может существенно повлиять на то, как широко будет внедряться та или иная технология. Большинство современных программных продуктов продается под закрытой лицензией, которая позволяет создателю сохранить интеллектуальные права на программное обеспечение.

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

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

Немного истории

Идея о том, что пользователи программ должны иметь право просматривать, редактировать и делиться своим исходным кодом без юридических последствий, совсем не нова. До 1970-х годов программное обеспечение, как правило, распространялось вместе с его исходным кодом, потому что в большинстве ПО было аппаратно-ориентированным, и конечным пользователям приходилось модифицировать, чтобы запустить на конкретной машине или добавить специальные функции.

Большинство пользователей тогда делали это в строго академических или исследовательских условиях. Вычислительные ресурсы, как правило, были разделены, и изменение программного обеспечения для создания более эффективных рабочих процессов или более надежных решений было широко распространенной практикой. Например, проект Genie UC Berkeley разработал операционную систему Berkeley Timesharing System, взломав исходный код компьютера лаборатории SDS 930.

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

Появление свободного программного обеспечения

Движение свободного программного обеспечения было детищем Ричарда Столлмана. Столлман начал изучать информатику в начале 1970-х годов, до появления закрытых лицензий на программное обеспечение. В начале 1980-х годов он работал научным сотрудником Лаборатории искусственного интеллекта Массачусетского технологического института. Будучи членом академического сообщества хакеров более десяти лет, он не мог не возмутиться из-за распространения закрытого программного обеспечения. Столлман стал рассматривать его как нарушение прав пользователей на инновации и совершенствование существующего программного обеспечения.

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

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

В 1985 году Столлман учредил Free Software Foundation (FSF), некоммерческую организацию, занимающуюся продвижением концепции бесплатного программного обеспечения для широкой общественности. Позже Столлман разработает GNU General Public License, лицензию на программное обеспечение, которая обеспечивает конечным пользователям права свободно запускать, просматривать и совместно использовать исходный код.

Согласно FSF, чтобы ПО могло считаться по-настоящему «свободным», его лицензия должна гарантировать своим пользователям четыре основные свободы:

Любое программное обеспечение, которое не соответствует этим критериям, FSF рассматривает как «несвободное».

Развитие открытого ПО

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

К концу 1990-х годов сторонники GNU и Linux стали беспокоиться, что неоднозначность слова «free» приведет к тому, что пользователи перестанут понимать философию свободного программного обеспечения и его преимущества по сравнению с закрытым кодом. Организация FSF стала известна своей жесткой этической позицией относительно закрытого программного обеспечения всех видов. Среди некоторых сторонников свободного программного обеспечения появилась обеспокоенность по поводу того, что этот подход был слишком недружественным в деловом смысле и в конечном итоге препятствовал распространению Движения свободного программного обеспечения.

Собор и базар

В 1997 году Эрик С. Рэймонд, на тот момент сторонник и разработчик свободного программного обеспечения, написал широко цитируемое эссе «Собор и базар» (The Cathedral and the Bazaar), в котором сравниваются две разные модели разработки, используемые в различных проектах свободного программного обеспечения. Соборной называется модель, в которой исходный код открывается с выходом нового релиза программы, а во время работы на кодом доступ к нему имеет только ограниченная группа разработчиков (примером такой модели является разработка GNU Emacs). Базарной называется модель, в которой код разрабатывается на виду у сообщества через Интернет (как, например, было в случае ядра Linux).

Главный аргумент эссе заключается в том, что базарная модель по своей сути более эффективна при поиске и устранении ошибок, поскольку просматривать и экспериментировать с исходным кодом может больше людей. Таким образом, Рэймонд утверждал, что базарная модель разработки дает более безопасное и надежное программное обеспечение.

Отчасти в ответ на идеи «Собора и базара» в начале 1998 года Netscape выпустила исходный код своего веб-браузера Communicator в качестве свободного программного обеспечения (исходный код Communicator позже станет основой Mozilla FireFox 1.0).

Вдохновившись коммерческим потенциалом, который видела Netscape в этом релизе кода, группа энтузиастов свободного программного обеспечения (включая Рэймонда, Линуса Торвальдса, Филиппа Циммермана) стала стремиться к ребрендингу Движения свободного программного обеспечения и смещению его внимания с этических и философских мотивов. Группа выбрала название «open source» («открытое ПО» или «ПО с открытым исходным кодом») для свободно распространяемого программного обеспечения в надежде на то, что она лучше отразится на стоимости совместной модели развития.

Вскоре после этого Рэймонд и Брюс Перенс основали Open Source Initiative (OSI), чтобы поощрить использование нового термина и распространение принципов открытого ПО. Организация OSI также разработала Open Source Definition – список из десяти принципов, которым должна соответствовать лицензия на программное обеспечение, чтобы оно могло считаться открытым:

Разница между свободным и открытым программным обеспечением

Многие считают, что разница между «свободным» и «открытым» программным обеспечением незначительна и объясняется небольшой разницей в подходах или философии. Согласно Open Source Initiative, оба термина означают одно и то же, и их можно использовать взаимозаменяемо практически в любом контексте. Просто Open Source Initiative предпочитает термин «открытое ПО», потому что он дает более четкое описание программного обеспечения и представлений его создателей о том, как его использовать.

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

Является ли та или иная программа свободной или открытой зависит от лицензии, по которой она распространяется и от того, одобрена ли эта лицензия Open Source Initiative, Free Software Foundation (или обеими организациями). В этом организации часто совпадают, но есть несколько исключений. Например, лицензия NASA Open Source Agreement одобрена OSI, но FSF считает ее слишком ограничительной. Таким образом, FSF отговаривает других от использования программного обеспечения, распространяемого по этой лицензии.

Как правило, если программное обеспечение можно охарактеризовать как свободное, оно, скорее всего, также будет и открытым.

Альтернативы

На протяжении многих лет предлагались и другие названия для такого программного обеспечения, чтобы положить конец этой дискуссии. Свободное программное обеспечение с открытым исходным кодом (часто сокращается как FOSS) является одной из наиболее широко используемых альтернатив и считается нейтральным вариантом. Термин «libre software» (libre – слово из романских языков, которое означает свободу) стал настолько популярным, что со временем появился акроним FLOSS (free/libre and open-source software).

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

Еще одна проблема общедоступного ПО связана с тем, что контент, не защищенный авторским правом, признают далеко не все страны. Ни FSF, ни OSI не рекомендуют разработчикам выпускать общедоступное программное обеспечение.

Заключение

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

Источник

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

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