Два кита



Сначала небольшое введение, и да простят меня искушенные пользователи за некоторые упрощения.
Разработка свободного программного обеспечения вообще и под 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-шников, как в сегодняшнем мире СПО.

Комментарии (30)


  1. amarao
    04.05.2016 14:54
    +2

    Сделаем поправочку на умирающий десктоп. Он всё ещё богатый и фичастый, но всё большую часть отъедают saas'ы, которым пофигу на ОС, но важен браузер.


    1. keleg
      04.05.2016 15:06

      да, это важный вопрос — и тема для отдельной статьи. СПО-разработка saas тоже ведь возможна и предоставляет интересные возможности.


      1. amarao
        04.05.2016 15:47
        +6

        С одной стороны возможна, с другой стороны, saas слишком соблазниелен для закрытия. Уникальная фича — и клиенты от тебя уже никуда не уйдут, потому что у тебя не только форматы, но и данные клиентов.

        У меня есть ощущение, что opensource тут в куда менее выигрышном положении, чем в войне десктопов. И это печалит, потому что я _УЖЕ СЕЙЧАС_ ощущаю острую проблему с saas'ом, который имеет мои данные, но сервисы которого можно использовать только специальным образом.

        Распознавание голоса? Только как сервис. Кода нет и не будет. Построение машрута в картах с учётом данных о пробках? Только в онлайне. Кода нет и не будет.

        Распознавание лиц? ТОлько saas.

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

        И он весь — saas. Когда даже блоба нет для reverse engineering'а. То есть сейчас ситуация становится более плохой, чем даже в самые злые MS-времена образца конца 90ых/начала 2000ых.


        1. Gorthauer87
          04.05.2016 17:18

          Тут мне кажется, спасет только отсутствие монополий на рынке saas, да и для некоторых saas решений таки нужны большие вычислительные мощности, тут даже если вся платформа полностью опенсорсная и вся из себя открытая, то так или иначе мы попадаем под зависимость от вендоров с наибольшим вычислительным ресурсом.
          То есть всё ещё хуже.


          1. keleg
            04.05.2016 17:34

            выход может быть в свободных кластерах.


            1. Gorthauer87
              05.05.2016 13:22

              А кто их оплачивать будет? Это вообще не выход, а утопия.


              1. keleg
                05.05.2016 13:25

                вики ж работает как-то, при сумасшедшей нагрузке?


                1. Gorthauer87
                  05.05.2016 15:52

                  А кто кроме них? Гитхаб проприетарный, всякие дропбоксы и фликры тоже. В итоге, по видимому, такими как вики могут быть только уж совсем жизненно важные вещи.


    1. specblog
      04.05.2016 15:32

      То есть в будущем многие корпоративные рабочие места можно будет оснащать одноплатным компьютером с нормальной видеосистемой и Линуксом.


      1. amarao
        04.05.2016 15:42
        +2

        … на самом деле всем будет пофигу что там. Там будет Linux, но не gnu. Google куда более злой враг gnu, чем текущая версия microsoft, а значит, воевать с ним будет сложнее.


        1. keleg
          04.05.2016 15:44

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


          1. amarao
            04.05.2016 15:48

            Дело не только в инфраструктуре. Не придумано ни одного этически разумного решения, которое может заставить кого-либо раскрыть алгоритм за стенками saas'а.


        1. specblog
          04.05.2016 16:26

          А почему там будет гугл?


          1. amarao
            04.05.2016 16:34
            +7

            Потому что гугл строит самую закрытую в мире экосистему. Никогда такого масштаба закрытости ещё не было. Пользователи намертво завязаны на их данные на серверах гугла, операционные системы — на API с серверов компании, что даёт гуглу право выпихивать конкурентов не только посредством «закрытия платформы», но и явного принуждения вендоров к исключению конкурентов. В отличие от «самозамкнутой» apple, google пролезает с закрытой функциональностью даже в opensource. Тот же chromium — перевод страницы не работает без серверов google. При том, что это функционал открытого ПО. app store (или как там его называют в хроме) — единственный метод управления дополнениями к браузеру.

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

            Масштабы развивающейся хаккерской катастрофы нам ещё предстоит оценить…


  1. Vjatcheslav3345
    04.05.2016 15:52

    Я однажды уже писал (https://geektimes.ru/post/274506/#comment_9186008), что государство обязанное помогать людям с ограниченными возможностями может и должно заказывать и оплачивать внесение изменений, приспосабливающих СПО к их нуждам — это соответствует законодательным нормам РФ и компании-разработчики, индивидуальные разработчики, должны пользоваться таким механизмом.

    Прочие моменты, когда государство можно привлечь к разработке СПО, регулируются документами:
    — Приказ Минкомсвязи России «Об утверждении Методических рекомендаций по использованию свободного программного обеспечения в деятельности федеральных органов исполнительной власти, включая критерии определения государственных информационных систем, при создании которых необходимо использовать свободное программное обеспечение, в том числе государственных информационных систем, предназначенных для оказания государственных и муниципальных услуг в электронном виде»
    — Распоряжение 17 декабря 2010 «О плане перехода федеральных органов исполнительной власти и федеральных бюджетных учреждений на использование свободного программного обеспечения (2011 — 2015 годы)»
    Источник: http://www.minsvyaz.ru/ru/activity/directions/106/
    Ну и наконец, можно продвигать аналогичные законопроекты через общественные организации, например (в Конституции есть же право граждан на информацию а программа — это разновидность информации).
    А ещё есть Федеральный закон от 21.12.1994 N 68-ФЗ (ред. от 15.02.2016) «О защите населения и территорий от чрезвычайных ситуаций природного и техногенного характера», требующий опровещения о ЧС, — которое должно в современном мире выполняться с помощью компьютеров и сетей…
    Не надо ждать, пока государство придёт к СПО — нужно самому идти к нему (и показывать выгоду от этого — https://geektimes.ru/post/275296/ (Счетная палата РФ скажет Вам «спасибо»)).


  1. miga
    04.05.2016 16:24

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

    Делясь, беднеть вы, конечно, не будете, но дело в том что вы уже затратили денег (и времени) на производство программы, графики, музыки и т.д. — любой информации. Собственно, все эти законы об авторском праве, патенты, DRM и все остальное — это всё (зачастую не идеальные) способы защитить право производителей информации на зарабатывание денег.


    1. keleg
      04.05.2016 16:52
      +1

      поэтому и предлагается финансирование разработки а не продажа «потом». Т.е. инвестирование а не продажа копий (см пример с OpenShot)


      1. Doktor_Gradus
        04.05.2016 18:01

        Если это инвестирование, значит, инвестиции надо возвращать.


        1. keleg
          04.05.2016 18:34

          да, инвестирующие получают продукт, остальное общество — улучшение инфраструктуры.


          1. Doktor_Gradus
            04.05.2016 19:22

            Тогда это не инвестирование, а краудфандинг.


            1. keleg
              05.05.2016 04:44

              не совсем т.к. объект краундфандинга после создания является инвестицией в общее пространство ИТ и не принадлежит жертвователям и создателю.


  1. Stronix
    04.05.2016 23:15

    ни одной рабочей свободной программы типа «Торговля и склад»

    Навскидку: OpenBravo, Warehouse Open, Unicenta, Adempiere


    1. keleg
      05.05.2016 04:47

      Свободные? Я не смог найти их в репозиториях https://pkgs.org/


      1. specblog
        05.05.2016 07:18

        https://sourceforge.net/projects/openbravo/files/02-openbravo-sources/3.0PR16Q1.1/
        Лицензию не смотрел.


  1. 0xd34df00d
    05.05.2016 01:48

    Не сработает для софта, разрабатываемого для себя.

    У меня есть опенсорс-проект свой. Я его пилю в свободное время, чтобы было, на чем поупарываться свежим C++ и пореализовывать монады в плюсах. Интересные задачи я с радостью делаю бесплатно, а неинтересные и за деньги не готов.


    1. keleg
      05.05.2016 04:48

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


    1. mickvav
      05.05.2016 16:02

      А если другой человек сделает за деньги то, что вам не интересно — патч примете? Тогда в чём проблема?


      1. 0xd34df00d
        05.05.2016 16:07

        Если он будет соответствовать по различным критериям от общей продуманности до стиля кода и так далее — да, приму.


  1. mbait
    05.05.2016 08:55

    Так и в чём суть? Оплата фичей — уже было несколько раз, не взлетело. Краудфандинг ПО — куча площадок (русскоязычных в том числе), не взлетело. Как правильно заметил 0xd34df00d — интересные программы пишут не за деньги, а для себя, а неинтересные и за деньги никто не будет разрабатывать. Я участвовал в одном открытом проекте, куда приходили люди со своими идеями и деньгами, но мейнтейнерам не особо было интересно, потому что у всех была постоянная, оплачиваемая работа.

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


    1. keleg
      05.05.2016 09:06

      Стоп. Я выше привел краудфандинг ПО который взлетел — OpenShot. Да, код на заказ стоит очень дорого (я даж считал как-то стоимость релиза нашего ROSA Linux) но и пользователей ПО тоже много. Начиная с некоторого количества это заработает — если хотя бы сотая часть тех, кто покупает готовые лицензии будет вкладываться в разработку свободного кода — взлетит. Но да, нужно менять сознание с кредитно-потребительского на инвесторское.