Про Linux (2020)
(вступительное слово для олимпиады «Траектория будущего»)
Содержание
Ядро Linux и дистрибутив Linux
- Linux — ядро
- Чуть-чуть истории (1991)
- Ядро, но не ОС
GNU (в частности, каталог программ
- ⇒ Свободная ОС, термин «GNU/Linux»
- Жизненный цикл (много разных авторов, у всех своя дисциплина разраболтки)?
- Понятие «дистрибутив»
- Чуть-чуть истории
Softlanding_Linux_System, первая ласточка (1992)
Не только ядро и GNU, но и вообще всё, что нужно из свободно лицензируемого
Патрик Фолькердинг и Slackware
- Регулярные выпуски, обновления (1993)
- Сообщество как основной разработчик и потребитель (начало 1993, стабильный выпуск в 1996)
- Взаимодействие бизнеса и свободного сообщества, удачная коммерческая модель свободного ПО/открытой разработки
2000-е: Тысячи их… (в. ч. ALT Linux Team, аккурат 2000-й)
Дистрибутив Linux, свободное лицензирование и сообщество
Лицензии на ПО
Очень приблизительно, не вникая в юридические тонкости:
Условия использования
- Если не противоречит УК, по российским законам можно всё)
Условия распространения
Правообладатель: тот, кто определяет условия распространения — исключительные права
- Некоторые исключительные права неотторжимы от автора
Распространитель — неисключительные права
Открытая разработка и свободное лицензирование
- Требования открытой разработки — «юридические» и технические:
- Неограниченный доступ к исходным текстам программ
- Отсутствие запретов на участие в разработке
- Как можно более широкое использование ПО
⇒ Свободная лицензия должна гарантировать не ограниченное ничем (кроме местных законов, разумеется):
- Право на использование
- Право на изучение и модификацию
- Право на распространение
Право на распространение модифицированных версий
Обратите внимание:
Ничего не сказано про дисциплину изменений (например, надо ли сохранять авторство? зависит от конкретной лицензии)
Ничего не сказано про деньги, однако запрет коммерческого использования — это прямое нарушение свободной лицензии
Ничего не сказало про передачу исключительных прав
⇒ Ещё один пункт, т. н. Копилефт — сохранение свободности лицензии:
Лицензия, под которой распространяется производный продукт, должна соответствовать всем пяти пунктам исходной лицензии
Организация дистрибутива
- Предпосылки: свободное лицензирование и открытая разработка
можно создавать публичный сборник ПО (в т. ч. улучшенных версий), т. н. репозиторий, делать из него любые программные решения и т. д.
принимать участие может любой
- Ресурсы сообщества:
- сборочные серверы
- элементы интеграционного тестирования, невозможные без центрального хранилища
- информационное пространство (отслеживание ошибок, wiki, соцсети, …)
- Роль сопровождающего (мейнтейнера):
(Ключевая роль в создании репозитория / дистрибутива)
- Взаимодействие с т. н. «апстримом» (авторами конкретного ПО)
- Адаптация к дисциплине сообщества и улучшение
Создание т. н. пакета
- Первоначальное тестирование
- «Дистрибутив ОС» — это
- Комплект пакетов (несколько тысяч)
- Программа-установщик
(вполне возможно) Коммерческие услуги
О структуре, жизненном цикле и особенностях свободного (на языке советской эпохи — «неформального») сообщества можно почитать у классиков «неформальной социотехники и альтернативной педагогики», как тогда приходилось называть внесистемную работу с молодёжью.
Сообщество ALT Linux Team и «Базальт СПО»
- 1998-2000: PLabs и Mandrake Russian Edition
- Образование собственной инфраструктуры разработки и сообщества вокруг неё
- 2000-2001: собственные дистрибутивы различных назначений
- 2002: ЗИС «Утёс-К»
С тех пор так и идёт
Современное состояние:
Поддержка девяти (это как считать, опять же) аппаратных платформ (intel и ARM — tier 1)
в т. ч. отечественных архитектур — Эльбрус, «Байкал», «ЭЛВИС» и т. д.
Более 17000 поддерживаемых в хранилище исходных текстов пакетов Sisyphus
Количество самих пакетов (бинарных) особого смысла не имеет — для различных аппаратных платформ и в различных поддерживаемых ветках они разные
Дистрибутивы различного назначения: рабочая станция, Сервер, сервер витуализации; для образовательного процесса
- Обучение, книги, семинары, конференции, …
Более 150 активных разработчиков в сообществе, данные по сообществу пользователей очень разные
- …
Специфика:
Параллельное развитие сообщества и коммерческой компании
Полностью открытая разработка и строгое ведение лицензионной политики пример
Контроль качества и технологические ресурсы репозитория
- …
Зачем нужен этот ваш (наш) Linux ?
Буду краток:
Ядро Linux — скорее всего более, чем на половине всех устройств, содержащих процессоры общего назначения (спасибо Android, но не только)
Операционная система на базе GNU/Linux — под неё всё равно придётся разрабатывать (хороший пример — клиенты востребованных мессенджеров и телеконференций)
А вот стать разработчиком дистрибутива GNU/Linux у вас шансы несравненно, чем стать разработчиком, не знаю, Mac OS X
ALT Linux Team и Базальт СПО
см. выше
- «Базальт» — чуть ли не единственная российская Linux-компания, чей бизнес основан на взаимодействии с сообществом