Закрытое программное обеспечение. Проприетарные операционные системы. Открытая реляционная база данных Base

  • 17.04.2019

Сучасні інформаційні технології/3. Програмне забезпечення

Черненко С.В., Авраменко Н. А.

Автомобильно-Дорожный Институт ГВУЗ «ДонНТУ»

ЗАКРЫТОЕ, ОТКРЫТОЕ И СВОБОДНОЕ ПРОГРАМНОЕ ОБЕСПЕЧЕНИЕ – ОСНОВНЫЕ РАЗЛИЧИЯ И ТЕНДЕНЦИИ РАЗВИТИЯ

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

В последнее время выделяют два наиболее значительных и в то же время принципиально различных направления развития ПО – закрытое и открытое.

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

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

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

«Свободные» лицензии (Open Source , General Public License , Berkeley Software Distribution и др. ) предоставляют пользователям широкую свободу в использовании и модернизации продукта и его кода, однако сохраняют за разработчиком определенные права (на пример, требование ссылаться на первоначального разработчика, при модификации программного кода, право на продажу разработчиком исходного кода для коммерческого использования и т.п.) .

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

Последние тенденции в развитии ПО наглядно демонстрируют, что закрытый софт может быть бесплатным и свободным для использования и распространения (Freeware программы), а открытый и свободный – широкоиспользоваться в коммерческих целях (например, коммерческая поддержка свободного ПО и т.п.). Так, многие компании, особенно молодые, предлагают пользователям бесплатные упрощенные версии своих программных продуктов (являющиеся закрытым ПО) с целью привлечения внимания к более функциональным платным версиям (среди них Avira Software , IObit Software , Alwil Softvare и др.) . И наоборот, разработчики платных коммерческих приложений широко используют в своих разработках открытые исходные коды. Яркий пример тому – реализация протокола TCP / IP распространяемая по «свободной» лицензии BSD , была успешно использована в операционной системе Microsoft Windows .

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

Литература:

1. http :// news . belta . by / ru / news / archive ? date =26_06_2008& page =1& id =23820

Чтобы понять, что означает для нашей организации использование программного обеспечения с открытым / закрытым исходным кодом, необходимо понять, чем они отличаются друг от друга. В этой статье указываются основные различия, однако помните, что это очень упрощенное объяснение. Дополнительную информацию можно почерпнуть из Wikipedia или ознакомившись с конкретными примерами использования обоих видов программного обеспечения.

Прежде всего, программного обеспечения с открытым исходным кодом подразумевает, что мы можем изменять и разрабатывать нашу программу, коль скоро у нас хватит для этого знаний и квалификации. Напротив, самостоятельно изменить программу с закрытым исходным кодом невозможно, так как исходный код программы / приложения недоступен. Хотя не все из нас программисты, мы тем не менее можем извлечь пользу от работы с ПО с открытым кодом.

Такое программное обеспечение предоставляется пользователям бесплатно, причем не только программы, но и операционные системы. Оно создается и разрабатывается самими пользователями, которые выкладывают свои создания в Интернет. Наиболее популярные программы регулярно обновляются, так как их использует множество людей. В качестве примера можно привести Mozilla Firefox или Thunderbird. Если программа не обновляется регулярно, возможно, для этого не хватает необходимых технических ресурсов – весь вопрос в том, сколько у программы пользователей. Высокая частота обновлений является определенным гарантом безопасности использования программы. Хотя, если после установки обновления выясняется, что программа не работает (например, в новой версии операционной системы не поддерживается Skype), есть два пути решения проблемы: попытаться найти помощь на форумах в Интернете или устранить проблему самостоятельно, что относительно трудно.

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

