Платные услуги для ПО с открытым исходным кодом - Свободное программное обеспечение
Для устранения недостатков open source пользователи продуктов объединяются вокруг каждого подобного проекта в сообщества, которые осуществляют взаимопомощь. Кроме этого вырастают компании, которые на платной основе осуществляют полный спектр высококачественных услуг по этому продукту.
LINUX КАК ЯРКИЙ ПРИМЕР OPEN SOURCE
История
К 1990 году в рамках проекта GNU, основанного Ричардом Столлманом, были разработаны и постоянно развивались свободные программы, составляющие основной инструментарий для разработки программ на языке Си: текстовый редактор Emacs, компилятор языка Си gcc, отладчик программ gdb, командная оболочка bash, библиотека важнейших функций для программ на Си libc. Все эти программы были написаны для операционных систем, похожих на UNIX. Поэтому в них использовались стандартные для UNIX системные вызовы -- POSIX. При помощи системных вызовов программы получают доступ к оперативной памяти, файловой системе, устройствам ввода и вывода. Благодаря тому, что системные вызовы выглядели более-менее стандартно во всех реализациях UNIX, программы GNU могли работать (с минимальными изменениями или вообще без изменений) в любой UNIX-подобной операционной системе.
С помощью имевшихся инструментов GNU можно было бы писать программы на Си, пользуясь только свободными программными продуктами, однако свободного UNIX-совместимого ядра, на основе которого могли бы работать все эти инструменты, не существовало. В такой ситуации разработчики GNU вынуждены были использовать одну из патентованных реализаций UNIX, то есть вынуждены были следовать принятым в этих операционных системах архитектурным решениям и технологиям и основывать на них свои собственные разработки. Мечта Столлмана о научной разработке ПО, свободной от решений, движимых коммерческими целями, была неосуществима, пока в основе свободной разработки лежало патентованное UNIX-совместимое ядро, исходные тексты которого оставались тайной для разработчиков.
В 1991 году Линус Торвальдс, финский студент, чрезвычайно увлекся идеей написать совместимое с UNIX ядро операционной системы для своего персонального компьютера с процессором ставшей очень широко распространенной архитектуры Intel 80386. Прототипом для будущего ядра стала операционная система MINIX: совместимая с UNIX операционная система для персональных компьютеров, которая загружалась с дискет и умещалась в очень ограниченной в те времена памяти персонального компьютера. MINIX был создан Эндрю Таненбаумом в качестве учебной операционной системы, демонстрирующей архитектуру и возможности UNIX. Именно полноценное ядро для своего ПК и хотел сделать Линус Торвальдс. Название своему ядру он дал freax, но позже оно было изменено хозяином ftp сервера на Linux -- гибрид имени создателя и слова UNIX.
Совместимость с UNIX в этот момент означала, что операционная система должна поддерживать стандарт POSIX. POSIX -- это функциональная модель совместимой с UNIX операционной системы, в которой описано, как должна вести себя система в той или иной ситуации, но не приводится никаких указаний, как это следует реализовать программными средствами. POSIX описывал те свойства UNIX-совместимых систем, которые были общими для разных реализаций UNIX на момент создания этого стандарта. В частности, в POSIX описаны системные вызовы, которые должна обрабатывать операционная система, совместимая с этим стандартом.
Важнейшую роль в развитии Linux сыграли глобальные компьютерные сети Usenet и Internet. На самых ранних стадиях Линус Торвальдс обсуждал свою работу и возникающие трудности с другими разработчиками в телеконференции Comp. os. minix в сети Usenet, посвященной операционной системе MINIX. Ключевым решением Линуса стала публикация исходных текстов еще малоработоспособной первой версии ядра под свободной лицензией GNU GPL. Благодаря этому и получавшей все большее распространение сети Internet очень многие получили возможность самостоятельно компилировать и тестировать это ядро, участвовать в обсуждении и исправлении ошибок, а также присылать исправления и дополнения к исходным текстам Линуса. Теперь над ядром работал уже не один человек, разработка пошла быстрее и эффективнее.
В 1992 году версия ядра Linux достигла 0.95, а в 1994 году вышла версия 1.0, что свидетельствовало о том, что разработчики наконец сочли, что ядро в целом закончено и все ошибки (теоретически) исправлены. В настоящее время разработка ядра Linux -- дело уже гораздо большего сообщества, чем во времена до версии 1.0. Изменилась и роль самого Линуса Торвальдса: теперь он не главный разработчик, а наиболее авторитетный член сообщества, по традиции оценивающий качество исходных текстов, которые должны быть включены в ядро, и дающий свое добро на их включение. Тем не менее, общая модель свободной разработки сообществом сохраняется.
Однако как нельзя сделать операционную систему без ядра, так и ядро будет бесполезно без утилит, которые использовали бы его возможности. Благодаря проекту GNU Линус Торвальдс сразу получил возможность использовать с Linux свободные утилиты: bash, компилятор gcc, tar, gzip и многие другие уже известные и широко используемые приложения, которые могли работать с его UNIX-совместимым ядром. Так Linux сразу попал в хорошее окружение и в сочетании с утилитами GNU представлял собой очень интересную среду для разработчиков программного обеспечения даже на самой ранней стадии своего развития.
Принципиальным шагом вперед было именно то, что из ядра Linux и утилит и приложений GNU впервые стало возможно сделать полностью свободную операционную систему, то есть работать с компьютером и, более того, разрабатывать новое программное обеспечение, пользуясь только свободным программным обеспечением. Идеал полностью некоммерческой разработки, сформулированный Столлманом, теперь мог быть воплощен в жизнь.
Вскоре появлялись теоретические возможности воплощения идеала, но это не означало его немедленной практической реализации. Совместимость Linux и утилит GNU была обусловлена тем, что и то, и другое писалось с ориентацией на одни и те же стандарты и практику. Однако в рамках этой практики (то есть при наличии множества различных UNIX-систем) оставался большой простор для несовместимости и различных решений. Поэтому на начальном этапе разработки ядра каждое заработавшее на Linux приложение GNU было для Линуса очередным достижением. Первыми стали bash и gcc. Таким образом, сочетание GNU и Linux давало возможность создать свободную операционную систему, но само по себе еще не составляло такой системы, потому что Linux и различные утилиты GNU оставались разрозненными программными продуктами, написанными разными людьми, не всегда принимавшими в расчет то, что делали другие. Основным же свойством любой системы является согласованность ее компонентов.
Похожие статьи
-
Возникновение дистрибутивов - Свободное программное обеспечение
После определенного периода разработки на Linux уже стабильно работал ряд важнейших утилит GNU. Скомпилированное ядро Linux с небольшим комплектом...
-
ИСТОРИЯ ПОЯВЛЕНИЯ ДВИЖЕНИЯ OPEN SOURSE - Свободное программное обеспечение
История "свободных программ" начинается с одного человека -- Ричарда Столлмана (Richard Stallman). Именно он впервые употребил термин "free software"...
-
Открытые исходники, открытые дороги - Свободное программное обеспечение
К этому моменту благодаря широкому распространению Windows позиции фирмы MicroSoft стали очень крепкими, и многие конкурирующие фирмы-разработчики...
-
Тестируемый программный продукт является высокопроизводительным приложением, которое предоставляет возможность создания и настройки сетей беспроводного...
-
Использование linux в наши дни - Свободное программное обеспечение
На сегодняшний день более 75% серверов обеспечивающие надежную работу Интернет работают под управлением Linux. Сервера таких известных компаний как...
-
Adobe Dreamweaver Adobe Dreamweaver - это HTML-редактор от компании Adobe, который на сегодняшний день очень известный. Первая его версия была выпущена в...
-
Операционная система Windows - Программное обеспечение информационных компьютерных систем
Само название Windows, на русском языке означает "Окна" и имеет в нашем языке синонимы Виндовс, Вундоуз и другие производные полученные после перевода....
-
Автоматизированное тестирование программного обеспечения - это процесс проверки программного обеспечения, который включает в себя такие шаги как запуск,...
-
После преобразования аналогового сигнала в цифровую форму с помощью АЦП возникает необходимость в программной обработке полученного цифрового сигнала....
-
В работе использовались следующее программное обеспечение для решения поставленных задач: AutoCAD, ANSYS Workbench, ANSYS Icepak. Система AutoCAD...
-
Компания MERA Networks - является одним из крупнейших мировых поставщиков услуг в сфере информационно-коммуникационных технологий. MERA предлагает...
-
Выбор программного обеспечения для внедрения KPI целиком и полностью упирается в потребности конкретной компании. Благодаря все большей и большей...
-
Оперативная память - Программное обеспечение персональных компьютеров
Обьем доступной оперативной памяти - один из важнейших параметров любого компьютера. Оперативная память или оперативное запоминающее устройство (ОЗУ или...
-
Программное обеспечение и его виды - Программное обеспечение информационных компьютерных систем
Windows программный компьютер операционный Программное обеспечение (software) - это набор команд, управляющих работой компьютера. Без программного...
-
Выбор средств реализации информационной системы Названные в параграфе 1.4. настоящей работы задачи могут быть решены тремя типами средств автоматизации:...
-
Уровни программного обеспечения. - Основы теории информации
1. Базовый уровень - самый низкий уровень ПО представляет базовое ПО. Оно отвечает за взаимодействие с базовыми аппаратными средствами. Как правило,...
-
Открытость и бесплатность - Свободное программное обеспечение
В рассуждениях о программном обеспечении не следует путать понятия открытость и бесплатность. Закрытые программные продукты бывают платные и бесплатные,...
-
1. НА 7 ПК ИСПОЛЬЗУЕТСЯ microsoft Windows xp sp2. 2. на 1 используется Altlinux 5 3. Программы офисного назначения: A) Microsoft Office Excel 2003 B)...
-
Для администрирования кластера кафедры АИС для организации параллельных процессов было выбрано следующее программное обеспечение. 1. Intel® cluster...
-
Для реализации поставленной задачи методом конечных элементов будут использованы следующие программные обеспечения (ПО): - MATLAB - ПО и одноименный язык...
-
В то время как цель проекта заключалась в оценке эффективности автоматизации тестирования функционала ядра, работа стала своего рода подведением итогов...
-
Заключение - Программное обеспечение для пропускной системы на основе технологии NFC
Обеспечение удобной пропускной системы - важная и актуальная задача. Появление новых технологий, таких как NFC и HCE, позволяет решить эту проблему. В...
-
Требования к аппаратным и операционным ресурсам Для разработки данного программного приложения будет использована Windows XP Professional. Данная...
-
Программное обеспечение. - Основные термины по информатике
Компьютер - электронное устройство для обработки информации. Составные части компьютера называются его Аппаратным обеспечением . Совокупность...
-
Можно выделить три основных метода разработки программного обеспечения: 1. Конструкторы программ (Аlgoritm2, Devel Studio, MnCreator, Game Maker и др.)....
-
В настоящее время систем видеонаблюдения на рынке продается очень много, и обычно бывает очень сложно принять правильное решение, выбрать нужное решение....
-
Необходимо построить базу данных, содержащую информацию о ПО, используемом в ЦЗН. В результате анализа предметной области выявляются документы -...
-
Система Windows NT не является дальнейшим развитием ранее существовавших продуктов. Ее архитектура создавалась с нуля с учетом предъявляемых к...
-
Для программирования агентов могут применяться: универсальные языки (Java, C++ , Visual Basic и др.), языки представления знаний (SL, KIF), языки...
-
2.1 Среды разработки для построения программных агентов Инструментальные средства разработки программных агентов формируют среду, которая оптимизирована...
-
Для создания программных агентов используют языки описания и реализации, которые удобно представить в виде многослойной структуры, включающей пять слоев:...
-
Обоснование выбора средств для разработки В качестве платформы была взята платформа NET, потому что платформа NET на текущий момент самая передовая и...
-
Для того, чтобы вынести решение об оправданности или неоправданности внедрения автоматизированного тестирования вместо ручного, необходимо...
-
В течении года от команды разработчиков пришло 6 пакетов, содержащих изменения в ядре программы. Для каждого пакета составлялось в среднем от 1-ого до...
-
Постановка задачи на разработку программного обеспечения Для того чтобы предлагаемая схема была интегрирована в САПР, который не имеет функции интеграции...
-
Преимущества, которые дает тестировщику автоматизация тестирования: - Исключен "человеческий фактор". Существует некоторая гарантия того, что не один...
-
Эмуляция карт в Android основана на сервисах (класс Service). Преимуществом использования сервисов является отсутствие необходимости запускать...
-
Коммуникация между клиентом и сервером начинается прежде всего с "рукопожатия" ( SSL Handshake). Цели данного рукопожатия, следующие [10]: 1. клиент...
-
Анализ безопасности - Программное обеспечение для пропускной системы на основе технологии NFC
Для обеспечения безопасности системы было решено использовать протокол HTTPS для связи клиента и сервера. Использование протокола HTTPS для коммуникации...
-
В этой главе представлено описание инструментов и методов, использованных при написании кода программы. Инструменты разработки серверной части Для...
Платные услуги для ПО с открытым исходным кодом - Свободное программное обеспечение