Управление организационным поведением работников предприятия. Ю

Все программное обеспечение на LiveCD и DVD является свободным программным обеспечением с открытым исходным кодом (свободное и открытое ПО), с некоторыми исключениями (Flash, Opera, Acrobat Reader и другие) расположенные в репозитории non-oss . Когда мы говорим о свободных программах , мы имеем в виду свободу, а не цену .

Что такое свободное программное обеспечение (free software)

Движение в поддержку свободного программного обеспечения было начато Ричардом М. Столлманом, основавшем проект GNU (рекурсивный акроним: GNU"s Not Unix) в 1984 году. Годом позднее им же был основан Фонд свободного программного обеспечения (Free Software Foundation, известный также как FSF).

Свободные программы можно разделить по 4 основным "степеням свободы":

  • Свобода использования программы любым способом.(свобода 0)
  • Свобода изучения принципов работы программы, а также адаптирования ее для своих нужд.(свобода 1) Для этого необходим доступ к исходному коду.
  • Свобода распространения копий программы. Вы можете поделится с соседом. (свобода 2)
  • Свобода улучшать программу и опубликовывать внесенные вами улучшения, для пользы всего сообщества (свобода 3). Для этого необходим доступ к исходному коду.

Несвободное программное обеспечение называется собственническим (проприетарным, от "proprietary"). Важно не путать условно-бесплатные и бесплатные(freeware) программы со свободными, это разные вещи.

Что такое Программное обеспечение с открытым исходным кодом (Open Source Software)

Движение в поддержку свободного программного обеспечения с открытым исходным кодом началось в начале 90-х годов людьми, придававшими особое значение технической и экономической выгоде от использования открытого кода и открытой модели разработки свободных программ. Тем не менее, есть небольшое количество программного кода, признанного обществом открытого кода свободным, поэтому часто применяется термин FOSS (бесплатное и свободное программное обеспечение с открытым кодом). Ибо, строго говоря, понятия "свободное программное обеспечение" (Free Software) и "программное обеспечение с открытым исходным кодом" (Open Source Software) вовсе не тождественны, как можно подумать. Например, лицензионный договор программного продукта может разрешать исследовать его исходный код, при этом запрещая вносить в него изменения и/или распространять его копии. В этом случае продукт является открытым (Open Source), но не является свободным (Free).

Выгоды от использования свободного программного обеспечения

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

Исправление ошибок

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

Совместное использование

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

Знать и контролировать то, что и как делает программа

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

Технические выгоды

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

Экономические выгоды

Свободное программное обеспечение предоставляет компаниям возможность разделить между собой стоимость разрабатываемого программного обеспечения. К примеру, компании Novell и RedHat соперничают в разработке одинаковых программ, но тем самым помогают друг другу. IBM и HP также являются конкурентами, но они тоже внесли свой серьёзный вклад в разработку ядра Linux, тем самым разделив затраты на разработку. Свободное программное обеспечение позволяет иметь конкурентоспособный рынок технической поддержки, и потому качество её, как правило, весьма высокое. С собственническим программным обеспечением ситуация прямо противоположная: только компания-разработчик имеет доступ к исходному коду и способна предложить соответствующую техническую поддержку, и в этом проявляется некоторая степень монополиста. Кроме того, к экономическим выгодам необходимо отнести вопрос стоимости приобретения программного продукта. В том случае, если он является свободным, вы можете один раз скачать его копию из Интернета (или приобрести на твёрдом носителе), установить его на любое число компьютеров и использовать его неограниченное время. Если же продукт собственнический, то условиями лицензионного договора использование продукта может быть весьма сильно ограничено (например, с ограничением числа установок и/или времени использования).

Я не программист. Почему меня должно волновать вышеизложенное?

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

Программное обеспечение с открытым кодом имеет своих почитателей, а в последнее время если речь заходит о разработке каких-то «национальных» продуктов, так в основном 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. Если вы также заинтересованы в создании лучшей технологии контейнерной виртуализации, то

С помощью open source проектов можно усовершенствовать свои навыки, исправляя чужие ошибки и создавая что-то новое. Можно найти проект, который будет полезен и для собственного бизнеса, например, в медицине или e-commerce. Кроме того, как практикующие программисты, один из лучших способов мотивировать себя на занятия программированием - это работа с open source проектами. Специально для читателей блога Geekbrains мы собрали список таких проектов из разных сфер деятельности:

Пакет программного обеспечения для работы с медицинскими изображениями. 3D Slicer доступен на нескольких платформах, в числе которых Windows, Linux и OS X.

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

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

Платформа для управления контентом, на которой работают миллионы веб-сайтов и приложений.

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

Свободная операционная система типа Unix.

Офисный пакет для совместной разработки с функционалом, как у Microsoft Office или OpenOffice.org.

Система для создания курсов. Бесплатное веб-приложение, которое преподаватели могут использовать для создания эффективных Интернет-сайтов для обучения. Moodle стала очень популярной среди педагогов по всему миру в качестве инструмента для создания динамических веб-сайтов для своих студентов.

ПО для создания и управления обучающим аудио и видео контентом.

Мультиплатформенная система управления корпоративным контентом написанная на Java. Работает с несколькими базами данных (в том числе MySQL, Oracle, PostgreSQL, SQLLite, и другие), а также поддерживает несколько методов аутентификации.

Софт для создания частных и общественных облаков.

Сервис позволяет создавать опросы и делиться с контактами на сайте. Удобный способ собирать данные для их последующего анализа.

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

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

  • создание отчетов
  • анализ
  • сбор Данных
  • платформа бизнес-аналитики

Java™ разработчики могут использовать компоненты проекта для быстрого создания собственных решений для бизнес аналитики.

Модульная open source система управления цифровыми данными.

Бесплатный софт для e-commerce.

Библиотека для быстрого фильтрования и сортировки больших коллекций - до 100000 элементов в браузере.

Языки c open source

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

R - открытый язык программирования и программная среда для статистических расчетов и графики. Язык R широко используется среди статистов для разработки статистического программного обеспечения и анализа данных.

Где найти больше open source проектов?

Один из самых крупных веб-сервисов для совместной разработки IT-проектов. Абсолютно бесплатен для open source проектов. Девиз сервиса “Social coding” можно перевести, как “Кодим вместе”.

Предназначен популяризовать open source проекты. С помощью инструментов, которые там предоставлены, разработчики создали мощное программное обеспечение в более чем 430,000 проектах; на ресурсе более 3,7 млн зарегистрированных пользователей. Популярный каталог объединяет более 41,8 млн клиентов с проектами open source и обслуживает более 4800000 скачиваний в день.

Цель Fossdroid - продвигать open source приложения на Android с помощью проекта F-Droid. Fossdroid берет свои данные из F-Droid и организует приложения в порядке, похожем на Google Play, с возможностью просмотра их по популярности.

Как узнать является ли ПО open source и каковы правила его использования?

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



Поделиться