Два кита в трех соснах или как поставить пингвина на ноги


12567033fd374e00bdc715a18f055169.jpg
Сначала небольшое введение, и да простят меня искушенные пользователи за некоторые упрощения.
Разработка свободного программного обеспечения вообще и под GNU Linux в частности стоит в настоящее время на двух китах — GNU и Linux.

  • GNU устами Ричарда Столлмана пропагандирует свободное создание, изменение и выполнение программного кода, свободное ПО, юридически он выражен в лицензии GPL
  • Linux, руками программистов Линус Торвальдса, создает среду, систему в которой этот свободный код выполняется.

Основа философии СПО в том, что человек может использовать как хочет все богатство созданного до него свободного программного кода, но при этом должен (по лицензии GPL) делать свободными и свои наработки.

Программировать интересно, интересно и делать что-то «за идею». Основной принцип — «С миру по нитке, голому — рубашка», каждый может в свободное время чуть-чуть посоздавать общую систему и в результате количество свободного кода все увеличивается, GNU Linuх растет и крепнет… только вот конечные пользователи до сих пор, через 30 лет после появления идей свободного ПО, в основном работают с проприетарными несвободными программами даже в андроиде, который «внутри» — вполне линукс.
В чем причина?


В чем причина того, что в линуксе сейчас десяток графических оболочек, но ни одной рабочей свободной программы типа «Торговля и склад»?
Для этого нужно вспомнить для кого и за чей счет в настоящее время создается свободное ПО и дистрибутивы Linux.

  • «Для идеи» — за счет идеологически упертых любителей свободного ПО, очарованных идеями Столлмана. Особенно много таковых среди студентов, но когда появляется жена и дети очень трудно вместо семьи тратить время на других, далеких людей, пусть даже и за идею. Путь Иова, сохранившего веру несмотря на все невзгоды не для всех, не все могут быть святыми. И создатели свободных программ «перегорают» и теряют интерес, проекты GNU-программ закрываются. Но даже если такой проект продолжает существовать, в нем обычно важнее «идейность» чем «удобство пользования», он не для обычных пользователей — для идейных. Не для всех. «Все» обычно почти сразу кричат «КАК ВЫЙТИ ИЗ ВАШЕГО VI?»
  • «Для себя» — за счет любителей построить собственную песочницу — вселенную, «программирование для удовольствия» Это очень интересно — сделать свою программу или систему, так, как хочется тебе! Сам по себе этот интерес неплох, но приводит он к огромному количеству недоделанных программ и дистрибутивов Linux, к разъединению усилий. А желание сравнить свою песочницу с другими — и к гордыне и ругани на форумах, т. к. в отсутствие честного механизма сравнения, которым в обычном мире являются продажи, начинают работать субъективные, личные пристрастия и «громкость кричания». Также в этой парадигме программисты делают системы «под себя», а не «для пользователей» при этом достаточно легко делаются архитектурные вещи, но очень часты проблемы с эргономикой и начальными настройками, с дизайном и справкой. Все это позволяет сделать ядро, но не позволяет создать достаточное количество качественных и документированных программ для конечного пользователя, не позволяет обеспечить их поддержку достаточное время.
  • «Для корпораций» — за счет корпораций. Да, финансирование, полученное от крупной корпорации под какой-то ее проект позволяет сделать и красивую, и вполне удобную систему. Но эта система будет сделана для корпорации-заказчика (какая уж тут свобода) и в любой момент финансирование может быть прекращено т. к. в общем случае линукс-разработки сами по себе прибыли не приносят, их, «благодаря» GPL, очень трудно продавать.

Таким образом, можно сказать что причина «застоя» в разработке свободного ПО для конечных пользователей, «для десктопа» — отсутствие связи между разработчиками СПО и конечными пользователями. Блуждая в трех соснах СПО-разработка никак не доберется до интересов пользователя, а ведь он в конечном итоге должен бы стать заказчиком разработки. Стандартный рыночный механизм — «сделал-продал» в случае с GPL не работает — как можно продать пользователям то, что можно скопировать забесплатно?