Некоторые разработчики ПО поддерживают общественные организации и предлагают им программы бесплатно или со скидкой через соответствующие некоммерческие организации, например, через широкую партнерскую сеть TechSoup, участники которой находятся в разных странах. В России программу осуществляет Теплица социальных технологий (ООО "Спиро"). Обратившись к программе инфоДонор вы можете выяснить может ли ваша организация участвовать в программе. Также следует помнить, что когда мы выбираем операционную систему, мы заодно выбираем и способ работы в нашей организации. Например, если мы выбрали Linux, мы не сможем использовать решения Adobe, а если мы выбрали Windows, нам придется приобрести лицензии по числу компьютеров. В каждом случае есть свои плюсы и минусы. Нужно тщательно продумать, что именно требуется нашей организации, каковы критерии эффективного использования оборудования, и принимать решение после основательного анализа.

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

Проприетарное программное обеспечение (англ. proprietary software) это программный продукт владельцем и собственником которого является его разработчик или другой владелец авторского права, и которое не соответствует идеалогии свободого программного обеспечения и не является полусвободным программным обеспечением.
При этом владелец авторского права имеет монопольное право на модификацию, копирование, распространение и использование этого программного обеспечения.

Однако несмотря на это определение, проприетарным программным обеспечением все равно называют все несвободное и полусвободное программное обеспечение. Хочется отметить что коммерческое программное обеспечение может быть свободным, но не стоит путать с ним проприетарные программы.

Проприетарное программное обеспечение

Фонд Свободного Программного обеспечения определил значение проприетарного программного обеспечения как программные продукты которые не является посвободными или свободными. Единственный, кто осуществляет полный контроль над проприетарным программным обеспечением это владелец авторского права на него.

Ограничения программного обеспечения

Копирование и модификация программного обеспечение ограничивается как техническими средствами, так и с помощью правовых норм.

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

Современные способы ограничения проприетарного программного обеспечения

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

Ограничение на коммерческое использование

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

Ограничение на распространение

В случае приобретения программных продуктов с оплатой за каждую его копию, поставка подобных программ совпровождается лицензионным соглашением, в котором ограничивается распространение этого программного обеспечения. Основная направленность данных ограничений это "профессиональная" часть рынка программного обеспечения или необходимые решения для большинства пользователей. Самыми яркими представителями таких программных продуктов являются Microsoft Office, Adobe Photosop, Windows.

Ограничение на внесение изменений

Лицензионное соглашение каждого программного продукта с закрытым исходным кодом всегда содержит в себе полный запрет на декомпиляцию и модификацию программного кода при любых обстоятельствах.

Проприетарные форматы

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

Проприета́рное , частное или собственническое программное обеспечение (англ. proprietary software) - программное обеспечение, являющееся частной собственностью авторов или правообладателей и не удовлетворяющее критериям свободы ПО (речь именно о свободе, а не просто открытости ПО) и, с позиции Фонда свободного ПО, при этом не являющееся полусвободным ПО. Правообладатель сохраняет за собой монополию на его использование, копирование и модификацию, полностью или в существенных моментах. Часто проприетарным называют любое несвободное ПО, включая полусвободное .

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

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

Полусвободное ПО

Несвободное ПО, которое разрешает практически неограниченное использование, распространение и изменение (в том числе с распространением изменённых версий) ПО в некоммерческих целях, Фонд СПО называет полусвободным. Как и Open Source Initiative и Debian, Фонд СПО считает данные условия неприемлемыми для свободного ПО, но отличает полусвободное ПО от собственнического. «Проприетарное ПО» и «полусвободное ПО» вместе называются «несвободным ПО».

Средства ограничений

Предотвращение использования, копирования или модификации могут быть достигнуты правовыми или техническими средствами.
Технические средства включают в себя выпуск только машинно-читаемых двоичных файлов, ограничение доступа к читаемому человеком исходному коду (закрытый исходный код), затруднение использования собственноручно сделанных копий. Доступ к закрытому коду обычно имеют сотрудники компании-разработчика, но могут применяться и более гибкие условия ограничения доступа, в которых предоставление исходного кода разрешено партнёрам компании, техническим аудиторам или другим лицам в соответствии с политикой компании.
Правовые средства могут включать в себя коммерческую тайну, авторское право и патенты.

Типичные ограничения проприетарного ПО

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

Ограничение на коммерческое использование

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

Ограничение на распространение

