С.Кузнецов, Центр Информационных Технологий В докладе описывается текущее состояние бесплатно (свободно) распространяемого программного обеспечения. Эта тема является практически бесконечной, и любой рассказ о ней объективно носит абсолютно субъективный характер.
С другой стороны, будучи очевидно важным для всего человечества, свободное программное обеспечение особенно важно для России и других государств, образовавшихся на осколках коммунизма. Слишком часто у нас не хватает денег, чтобы приобрести действительно нужное программное обеспечение. Нужно понять, что очень часто это не должно порождать неразрешимые проблемы. Да, мы не очень богаты (увы!), но мы и не слишком глупы, чтобы не справиться с освоением программных продуктов со статусом public domain.
Мы обсудим малую толику доступных сегодня свободно распространяемых программных продуктов, исходя главным образом из личных симпатий, имеющегося личного опыта, а также опираясь на отзывы друзей и знакомых. Доклад основывается на свободно распространяемых материалах и может быть целиком или частично перепечатан, скопирован или распространен любым другим способом.
За что китайцы НЕ любят русских?? — Китаянка говорит по-русски
1. Фонд свободного программного обеспечения и проект GNU
Фонд свободного программного обеспечения (FSF — Free Software Foundation) представляет собой очень интересное и во многих отношениях исключительное явление в современном мире программирования. Многим отечественным программистам приходилось иметь дело с программами из FSF (особенно хорошо известна система программирования GCC), однако недостаточное количество публикаций на русском языке затрудняет понимание идеологии и целей FSF, а также усложняет оценку имеющегося задела. Одной из целей доклада является хотя бы частичное устранение этого пробела.
FSF — это программистская организация, основанная и возглавляемая Ричардом Столлманом (Richard Stallman). В самой общей постановке задачей FSF является устранение ограничений по копированию, распространению, изучению и модификации программ для компьютеров. Для достижения этой общей задачи FSF стимулирует разработку и использование свободного программного обеспечения, ориентированного на широкий класс применений.
В своем «Манифесте GNU» [1], написанном еще в 1985 г., Р. Столлман в качестве основной идеи, приведшей к возникновению FSF и проекта GNU, выдвигает свое неприятие права собственности на программы. Особенности взаимоотношений в сообществе программистов часто ставят людей перед выбором следования естественному чувству дружбы и взаимопомощи или подчинения препятствующего этому закону о собственности. При использовании свободного программного обеспечения необходимость такого обременительного выбора исчезает.
Создание интегрированной свободной программной системы позволяет избежать дублирующей работы программистов (которая часто требуется только по причине наличия программ в чьей- либо собственности). Свободное распространение исходных текстов программ облегчает их сопровождение и приспособление к нуждам конкретного пользователя (не требуется прибегать к услугам только компаний — владельцев лицензий на исходные тексты). Появляется дополнительная и очень важная возможность использования хорошего программного обеспечения в учебных целях.
№15. «Свободно распространяемые операционные системы»
Как утверждает Р. Столлман, при переходе к свободному программному обеспечению программисты не вымрут от голода (хотя, видимо, будут зарабатывать несколько меньше). Ограничение на копирование программ — это не единственный способ зарабатывать деньги. Основная идея Столлмана состоит в том, что нужно продавать не программы, а труд программиста. В частности, источником дохода может быть сопровождение программных систем или их настройка для использования на новых компьютерах и/или в новых условиях, преподавание и т.д.
«Манифест» Столлмана написан очень эмоционально и местами слишком утопичен. Тем не менее, как кажется, идеи свободного программного обеспечения исторически близки традиционным (за исключением самых последних лет) отношениям в среде советских программистов. Возможно, именно линия FSF — наиболее естественный путь к глубокой интеграции отечественного и мирового сообществ программистов.
Более конкретно, FSF ведет разработку программ в рамках проекта GNU (аббревиатура GNU раскрывается рекурсивно — GNU’s Not Unix). Целью проекта GNU является создание полной интегрированной программной системы, средства которой совместимы с возможностями среды ОС Unix (как правило, возможности программ GNU шире возможностей аналогов среды Unix).
Программное обеспечение FSF является «свободным» в двух смыслах. Во-первых, любую программу можно свободно копировать и передавать кому угодно. Во-вторых, наличие исходных текстов программ обеспечивает возможность свободного изучения программ, их улучшения и распространения доработанных вариантов.
Подобно тому, как права обычных компаний, производящих программное обеспечение, охраняются их знаком авторских прав (copyright), «свобода» программных систем FSF защищается «copyleft» — комбинацией copyright и присутствующим во всех текстах FSF документом с заголовком «GNU General Public License» [2]. В этом документе говорится о правах, которыми располагает любой текущий владелец данного текста, и о невозможности изъятия этих прав у любого другого субъекта.
Основная деятельность FSF состоит в разработке новых составляющих свободного программного обеспечения в рамках проекта GNU. Большей частью проект GNU развивается плановым образом, но FSF принимает для свободного распространения и программы, разработанные фирмами и частными лицами по собственной инициативе. Кроме того, FSF занимается производством и продажей лент со свободным программным обеспечением, подготовкой, публикацией и распространением руководств по различным компонентам программного обеспечения GNU, а также поддерживает и распространяет справочник услуг — список фирм и частных лиц, которые оказывают платные услуги пользователям программ и систем GNU.
Финансовой основой FSF является продажа магнитных лент и компактных дисков с текстами программ GNU, документации в электронной и бумажной форме, а также спонсорство коммерческих фирм и частных лиц.
В настоящее время готовы почти все компоненты программного обеспечения проекта GNU. FSF распространяет много программ, часть которых написана непосредственно программистами FSF, а часть передана в FSF для свободного распространения другими организациями и лицами. Коротко охарактеризуем наиболее интересные программные продукты, распространяемые FSF [3].
Emacs — расширяемый, настраиваемый на разные типы терминалов и потребности пользователей редактор. Расширяемость редактора основана на использовании встроенного в редактор интерпретатора языка Лисп (диалекта Common Lisp).
Одновременно с исходными текстами редактора распространяются руководство по использованию Emacs и справочное руководство по программированию на языке Лисп в среде Emacs. Основной версией Emacs, поставляемой и поддерживаемой в настоящее время FSF, является Emacs V.19. Эта версия редактора сохраняет свойства всех предыдущих версий, включая возможность использования на самых простых алфавитно-цифровых терминалах. Однако Emacs V.19 очень хорошо работает на графических X- терминалах. На самом деле, только после перехода к использованию Emacs на X-терминалах можно по-настоящему оценить возможности этого редактора.
Некоторое время тому назад существовала непростая проблема локализации Emacs применительно к особенностям национального языка. Скорее всего, найдутся люди, которые помнят, сколько хлопот принесла работа по первой русификации Emacs.
Несколько лет назад внезапно активизировавшиеся японцы создали собственную версию редактора Emacs под названием MULE (MULtilingual Enhancement to GNU Emacs — не подумайте чего плохого). В этой версии используется расширенная многобайтовая кодировка символов, позволяющая в одном сеансе редактирования употреблять символы разных алфавитов (в частности, японский, китайский, арабский, русский, греческий и т.д.). В настоящее время MULE интегрирован в Emacs, и серьезные проблемы локализации отсутствуют. Видимо, сегодня Emacs является лучшим текстовым процессором, работающим в среде Unix (в действительности, эта программа представляет собой гораздо большее, чем простой текстовый процессор).
Bison — замена стандартного генератора синтаксических анализаторов Yacc с некоторыми расширениями. Руководство также распространяется. Люди, которые использовали Bison при разработке компиляторов, очень хвалят программу. В последнее время FSF ослабил требования к использованию Bison, позволив легально его применять при разработке коммерческих продуктов.
Имеются две реализации упрощенного диалекта языка Лисп — Scheme: одна из MIT (написана на языке Си), вторая из университета г. Yale (написана на Scheme).
Поставляется набор утилит texiinfo, генерирующих печатные и гипертекстовые документы, в виде которых в основном поставляется документация проекта GNU.
GCC — переносимый оптимизирующий компилятор. Начиная со второй версии компилятор поддерживает языки Си (ANSI C, традиционный Си, расширенный диалект GNU C), Си++ и Objective C. Среди оптимизаций, выполняемых GCC, содержится автоматическое распределение регистров, выявление общих подвыражений, вынесение инвариантных выражений из тела цикла и т.д. Компилятор содержит средства полуавтоматического построения генераторов кода для новых компьютеров.
Доступен целый ряд библиотек функций для языка Си и библиотек классов для Си++ и Objective C.
Отладчик GDB может быть использован для отладки программ, написанных на языках Си, Си++ и Фортран.
Для работы с версиями программ в больших программных проектах поддерживаются системы RCS (Revision Control System) и CVS (Concurrent Version System).
Распространяется громадное количество программ X11, реализация MIT X-Windows (версия 11, релиз 6). Объем доклада не позволяет остановиться на этом более подробно.
В основном все программы, распространяемые FSF, рассчитаны на работу в среде Unix и используются с различными вариантами этой системы, но имеются версии некоторых программ для работы с ОС VMS, Windows NT и даже MS-DOS.
Одним из особенно важным, но еще незавершенным проектом FSF является проект Hurd. Это свободная реализация UNIX-совместимой операционной системы, основанная на свободно распространяемом варианте микроядра Mach, разработанного в университете Карнеги-Меллон. В соответствии с технологией Mach разработан ряд серверов, воспроизводящих базовые функции ядра ОС UNIX.
Интерфейс системных вызовов UNIX воспроизводится с помощью специально разработанной библиотеки Си-функций. Серверы Hurd и библиотечные функции первоначально были разработаны на платформе PC 396, но легко переносятся на другие аппаратные платформы. Основной текущей проблемой является массовый перенос Mach на различные платформы.
Среди программ GNU находится большое число других продуктов, которые заслуживают внимания, но мы не будем обсуждать их в этом докладе.
2. Другие наиболее распространенные продукты Public Domain
Наверное, самым популярным на сегодня программным продуктом Public Domain является UNIX- совместимая ОС Linux, созданная молодым финским программистом Линусом Торвалдсом и поддерживаемая с помощью Internet тысячами энтузиастов. ОС Linux основана на традиционных принципах построения ядра ОС UNIX, что не помешало энтузиастам перенести ее на несколько популярных аппаратных платформ.
Linux является одной из наиболее подходящих операционных систем для домашнего компьютера, если человек не собирается использовать его только для написания текстов и лазания в Internet. По отзывам практиков, программа, аккуратно написанная в среде Linux безо всяких проблем переносится в среду любого другого варианта ОС UNIX (если, конечно, этот вариант соответствует стандартам). С другой стороны, известны примеры промышленного использования Linux, в частности, в телекоммуникационных системах.
Альтернативой Linux является ОС Free BSD, разработанная и распространяемая университетом Беркли. Это одна из ветвей BSD UNIX, проекта, в течение многих лет разрабатываемого в университете Беркли. Free BSD — это эффективная и экономичная операционная система, единственным недостатком которой можно считать ее абсолютную ориентацию на Intel- платформы. Я знаю многих людей, которые предпочитают использовать дома Free BSD, а не Linux.
В том же университете Беркли разработан замечательный пакет Tcl/Tk — средство для разработки графических пользовательских интерфейсов. Это свободно распространяемый продукт, прекрасно документированный и очень легко осваиваемый. Известны многие реальные проекты, выполненные с использованием Tcl/Tk, например, основанный на графическом интерфейсе пакет администрирования Linux.
Как говорилось в начале доклада, тема свободно распространяемого программного обеспечения поистине неисчерпаема. По этому поводу можно говорить бесконечно. Но лучше следить за новыми программами самостоятельно.
Источник: citforum.ru
Разница между бесплатным и open source программным обеспечением
Рынок программных продуктов предлагает большой выбор программного обеспечения (ПО). Наряду с приложениями, приобрести которые можно за определенную плату, существует возможность воспользоваться бесплатными программами.
Бесплатное программное обеспечение (Freeware)
Впервые термин «freeware» появился в 1982 году, его зарегистрировал в качестве товарного знака американский программист Андрю Флеглеман (Andrew Flegleman) для разработанной им коммуникационной программы.
Бесплатно можно скачать:
- бета-версии программ
- упрощенные аналоги полноценных пакетов
- драйверы
- программы, использование которых подтолкнет к приобретению дополнительных ресурсов.
Достоинство freeware одно — не надо платить деньги, недостатков немного больше:
- нет автоматического обновления программы
- отсутствует техническая поддержка
- возможны ошибки при работе.
Практически любая коммерческая программа под Windows имеет свои бесплатные аналоги:
- Архиваторы (7-Zip)
- ПО для работы с FTP (FileZilla)
- Антивирусы (CureIt, Avast!, AVZ)
- Текстовые редакторы (Notepad++)
- Браузеры (Mozilla, Firefox, Opera, GoogleChrome)
- Аудиоплееры (WinAmp)
- Видеоплееры (VLC, Miro, Media Player Classic)
- Транскодеры (MediaCoder)
- Графические редакторы (GIMPshop)
- Офисное ПО (Apache OpenOffice, LibreOffice)
Бесплатные приложения под Windows доступны в Интернете на сайтах разработчиков. После скачивания архива и установки ПО на компьютере автоматически формируются все необходимые для нормальной работы приложения каталоги и файлы в них. Бесплатные приложения для Android и iOS можно скачать при помощи маркетплейсов PlayStore и AppStore.
Скачивая бесплатные программы, вы рискуете столкнуться с эффектом «троянского коня»: разработчик включает в бесплатно распространяемый пакет другие программы, которые автоматически размещаются на компьютере при установке пакета. Не всегда это ПО безопасно!
Особое место в категории бесплатных программ занимают проекты open source. Часть из вышеперечисленного ПО (Mozilla Firefox, 7-Zip, FileZilla, Notepad++, Miro, VLC, Apache OpenOffice, LibreOffice, Media Player Classic, GIMPshop, Google Chrome) относится именно к этой категории.
Open Source ПО
Программное обеспечение может распространяться с закрытым исходным кодом (Microsoft Windows, MS Office – проприетарное ПО), и с открытым кодом (open source). Появившийся в 1984 году термин «free software» (свободное программное обеспечение) относится к ПО, которое можно бесплатно получить, модифицировать, используя доступные исходные тексты программ, и распространять дальше.
Программы распространяются по лицензии GNU GPL и должны удовлетворять следующим требованиям:
- Нет ограничений на использование ПО в определенных областях деятельности.
- Исходный код распространяется вместе с исполняемым модулем или его можно получить из доступного источника бесплатно/по умеренной цене. Код должен быть читаемым.
- Модифицированная версия распространяется на общих условиях. Допускается изменение названия или номера версии.
- Программа доступна всем желающим.
В 1998 году было введено понятие «open source software» – ПО с открытым кодом. Формально, все свободное программное обеспечение можно считать ПО с открытым кодом. Принято относить программы open source к бесплатным, хотя не запрещено их использовать в коммерческих целях. Обычно, оно распространяется по лицензии Apache 2.0. Но есть и другие варианты (подробнее о лицензиях в мире open source см. здесь).
Преимущества работы с проектами open source:
- это хороший учебный материал
- функции, описанные в проекте, не запрещается встраивать в свои приложения
- обнаруженные ошибки можно исправить и правильный код поместить в соответствующее хранилище
- при компиляции программы в текст допускается вносить изменения и модернизировать ее под конкретные условия применения.
- для компиляции могут потребоваться дополнительные библиотеки, которые придется искать в Интернете
- если возникнут вопросы при использовании этого ПО, ответ нужно будет искать на форумах в Интернете.
Концепция Open Source основана на повышении надежности и качества ПО за счет обнаружения и исправления ошибок многими пользователями. Находящийся в открытом доступе open source проект постоянно тестируется огромным количеством программистов.
Примеры open source проектов:
- В области медицины: мультиплатформенный пакет 3D Slicer для обработки изображений (Linux, Windows, macOS).
- Для метеорологов: программа DEGRIB (Windows) и ZyGrib (Linux), ПО для обработки метеоданных в формате GRIB.
- Аналог бухгалтерской программы 1С: Ананас (Windows, Linux).
- Для разработчиков WEB-сайтов: движок Drupal, библиотека Python, фреймворк Django, web-приложение Moodle.
- Виртуальная машина: VirtualBox для ОС Windows, macOS, Linux, FreeBSD, Solaris.
- Операционные системы: Linux, GNU.
- СУБД PostgreSQL.
- Комплекс проектов для создания облачных решений OpenStack.
- Проект для управления кластерами контейнеров Kubernetes, работает под Linux; поддерживается компаниями Google, Docker, IBM, Microsoft, RedHat.
- Язык программирования Swift, популярный язык программирования open-проектов.
Давно широко внедряет технологию «открытого кода» компания Google. Все ее проекты такого типа, их примерно 200 (изначально и Kubernetes был разработан здесь, а затем передан под управление Cloud Native Computing Foundation), доступны на портале компании GOOGLE OPEN SOURCE. На ресурсе лежат не только коды программ, но и документация по их использованию и поддержке. Насколько широко можно использовать открыто предоставляемый код — указано в лицензии, обычно непосредственно размещаемой в тексте программы.
Компания Apple, открыв исходные коды языка Swift, пытается увеличить количество доступных приложений для Apple. Текущая версия языка на настоящий момент имеет ограничения: чтобы загрузить свою разработку на AppStore, придется приобрести лицензированный Swift. Вся необходимая по языку информация размещена на сайте swift.org и в облачном хранилище GitHub. Выпущен релиз Swift под Linux.
Условно-бесплатное программное обеспечение
Некоторые программы, распространяемые бесплатно, имеют ограничения:
- по сроку работы
- по количеству запусков
- по функциональности
Программы, которыми можно поделиться бесплатно, относятся к категории «shareware». Назначение этого ПО – познакомить с программой и склонить к ее покупке. Приобретая нормальную лицензию, вы переводите свою shareware-программу в полнофункциональный пакет.
Для ограничения срока работы и числа запусков используется trial-защита – специальные счетчики. В качестве ограниченного по функционалу ПО предоставляют демо-версию или версию с ограниченным сервисом. Иногда разработчик вставляет в код программы рекламу, затрудняющую работу с пакетом. Чтобы избавиться от рекламного баннера, придется заплатить.
Примеры программ с лицензией shareware:
- Архиватор WinRAR (30 дней)
- Антивирус Nod32 (30 дней)
AcrobatReader – пример программы, ограниченной по функционалу. Эта программа, нижний сегмент пакета AdobeAcrobat, разрешает только просмотр PDF-файлов. Для полноценной работы с файлами таких типов необходимо купить более полную версию Acrobat’a.
Крупные разработчики бесплатно предоставляют свои продукты для личного пользования в целях изучения. Если их ПО планируется использовать в коммерческих целях, необходимо покупать лицензию.
Например, компания Oracle бесплатно позволяет скачивать дистрибутив СУБД и утилиты для работы с ней. При этом накладываются ограничения на объем массива обрабатываемых данных. Но для изучения принципов работы с базой данных и отработки навыка написания процедур этот вариант работы с ПО подходит.
Собственно, скачивая «исходники» открытого ПО — open source — вы должны быть готовы понести определенные затраты, чтобы его использовать. Не надо приобретать лицензию, но потребуется оплатить работу программистов, которые будут создавать на его основе программные продукты под определенную задачу.
Выводы
Приобретая лицензионное платное программное обеспечение, вы автоматически получаете возможность обращаться за технической поддержкой к разработчику и регулярно, по мере необходимости, обновлять свой продукт. Для установки его на компьютер не надо обладать глубокими знаниями в области IT.
Устанавливая бесплатное программное обеспечение, обращайте внимание на дату его создания/обновления и обязательно проверяйте ПО на наличие вирусов. Такими программами пользуются как IT-специалисты, так и пользователи ПК разного уровня.
Проекты с открытым программным кодом представляют интерес для лиц, увлекающихся программированием, и профессионалов. Обычно тексты этих программ можно скачать бесплатно. Компиляция исполняемого модуля и создание для него нужной рабочей среды требует определенных навыков IT-специалиста.
Несомненным достоинством open source проектов является их независимость от вендора, крупные компании предпочитают на их основе создавать корпоративное ПО. Особенно это становится актуальным для госкорпораций в связи с возможными сложностями в приобретении проприетарных продуктов из-за экономических санкций. Сдерживающим фактором при внедрении open source является некоторая неопределенность, связанная с информационной безопасностью: возможны проблемы при прохождении сертификации в ФСТЭК.
Источник: www.atlex.ru