Для начала небольшое напоминание мат.части. Согласно философии ФСПО, программа свободна, если предоставляет пользователю 4 свободы:
- выполнять её для достижения своих целей
- изучать и модифицировать
- распространять копии
- распространять внесённые изменения
При ближайшем рассмотрении становится ясно, что перечисленные свободы являются хоть и важными, но не равнозначными. Если расставить их в порядке убывания значимости, получится нечто вроде 1-3-2-4 или 1-2-3-4 (у Столлмана нумерация с нуля, но не суть). Если я не могу выполнять программу для достижения нужной мне цели, для меня она полностью бесполезна. Изучение и модификация может быть полезна и способствовать достижению цели, но лишь при наличии соответствующих навыков и интереса. Распространение также приносит мне пользу, но уже косвенную, в виде помощи другим участникам сообщества или в виде улучшений, внесённых другими, которые могут быть потенциально полезны в том числе мне, при наличии возможности их распространять.
В свете сказанного напрашивается идея модифицировать существующую концепцию. Вместо принципа «всё или ничего» дополнительно разграничивать софт, не соответствующий всем сразу четырём критериям. Также не стоит забывать, что для любого человека его собственные потребности и желания являются первичными. Если какая-то моя конкретная потребность не может быть покрыта средствами открытого ПО, но может средствами закрытого, то «с моей колокольни» использовать закрытое решение будет наименьшим злом. Разумеется, с соблюдением необходимых мер предосторожности. Поскольку в самом общем случае закрытая программа является «чёрным ящиком», делающим непонятно что, разумным будет обеспечить полный контроль над всеми входами и выходами из этого «ящика», попутно сократив их количество до минимума. Иными словами, запустив закрытую программу в открытой песочнице. Разумеется, в случае свободного ПО во всех этих плясках нет необходимости, поэтому при прочих равных свободная альтернатива является более предпочтительной (хотя на тему методов обхода свобод пользователя, оставаясь де-юре в рамках свободного ПО, я как-нибудь ещё напишу отдельную простыню). Кроме того, необходимость разработки этой альтернативы не становится меньше. Как и отсутствие интереса в развитии несвободной - какой смысл вкладываться в мусорное ведро?
Суммируя всё сказанное, можно сформулировать правильную (на мой взгляд) концепцию построения ОС, направленной на максимальное соответствие потребностей её пользователя. Все базовые компоненты - исключительно СПО, с исчерпывающей документацией, состоящие из максимально простых компонентов, доступных для понимания максимально широкой аудитории (пресловутый UNIX-way, да). Прикладные программы - СПО, наряду с возможностью использовать проприетарный софт, причём запуск проприетарного в безопасном контейнере и прозрачный контроль «входов и выходов», а также маркировка степени соответствия критериям СПО - обязательная возможность, предоставляемая базовыми компонентами системы. Такая вот свобода вместо швабодки.
Ну, и заключительная часть сегодняшнего Марлезонского балета. Существуют ли дистрибутивы (не обязательно линукса), руководствующиеся такой концепцией? Если нет, насоветуйте годных материалов для изучения, помимо LFS :3
Антракт.