Что делать с задачей, которая не имеет решения? Переформулировать условия.
Давайте уйдем от модели «производитель — потребитель»


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

Но оставим пока все цифровые медиа, поговорим только о программах под GPL. А еще — о деревенской свободе.

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

Как сделать их разработчиков свободными не только идеологически, но и финансово? Для этого нужно, чтоб пользователи могли участвовать в разработке не только багрепортами и фичреквестами, а финансово, чтоб они могли платить программистам и сборщикам-тестерам.

За что? Не за простое копирование ранее сделанной работы, нет!
Оплата должна производиться за реальную работу — за наращивание функционала. Это честная работа, результаты которой идут всем — как с той дорогой, по которой ездят далеко не только те, что оплатили ее строительство.

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

Добавляя к свободному программированию и свободной среде выполнения свободное финансирование изменений можно исправить слабые места СПО (допиливание и багфиксинг с эргономикой) и полностью изменить психологию создания программ.

В предлагаемой парадигме:

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

Почему этого не было сделано раньше? Без развитых средств коммуникации это было невозможно! Подобные системы в других областях сейчас появляются одна за другой, например сервисы такси типа Uber (яндекс-такси, такси максим) или клиенты кикстартера. В СПО-разработке такую модель использует, например, проект OpenShot

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

Еще одна похожая модель — «совместные покупки», когда пользователи объединяются в группы на форуме и заказывают какие-то товары по оптовой цене.


В реальном мире можно купить готовую одежду или заказать ее «под себя» и — только для себя. Но возможности цифрового копирования позволяют или выбрать из многих вариантов сделанных до этого — «за бесплатно», или же вложиться и сделать свой — для себя и для всего благодарного человечества. В ближайшем будущем 3D принтеры позволят сделать это со многими вещами из реального мира, ведь если копирование свободно, достаточно один раз придумать!

Уже сейчас это можно сделать в разработке свободного ПО.

Важно, что в предлагаемой парадигме:

  • Людям выгодно объединяться в сообщества для совместного заказа нужных им разработок. Это здорово — вместе делать что-то полезное для всех.
  • Каждый может найти свое место в разработке — от кодирования и дизайна, до организации или финансирования. От каждого — по способностям.
  • Участники системы получаются независимы от кредитов, корпораций, рекламных отделов и пиар-менеджеров, они напрямую, без лишних посредников ищут и находят друг друга. Уберизация — в массы!

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

Третьим китом, который выправит рынок свободного ПО (ну и мир изменит, как без этого) очень возможно, станет платформа, которая сведет вместе заказчиков ПО и его разработчиков, логично включив процесс заказа в процесс разработки. Тот, кто первый запустит такую платформу, доделает до логического завершения то, что начали Столлман и Линус. И заработать на этом он тоже может — вполне честно беря свой процент за функционирование этой платформы по модели Kickstarter.

Каковы требования к такой платформе?

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

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


Возникает вопрос —, а кто будет формулировать заказы на изменение СПО и оплачивать их? Ведь конечный пользователь чаще всего хочет лишь большую красную кнопку нажать и «сделать все хорошо». Кто эти люди, которым нужны изменения кода и которые готовы за них платить?
Эти люди — айтишники, администраторы и настройщики, те, кто сейчас ходят сидят за компами или ходят по городам и весям, настраивая windows (и даже иногда linux) и получая за это деньги. Сейчас они разобщены, работают во славу западных корпораций или пиратят — и никто лучше этих людей не знает потребности конечных пользователей. Если у айтишников будет возможность своими силами или деньгами изменять ПО под потребности их пользователей и делиться этими изменениями под GPL, мы получим ни много ни мало — инфраструктурное решение проблемы ИТ безопасности общества. Действительно, тогда ПО превратится не в товар, как сейчас —, а в инфраструктуру типа дорог или электричества, общую для всех, собирающую общество в единое целое. При всем этом эта инфраструктура будет независима и от корпораций и от государственного финансирования, она будет дешевой за счет исключения дублирования и розничной наценки и там не будет рекламных баннеров, пропаданий кнопки «пуск» и гонки версий ради версий.

Как это все может выглядеть?

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

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

© Geektimes