Этот вид ограничений сопровождает обычно крупные программные проекты, когда правообладатель требует оплаты за каждую копию программы. Обычно с таким ограничением используются программные продукты, ориентированные на узкий «профессиональный» сегмент рынка или у программного обеспечения, требующегося большому числу пользователей. Примером может служить пакет программ Adobe CS3 или операционная система Microsoft Windows XP.

Ограничение на модификацию

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

Проприетарные форматы

Проприетарное ПО может работать с собственными форматами, никем другим не поддерживаемыми. Зачастую эти форматы чрезвычайно сложны или даже зашифрованы, а их распознание - незаконно. Пример: если записать музыку с компакт-диска на винчестер средствами Windows XP, получаем WMA с защитой от копирования. Некоторые разработчики называют «интероперабельностью» обмен данными с другими программами из того же пакета, что само собой разумеется (в действительности интероперабельность - способность программы обмениваться данными с ПО сторонних производителей). В результате может возникнуть замыкание на поставщике (vendor lock-in).

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

Наша компания участвует в открытых проектах с 2005 года – и благодаря разработке собственных open source решений (проекты OpenVZ , CRIU), участвуя в других открытых проектах (QEMU , OpenStack , libvirt , libcontainer , и т.д.). За 10 лет мы собрали несколько наиболее распространённых мифов об открытом программном обеспечении. Я расскажу про каждое из заблуждений и объясню, почему оно ошибочно. Наверняка, вы вспомните еще столько же, но, на мой взгляд, эти пять самые «адовые».


Проект с открытым исходным кодом это открытый проект.

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

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

Главный принцип открытого ПО – открытая совместная разработка – сам по себе является залогом того, что некачественный код, костыли и заплатки попросту невозможно будет скрыть от других участников. Человек, участвуя в такого рода проектах, готов к тому, что его работа будет подвергнута и анализу, и критике, а, значит, халтурить не будет. На кону его репутация, а её терять никто не хочет.

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

То есть открытый проект действительно даёт возможность любому человеку принять участие в написании кода, но в серьёзных проектах из-за высокого порога вхождения код не будет принят от людей с недостаточным уровнем экспертизы.
В большинстве крупных ИТ-компаний (IBM, Google, Canonical, Parallels и т.д.) есть целые департаменты, в которых специалисты получают зарплату за то, что работают над проектами с открытым исходным кодом и таким образом косвенно работают над продуктами компании.

Отдельно стоит упомянуть, что компании, которые разрабатывают продукты на базе открытых проектов, в ходе тестирования заинтересованы в улучшении кода открытых проектов, которые они используют. Поэтому все обнаруженные проблемы необходимо исправлять и добиваться, чтобы это исправление было добавлено в основную ветку проекта, чтобы иметь как можно меньше отличий в своём коде и коде открытого проекта. Наши продукты используют код других открытых проектов, поэтому проблемы, найденные в коде этих проектов, мы исправляем и отправляем в upstream. Так было с уязвимостями в ядре RHEL: Red Hat отметил Владимира Давыдова за обнаружение серьезных уязвимостей CVE-2014-0203 и CVE-2014-4483 в одном из обновлений ядра RHEL6 (вторая проблема, кстати, была найдена с помощью одного из наших автоматических тестов, использующих Linux Test Project). Василий Аверин получил благодарность за обнаружение ошибки CVE-2014-5045 , Дмитрий Монахов – за CVE-2012-4508 . Факт хорошего тестирования Linux-ядра был даже отмечен Эндрю Мортоном (кто это?): “Мне интересно. За последние несколько месяцев люди из @openvz.org нашли (и исправили) кучу непонятных, но серьезных и довольно древних багов. Как вы обнаружили эти баги?”

Итог

На самом деле все перечисленные мифы возникают по большей части у пользователей, которые либо только начинают работать с OpenSource ПО, либо не пробовали этого делать вообще. Лучший способ избавиться от предубеждений – начать вплотную работать с такими решениями.
Мы недавно новой версии нашего продукта Virtuozzo 7. Если вы также заинтересованы в создании лучшей технологии контейнерной виртуализации, то