Linux Torvalds
Мы наблюдаем бум свободных проектов. В основном, благодаря Гитхабу. 23 декабря 2013 года на сервисе был создан 10-миллионный проект. К 23 декабря 2015 года количество проектов более чем утроится: прямо сейчас на Гитхабе 28 миллионов проектов.

Многих привлекает идея свободности, потому что она перекликается с идеей «улучшения мира», как основной мотивации продуктивной деятельности человека.

Но так как обычная работа программистов в конторах очень далека от open source, возникает вопрос, как кормиться (а желательно, и разбогатеть!), большую часть времени занимаясь свободными проектами.

Судя по последним вопросам на Тостере, у людей много ожиданий, но мало понимания в этой области. Поэтому я решил написать это эссе.

Само по себе выкладывание проекта не является улучшением мира


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

Вы выложили код. Чем вы помогли экономике в этот момент? Ничем, поэтому и миру вы пока ничем не помогли.

Ваш проект может спасать людей от рака, быть бесплатным, экономить миллионы долларов, и при этом быть закрытым.

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

Синергетический эффект свободного кода


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

Внимание. Это работает только при соблюдении следующих условий:

1. Пользователи вашего проекта (те, кому проект несет пользу) — программисты. Или, по крайней мере, существенная часть пользователей. Если вы написали замечательное приложение для домохозяек с рецептами пирогов, вы молодец, но домохозяйки не придут к вам на Гитхаб и не исправят баги в приложении.

Вывод: в свободности таких проектов, как мобильные приложения, сайты, игры, полезные программки на десктоп, софт для професионналов в областях, далеких от программирования, практически нет смысла.

2. Ваша система должна быть расширяемой, максимально дружелюбной к изменениям. На эту тему есть выдающееся выступление Гая Стила «Growing a Language» (смотреть можно с 6 минуты):

Одна из самых важных мыслей выступления: постарайтесь спроектировать систему так, чтобы функции, построенные [пользователями] поверх базовой функциональности системы, «выглядели» так же, как эта «родная» функциональность.

Вывод: уделите максимум внимания расширяемости и hackability проекта. Если это DSL, сделайте операторы перегружаемыми. Если это фреймворк, сфокусируйтесь на системе плагинов. И т. д.

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

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

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

Мысли вслух — а может, все потому, что Hotspot JVM написан на C++, а его пользователи — программисты на Java? Вот вам еще один вывод: если пишете компилятор, обязательно делайте раскрутку.

Впрочем, свободная среда разработки на Java IntelliJ IDEA Community Edition хоть и написана на той же самой Java, бесполезно почти. Проект слишком сложный, чтобы туда сунуться.

Проекты с очень хорошо работающим синергетическим эффектом:

Ядро Linux. Компании, системные администраторы и программисты улучшают ядро для себя, делая его лучше и для всех остальных.

Многие проекты фонда Apache.

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

Какие еще? Кидайте примеры в комментарии.

Открытый проект с требованиями по безопасности привлекает больше пользователей


Это польза экономике (если проект приносит пользу и у него больше пользователей, он приносит больше пользы), а так же вам, если вы хотите заработать на проекте (об этом ниже). Открытый код вызывает больше доверия: можно проверить проект на отсутствие закладок.

Шифрование, хранилка паролей, антивирус, программа, которой нужны админские привилегии и т. д.

Открытые проекты работают на имя


Не особо интересный момент. Может пригодится для устройства на обычную работу, но ведь от этого мы и хотели уйти, верно?) Для того, чтобы создать новый или развивать существующий открытый проект, никакого послужного списка не требуется.

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

Способы прогореть на свободном проекте


Пожертвования НЕ работают.

— Да, но мой замечательный проект…
НЕТ.

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

Most open source companies can't thrive by selling maintenance and support subscriptions. But the cloud may be the key to revenue generation.


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


Схема такая:

  1. Технология поддерживает ваш обычный бизнес.
  2. Технология выигрывает за счет своей свободности («синергетический эффект» и/или доверие к открытости).
  3. Бизнес выигрывает, потому что выигрывает технология.

А что если конкуренты тоже построят на моей технологии свой бизнес?

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

Что за бизнес?

  • Платные решения. Пример: компания Red Hat развивает свободный проект: операционную систему GNU/Linux. На основе свободного проекта GNU/Linux Red Hat делает платный продукт: Red Hat Enterprise Linux. GNU/Linux выигрывает за счет синергетического эффекта, опосредованно улучшая и RHEL.

    Открытое ПО ? свободное ПО. Если грубо, то свобода — это открытость плюс бесплатность. Поэтому изначально коммерческий, но открытый проект может выигрывать за счет «доверия к открытости», описанного выше.
  • Saas, дистрибуция. Пример: компания Docker развивает свободный проект Docker, в экосистеме которого живет коммерческое Saas-решение Docker Hub.

    Я не специалист по Докеру, поэтому буду благодарен, если кто-то поможет разложить по полочкам этот случай. Понятно, для чего нужна бесплатность базового Докера: пользователи подсаживаются на него, а потом начинают платить за Docker Hub. Но я не очень вижу, чем помогает открытость (+ бесплатность = свобода) Докера. С моей точки зрения, он не похож на этакую hackable платформу. Хотя, судя по тому, что в проекте больше 1000 контрибьюторов (очень много), таки ей является. Что туда контрибьютят? Вот эта тысяча человек пришла, и каждый исправил по одному багу? Или добавил какой-то плагин? Я не знаю. (Ну это же не про докерфайлы, да?)
  • Разработка на заказ. Тот самый банальнейший аутсорсинг, да-да. Пример: компания Chronicle Software развивает семейство свободных проектов Chronicle и выполняет на заказ разработку систем с использованием этих проектов.
  • Что еще? Давайте типы скучных бизнесов в комментарии.

Бизнес — не зло. Бизнес улучшает экономику > улучшает мир.



Деньги есть там, где есть оптимизация экономики, а не свободный код на Гитхабе. Используйте свободность ПО как инструмент для оптимизации экономики.

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


  1. capgelka
    15.10.2015 15:34
    +8

    Открытое ПО ? свободное ПО. Если грубо, то свобода — это открытость плюс бесплатность

    Если первая часть предложения верна, то пояснение — какая-то альтернативная терминология.

    Кажется в статье стоило бы заменить везде слово «свободный» на «открытый».


    1. leventov
      15.10.2015 16:00

      Наоборот, я вначале написал везде «открытый», а потом пошел по всей статье и заменил на «свободный».

      Людей особым образом привлекает либерализм лицензий. Они видят в этом особую «пользу миру». Хотя это не так.

      Зарабатывать на открытом коде очень просто: можно сделать открытый, но тупо платный код, для любого типа использования. А люди хотят зарабатывать на коде, который лицензирован под MIT.


      1. efedin
        15.10.2015 19:53
        +1

        Разве бывают OpenSource-лицензии, обуславливающие возможность использования кода предварительной оплатой?


        1. yatagarasu
          15.10.2015 20:34

          Лицензии бывают любые. Unreal Engine — пример коммерческого проекта с открытым кодом.


          1. efedin
            15.10.2015 20:42

            На мой взгляд, раздел General Restrictions из Unreal Engine EULA нарушает принцип «Отсутствие дискриминации по цели применения» определения Open Source, используемого Open Source Initiative.


            1. yatagarasu
              15.10.2015 20:49

              Возможно, но что из этого следует?


              1. khim
                16.10.2015 02:18
                +4

                Из этого следует что в России всегда идут путём Сусанина и понимают под терминами совсем не то, что под ними понимает весь остальной мир.

                Попробуйте найти на страничке википедии, описывающей Unreal Engine что-нибудь про «открытость». Найдёте что-то про открытый рынок для разработчиков, OpenGL, ещё что-то. Никакого «открытости» в характеристиках лицензии нет: Proprietary/Freeware.

                Однако на хабре вдруг то же самое творение становится «открытым». С какого перепугу?


                1. yatagarasu
                  16.10.2015 11:08
                  +7

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


        1. drakmail
          16.10.2015 02:22

          Мм, GPL? Предоставлять исходники можно спокойно после покупки бинарника.


          1. efedin
            16.10.2015 11:19
            +2

            Да. А GPL не только открытая, но и свободная лицензия.
            «Если грубо, то свобода — это открытость плюс бесплатность.» — странное огрубление.


      1. FoxCanFly
        16.10.2015 15:13
        +1

        Free Software Foundation прямо заявляет, что свободный продукт может быть платным и продаваться за деньги. Кому верить?


        1. leventov
          16.10.2015 16:23
          -5

          Это скорее про исключения/двойное лицензирование, что немного другое.


          1. drakmail
            16.10.2015 16:27
            +5

            Нет, это прямо в лицензии GPL описано


  1. ketrin7
    15.10.2015 15:44
    -2

    К 23 декабря 2015 года количество проектов более чем утроится...

    Улыбнуло: это дтата моего ДР.

    людям, природе и культуре прекрасно помогает несвободный код

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

    и опять не согласна с
    Пожертвования НЕ работают.

    работают — слышали историю Frenzy, ну и не только. Это просто первое, что в голову пришло.

    Единственный способ заработать на свободном проекте — сделать на его основе обычный, «скучный» бизнес
    ну это да, 100% вариант


    1. leventov
      15.10.2015 16:02
      +17

      Люди — не программисты, программисты — не люди. Если проект не для программистов, его свобода — ваш личный фетиш, всем будет фиолетово.


      1. n1nj4p0w3r
        15.10.2015 16:49

        То-есть домохозяйки не могут быть программистами и программисты не могут увлекаться кулинарией?


        1. leventov
          15.10.2015 16:55
          +26

          Могут. А еще на ваш страничку вашего опен-сорсного проекта может зайти Билл Гейтс, прослезиться от восторга и задонатить вам миллиард долларов.


      1. ketrin7
        15.10.2015 17:55
        +21

        Люди — не программисты, программисты — не люди
        Сделаю плакат и повешу в компьютерной аудитории :))


      1. Meklon
        15.10.2015 18:27
        +10

        Gimp, Inkscape и Blender с вами не согласны.


        1. leventov
          15.10.2015 18:37
          +3

          Gimp — фотошоп для программистов. Все логично.


        1. dom1n1k
          15.10.2015 19:51
          +6

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


          1. Nashev
            16.10.2015 00:17

            Да тоже…


          1. Levhav
            16.10.2015 06:54
            +2

            Блендер первые 4 года был платным коммерческим продуктом. По этому его не стоит упоминать в этом примере.

            В 2002 году компания NaN обанкротилась. Усилиями Тона Розендаля кредиторы соглашаются на изменение лицензии распространения Blender в пользу GNU GPL с условием единовременной выплаты 100 тысяч евро. 18 июля 2002 года началась программа по сбору спонсорских пожертвований на покрытие необходимой суммы. Уже 7 сентября 2002 года было объявлено о том, что необходимая сумма набрана, и о планах перевести в ближайшее время исходный код и сам Blender под лицензию GPL.
            13 октября 2002 года компания Blender Foundation представила лицензированный под GNU GPL продукт.


          1. Newbilius
            16.10.2015 08:45
            -1

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


            1. khim
              16.10.2015 16:06
              +2

              Вы либо издеваетесь, либо никогда не рабатали с фотошопом. Простейший пример: я хочу вырезать объект из одной фотки и вставить его в другую. Разумеется чтобы точнее «подогнать его к месте» я включаю полупрозрачность для этого слоя (я же хочу видеть куда я вставляю объект и сам объект тоже!) После чего обнаруживаю, что он чуть-чуть «не лезет», его нужно «перекосить». Влючаю соотвествующий инструмент и… обнаруживаю что полупрозрачность куда-то делась!

              И? Разработчики уже лет 20 рассказывают про то, что этот случай плохо ложится на архитектуру, его сложно сделать и вообще когда случится GEGL (ближе к XXX столетию) — всё будет хорошо. Photoshop решил эту проблему (да, это проблема, да, там патчем в 5 строк не обойтись, да, она в Photoshop'е тоже была) лет этак 20 назад, я уж даже и не помню в какой версии.

              И так — везде: инструменты вроде есть, но… они отказываются работать так и тогда, когда это нужно.


    1. VBart
      16.10.2015 01:07
      +5

      работают — слышали историю Frenzy, ну и не только. Это просто первое, что в голову пришло
      Например в случае nginx не работали вообще. Их хватало только на хостинг сайта. О том чтобы прокормить даже одного программиста, не говоря уже о целой команде, и речи не шло.


      1. KindDragon
        16.10.2015 14:30

        Плати сколько хочешь как в Убунту думаю работает намного лучше.
        А пожертвования, по собственному опыту, мало приносят.


    1. VolCh
      16.10.2015 06:34
      +1

      Не согласна людям очень нужен свободный код.

      Ваши плюсы относятся прежде всего к открытым исходникам, а свободный код — это прежде всего свобода распространять как оригинал, так и свой форк.


  1. gricom
    15.10.2015 17:04
    +5

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


    1. leventov
      15.10.2015 17:09

      Аргументы в посте, плюс ссылка на статью еще с аргументами. Плюс личный опыт.


      1. khabib
        15.10.2015 18:28
        +1

        Я считаю, что вы неправы. Поддержка opensource продуктов это хороший бизнес, как пример — тот же Qt. Или несколько больших контор которые живут ТОЛЬКО с поддержки PostgreSQL/MySQL.
        Вопрос в сугубо капиталистической области — есть ли спрос на подобную поддержку на рынке.


        1. leventov
          15.10.2015 18:36
          +2

          Приведите примеры таких контор. (Перепроверьте для начала, нет ли у них платных утилит, storage engines и т. д.)

          Опять же, если проект достиг масштаба MySQL, совсем другие вопросы возникают. Статья для начинающих в open source.


          1. khabib
            15.10.2015 18:39

            Вот тут: www.postgresql.org/support/professional_support
            Безусловно не каждый проект сможет заработать на платной поддержке, но это зависит от самого продукта


            1. leventov
              15.10.2015 18:42

              Услуга есть, но не она генерирует основную прибыль


          1. zzashpaupat
            15.10.2015 20:32

            1. leventov
              15.10.2015 23:11
              +2

              Я держал этот пример в голове, все-таки у них есть и платные тулзы, и проектные работы (скорее всего).

              PostgreSQL-Consulting это как раз маленький бизнес с боку от очень крупного проекта (PostgreSQL это пятая по популярности база в мире). В команде разработки 20-30 человек, уже даже их консалтинг не прокормит


      1. gricom
        15.10.2015 22:32

        А что из вашего личного опыта приносит основную долю доходов? И какие методы монетизации вы успели попробовать?


    1. navion
      16.10.2015 13:36
      +1

      Даже Red Hat зарабатывает не так много на фоне конкурентов ($1bn в 2012, $2bn ждут в 2015), являясь синонимом корпоративного Linux и имея жесткую лицензионную политику.


  1. olku
    15.10.2015 17:10
    +6

    Бизнес — инструмент предпринимателя для зарабатывания денег. Все. Открытость — суть перекладывание расходов на поддержку вовне.


    1. leventov
      15.10.2015 17:15

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

      «Открытость — перекладывание» в каком-то смысле — да, но системы, которые приносят пользу только части людей/систем, которые с ней взаимодействуют, не живут. Открытость — это инструмент извлечения взаимной пользы


      1. VolCh
        16.10.2015 06:37
        +8

        Если бизнес не улучшает экономику, он погибает.

        Или находит удачный вариант паразитирования.


  1. zloyusr
    15.10.2015 18:07

    Продажа поддержки свободного проекта не работает, или работает очень плохо.

    Раскажите об этом ребятам из Sensio Labs что они на Symfony 2 оказывается плохо зарабатывают.


    1. leventov
      15.10.2015 18:27
      +5

      У любой подобной компании в линейке услуг есть поддержка (потому что кому-то она все-таки нужна, так почему бы не сделать). Но в структуре прибыли поддержка дает крохи.

      На сайте Sensio Labs весь стандартный набор: Packaged Solutions, Products, Certification


  1. naryl
    15.10.2015 18:08
    -1

    > Польза миру это либо польза людям, либо природе, либо культуре/гуманизму, либо экономике, либо науке. Первые три категории не имеют ничего общего со свободным кодом, потому что людям, природе и культуре прекрасно помогает несвободный код.

    > Если ваш проект несет пользу, то его улучшение означает еще больше пользы. Пользователи свободного проекта исправляют баги, впиливают новые функции, улучшая жизнь не только себе, но и всем другим пользователям проекта.

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

    Да, вы на это уже ответили выше:
    >> То-есть домохозяйки не могут быть программистами и программисты не могут увлекаться кулинарией?
    > Могут. А еще на ваш страничку вашего опен-сорсного проекта может зайти Билл Гейтс, прослезиться от восторга и задонатить вам миллиард долларов.

    Но это демагогия.


    1. leventov
      15.10.2015 18:32
      +1

      Из этого следует, что свободный код лучше несвободного помогает и людям, и природе, и культуре.
      Да, но если ваш продукт напрямую помогает природе и культуре, значит его пользователи — природа и культура (лесники, культурологи там), значит синергетического эффекта не получиться. Вопросы безопасности тоже в этих областях обычно не стоят.

      Заметный смысл делать свободными есть только проекты для программистов, которые по определению — польза экономике (оптимизация труда программистов).

      >> То-есть домохозяйки не могут быть программистами и программисты не могут увлекаться кулинарией?
      > Могут. А еще на ваш страничку вашего опен-сорсного проекта может зайти Билл Гейтс, прослезиться от восторга и задонатить вам миллиард долларов.

      Но это демагогия.

      Я хотел подчеркнуть, что и то, и другое лежит в области маловероятных событий. А вдруг вы сделаете приложение с любимым пирогом Линуса Торвальдса? Статья практическая, а не фантазерская


  1. evocatus
    15.10.2015 18:12

    Кто коммитит в Docker? Сотрудники тех компаний, которые его используют. Сейчас даже на сайтах некоторые компании хвастаются количеством коммитов/разработчиков в той технологии, на базе которой бизнес. Ещё это способ влияния на пути развития «свободного» проекта. Пишу «свободного» в кавычках, потому что что делать и как делать определяется компанией-работодателем.


    1. leventov
      15.10.2015 18:22
      +3

      Свободную технологию OpenJDK используют на порядки больше людей и компаний, но у нее нет тысяч сторонних контрибьюторов (кол-во контрибьюторов в OpenJDK, для которых эта деятельность не является основной работой, минимально). Понятно, что Docker в разы проще для входа (пока), но все-таки, что туда контрибьютить?

      Я полазил по истории коммитов, посмотрел, что за коммиты от людей, у которых всего 1-5 коммитов в Докер. В основном, исправления документации. Ну, тоже дело.


      1. Bozaro
        15.10.2015 18:49
        +1

        OpenJDK (читай Oracle), в данной ситуации не показателен.
        Там бюрократы 80-ого уровня:

        • Я отправил мелкий pull request в один из проектов Oracle. Потом три недели переписки с отправкой сканов OCA (http://www.oracle.com/technetwork/community/oca-486395.html), чтобы они он прошел через политику компании.
        • Баг в JDK уже месяц висит на премодерации.


      1. Artem_zin
        16.10.2015 04:57
        +1

        То, что в OpenJDK мало контрибьютят извне объясняется очень просто тремя пунктами:

        1. OpenJDK не на гитхабе
        2. Бюрократия и Jira
        3. OpenJDK не под гитом


        P.S. ничего против BitBucket и Mercurial не имею, но GitHub и Git популярнее.


  1. QtRoS
    15.10.2015 18:41
    +1

    если пишете компилятор, обязательно делайте раскрутку.

    Что-то я сомневаюсь, что джависты бы порадовались более медленному компилятору. С другой стороны раскрутка компилятора Go выглядела довольно разумной. Но однозначно не стоит воспринимать как правило. К тому же — сколько людей пишут свои компиляторы? А сколько людей готовы писать на их новом языке?


    1. leventov
      15.10.2015 18:43

      PyPy вроде как было правильным шагом, хотя где Python и где Java


  1. xamd
    15.10.2015 18:43
    +3

    Что-то я совершенно не согласен с Вашей статьей. Я далеко не «звезда гитхаба», но у меня есть несколько проектов, которые используют люди и для этих людей я упращаю задачу, экономю их время и деньги на написание подобной реализации необходимой функциональности. Признаться честно, я не гонюсь за материальной составляющей open source, мне просто нравится это делать, потому что, как я уже написал выше, это помогает другим людям. Что касается заработка денег, то я вижу несколько путей: организация воркшопов на основании ваших технологий (как, например, сейчас делает Дэн Абрамов и множество прочих людей в JS коммьюнити, имеющих успешные проекты). Так же вы всегда можете спокойно жить на донат со стороны других разработчиков. Как показывает опыт того же Дэна, можно спокойно получать 5 тыс. евро+ имея хороший проект для активного коммьюнити.
    Разумеется, варианты, предложенные Вами (но я так понял, что вы предлагаете только один вариант — построение бизнеса вокруг своего продукта) тоже будут приносить деньги, если ваш продукт будет нужен людям, но как по мне, это путь человека, которому скорее интересен бизнес, чем сама разработка. Каждый выбирает для себя.


    1. leventov
      15.10.2015 18:55
      +11

      Давать воркшопы (читай быть тренером) — тоже бизнес. Куча тренеров есть без свободных проектов.

      Вы пытаетесь примером суперзвезд, которых по определению — единицы, опровергнуть общее правило. Это все равно, что доказывать, что новая соцсеть — хорошая идея для стартапа, на примере Цукерберга.


      1. voddan
        15.10.2015 19:57
        +1

        Хм, ну тогда может включите такие примеры в статью, для полноты картины?
        А то сейчас она звучит немного категорично.


        1. leventov
          15.10.2015 22:59
          +1

          Могу сказать про Java-тусовку. Тренеры, которые первые приходят в голову: Кабуц, Борисов, Пеппердайн — насколько я могу судить, заработали репутацию не на open source, и практически или совсем им не занимаются


      1. xamd
        15.10.2015 22:52

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

        К сожалению, я не вижу общее правило, которое я пытаюсь опровергнуть. Если Вы считаете воркшопы бизнесом (в принципе, я согласен), то я вроде бы, ничего не опровергаю. Мне просто не нравится думать об open source как об инструменте бизнеса. Для меня это нечто сродни благотворительности в IT среде. Сама идея получения денег из open source проекта является несколько кощунственной (хотя есть множество людей, которые организоввывают благотворительность из корыстных побуждений). Мой путь (этим, вероятно, можно дополнить статью) — заработок «репутации» в своей среде благодаря мои проектам. Имея хорошую репутацию, всегда можно найти ей применение (консультирование, воркшопы, видеокурсы и т.п.).


        1. estum
          16.10.2015 06:09

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


  1. grossws
    15.10.2015 19:46
    +4

    Вывод: в свободности таких проектов, как мобильные приложения, сайты, игры, полезные программки на десктоп, софт для професионналов в областях, далеких от программирования, практически нет смысла.
    Именно поэтому, видимо, redhat делает free and open source freeotp, который ко всему прочему ещё и удобнее, чем закрытый google-authenticator. С тех пор, как гуглоидный стал общаться с серверами google перед генерацией TOTP и стал закрытым им пользоваться совсем не хочется.

    Есть ещё следующий момент: свободный софт даёт шанс на продолжение поддержки/форк в случае, если оригинальные авторы забросили поддержку. Если вы не видите смысла в таких проектах — не значит, что его нет.


    1. gricom
      15.10.2015 22:28
      +1

      Автор не говорит, что в опен-сорсе нет смысла, он говорит, что на опен-сорсе тяжело заработать, а следовательно и развивать продукт.
      А ваши примеры как раз подтверждают, что опен-сорс приносит пользу IT специалистам, а не обычным пользователям.


    1. leventov
      15.10.2015 23:01
      +3

      Этот вывод в разделе «Синергетический эффект». Ваш пример как раз хорошо иллюстрирует раздел «Доверие к открытости»


  1. justaguest
    15.10.2015 20:07
    +1

    Вывод: в свободности таких проектов, как мобильные приложения, сайты, игры, полезные программки на десктоп, софт для професионналов в областях, далеких от программирования, практически нет смысла.


    Как это нет смысла в свободности игр? Вот вам живой пример — есть игра Xonotic, эдакая помесь Quake и Unreal Tournament. Ей уже очень много времени, первая версия была выпущена десять лет назад (тогда под другим именем, здесь это не принципиально). Она до сих пор активна, рьяно развивается, в нее постоянно контрибьютят, у нее выходят новые версии. Если бы код у нее был закрытый, десять лет она бы точно не продержалась на плаву — она бы наверняка даже не достигла нынешнего уровня пол количеству модов, моделей, и много другого.

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


    1. Rasifiel
      16.10.2015 04:33
      +3

      … и есть куча закрытых игр с гораздо большим и живучим модерским комьюнити. Те же TESы.


      1. justaguest
        16.10.2015 07:39
        +1

        Разные категории. TES'ы имеют нечто очень оригинальное и новое, чего не найдешь в каждой игре, именно потому даже старые из них до сих пор живы.

        Xonotic же, особенно десять лет назад, не имел ничего выдающегося. Да, там есть режим DM, который очень похож на Quake3. Да, там есть режим CTF, напоминающий UnrealTournament. Навскидку единственное, чего нету в др. стрелялках, это режим CTF: Minsta + Hook, и то я не знаю, был ли он 10 лет назад.
        Это набор вещей, которые и так эксплуатируются в прочих стрелялках, так почему бы не поиграть в них? Почему не взять тот же оригинальный Quake3 — я уверен, 10 лет назад графика в них не отличалась. Если бы Xonotic был проприетарным, про него бы просто забыли — там не было чего-то такого, чтобы услышав, игрок сказал «Вау!», и сил одной компании, которая его начала разрабатывать просто не хватило бы, чтобы довести до сегодняшнего уровня, не будь он открытым; т.е. к сегодняшнему дню он бы еще и сильно устарел.


  1. voddan
    15.10.2015 20:13
    +1

    Впрочем, свободная среда разработки на Java IntelliJ IDEA Community Edition хоть и написана на той же самой Java, бесполезно почти. Проект слишком сложный, чтобы туда сунуться.

    Да? Вы говорите «почти»? Загляните в репозиторий плагинов для нее. Значительная их часть написана сторонними разработчиками, никак не связанными с JetBrains.

    А еще Вы могли не знать, но как минимум Android Studio, Cursive (IDE для Closure) и RoboVM Studio — все базируются на Intellij IDEA CE и разработаны полностью вне JetBrains


    1. csmile
      15.10.2015 21:53
      +6

      Plug-ins это совершенно иная тема. И ортогональная открытости и закрытости базового продукта. У Visual Studio плагинов всяко больше visualstudiogallery.msdn.microsoft.com


    1. webkumo
      15.10.2015 21:58

      Кхм-кхм… не знаю насчёт остальных примеров, но Android Studio таки вышел из недр JetBrains. Возможно там поучаствовали разработчики от гугл, но эта информация вряд ли когда будет открыта.


      1. artemgapchenko
        16.10.2015 11:58

        Android Studio базируется на Intellij IDEA Community Edition. Сделана Idea в JetBrains, это верно, но Android Studio целиком и полностью разрабатывается Гуглом, эта информация была доступна с первых же дней после анонса. Да, часть функционала гуглеры смёрживают из новых версий Idea (поддержка NDK, например, базируется на CLion), но свои собственные инструменты они делают сами.


        1. rieder
          16.10.2015 15:52
          +2

          Справедливости ради — часть девелоперов JetBrains ушли в гугл, включая, если не ошибаюсь, одного из топов из idea core team.
          Сама по себе платформа IDEA CE, к сожалению, не выдерживает критики, писать на её базе что либо без тесных связей с JetBrains — гиблое дело. В отличие от того же Эклипса.


    1. grossws
      16.10.2015 02:10
      +3

      Можно добавить ещё Consulo от VISTALL в список. IDE для .net на базе idea community.


  1. Kanedias
    15.10.2015 21:41

    Есть в качестве хобби собственный свободный проект «для домохозяек», удаётся и держать на плаву, и зарабатывать на нём уже три года. Недавно пулл-реквесты начали приходить. Спрашивайте свои вопросы.


    1. gricom
      15.10.2015 22:31

      Что вы имеете ввиду под «зарабатывать»? Можете ли вы позволить себе нанять разработчиков, чтоб интенсивнее развивать продукт?
      Я не ради праздного интереса спрашиваю, поэтому не воспринимайте это как наезд.


      1. Kanedias
        15.10.2015 22:41

        Да, наверное, стоило яснее выразиться. Если вас интересует серьёзный бизнес на основе открытых продуктов, то это совсем не тот случай, извините. Разработчиков я нанять не могу. Речь идёт о небольших суммах, около 250-350$ в год. Продукт весьма нишевый, поэтому его и покупают. Те, кто поумнее, пишут багрепорты и собирают проект из исходников — мне от этого только лучше.


        1. justaguest
          15.10.2015 23:07

          А можете рассказать, как вы на нем зарабатываете? Вы просто продаете бинарники, что в нише «домохозяек» имеет смысл, т.к. они сами его с исходного кода собирать не будут? Или как-то по-другому?


          1. Kanedias
            15.10.2015 23:10
            +1

            Да, всё так. Более того, есть даже страничка, где их можно скачать бесплатно (хотя по GPLv3 и это не обязательно), но её посещают редко. Рекламы в контенте нет.


        1. dom1n1k
          16.10.2015 01:41
          +7

          Как ни крути, назвать 300 баксов в год «заработком» язык не поворачивается. Это приработок в духе «мелочь, а приятно», который лишь стимулирует не бросать проект. В моем понимании, заработок это то, что составляет ну… хотя бы треть всех ваших доходов/расходов. То есть хотя бы на треть покрывать собственные нужды (про найм разработчиков я уж молчу).


  1. csmile
    15.10.2015 21:50

    Plug-ins это совершенно иная тема. И ортогональная открытости и закрытости базового продукта. У Visual Studio плагинов всяко больше visualstudiogallery.msdn.microsoft.com


  1. VBart
    16.10.2015 01:16
    +9

    Очень адекватный взгляд на ситуацию. Можете дополнить статью примером NGINX, для которого в итоге единственно работающим путем развития стало создание платного продукта.


  1. Fibril
    16.10.2015 03:02
    +8

    Другими словами, хотите заработать, создавайте бизнес, а через Open Source проект привлекайте клиентов. Вряд ли это можно назвать заработком на Open Source. Мне кажется, ценность свободных лицензий сегодня несколько преувеличена. Всему свое место, и в определенных случаях намного лучше идти в сторону проприетарных лицензий.


  1. defuz
    16.10.2015 08:41
    +2

    Веб-фреймворк Flask. Пример того, как продуманная плагинная система и высококачественный, модульный код ядра сделали фреймворк почти таким же мощным, как Django, при в разы меньших усилиях основного автора.
    Как контрибьютор этого проекта могу сказать, что это достаточно спорный пример. Уже 2 года никак не выпустится 1.0 версия после 0.10. Другими словами, любые улучшения, которые делались учасниками проекта последние 2 года (!), так и не увидели свет. Да, extensebility фласка помогла делегировать написание составных частей проекта тем разработчикам, которые непосредственно в них заинтересованы. Но сам проект сейчас находится в относительном упадке. Основная причина, на мой взгляд – недостаточная вовлеченность Армина Роначера в жизнь проекта, или проще говоря bus factor. Была даже попытка создать что-то вроде community foundation, но это не значительно повлияло на ситуацию.

    С другой стороны, рекомендую посмотреть на Rust. И если экономическое обоснование существования этого проекта вписывается в парадигму вашей статьи, то с точки зрения «успешности» проекта, он какое-то дикое исключение. Посудите сами: компилятор Rust, написанный на Rust, который почти никто толком и не знает и у которого и так очень пологая кривая изучения – проект мягко говоря не самый тривиальный. Но при этом, вокруг него происходит совсем уж нездоровая движуха – чтобы вы понимали, это самый популярный проект на github среди языков программирования, а количество контрибьюторов у них больше, чем у докера (!). Секрет такого успеха, на мой взгляд, заключается в том, что ядро команды разработчиков уделяет очень много внимания построению сообщества (и как они открыто заявляют, на данный момент для них это даже более приоритетная задача, чем собственно развитие самого языка).


    1. csmile
      16.10.2015 09:21
      +3

      C Rust, и с языками прогрммирования в частности, ситуация совсем иная. Там Open Source это фактически единственная модель в которой что-то еще возможно сделать в наше время.

      И кстати Rust как это ни странно есть способ борьбы с OpenSource. Вернее с последствиями OpenSource модели разработки Mozilla «когда любой залетевший дятел с горяшими глазами и патчами рушит цивилизацию» Мерфи. Сложная и не всегда понятная политика владения объектами в таком сложном проекте привела к куче проболем с memory management у них.

      Отсюда и растут ноги именно такой архитектуры Rust, который собственно и есть язык на котором он собираются переписывать движок.
      Решение спорное в смысле экономической целесообразности. Не ну если конечно Rust делать коммунистически-бесплатным образом — всем миром, всем народом. Да и то… без жесткой модерации нифига не выйдет.


      1. defuz
        16.10.2015 12:18
        +2

        И кстати Rust как это ни странно есть способ борьбы с OpenSource.
        По-моему это спорное утверждение. Ведь сами разработчики Mozilla признаются, что не только «залетевший дятел с горяшими глазами» может внезапно «разрушить цивилизацию», но и основные разработчики могут так же наломать дров, незаметив вовремя последствий. Так что открытость движка Firefox здесь не играет особой роли.

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

        Когда разработчики Servo пожаловались на то, что им нехватает возможностей языка для того, чтобы эффективно модулировать объектную модель DOM, было предложено сразу 4 (!) варианта того, каким именно образом нужно расширить Rust, чтобы на нем стало удобно писать объектно-ориентированный код.

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

        Когда готовился релиз 1.0, только за один месяц (!) было влито больше тысячи пул реквестов с сотнями тысяч измененных строк кода. По-моему, это нельзя назвать иначе как «коммунистическая разработка». :)


    1. leotsarev
      16.10.2015 12:17

      За Rust стоят две крупные корпорации (Mozilla и Samsung), и у Mozilla, помимо денег, огромный опыт построения сообществ.


      1. defuz
        16.10.2015 12:28

        А за Go стоит Google, только почему-то у Rust в 2 раза больше контрибьюторов, хотя Go сейчас на порядок популярнее.


        1. leotsarev
          16.10.2015 12:29
          +2

          у Mozilla, помимо денег, огромный опыт построения сообществ


  1. defuz
    16.10.2015 08:55
    +1

    Кстати, еще интересный и смелый проект – это Sentry. Это полностью open source продукт, который на той же странице продается его авторами еще и как SaaS решение. Чтобы было понятно: если хочешь, можешь свободно скачать всю систему целиком и развернуть ее на своих машинах, но если тебе лениво, можно просто заплатить небольшую сумму и получить готовое SaaS решение, которое «просто работает».


  1. ComodoHacker
    16.10.2015 11:14
    +7

    Есть еще один момент, который, к сожалению, не отражен в статье.

    Просто залить код очередной своей поделки на Гитхаб (и объявить на Хабре) — еще не означает, что он хоть кому-то принесет пользу. Код должен быть минимально пригоден для повторного использования. То есть быть более-менее качественным, без раскиданных везде комментов "//потом поправить!!!", иметь какую-никакую архитектуру, не быть наводненным багами, желательно с документацией и т.д.
    И кроме этого, должен быть саппорт от автора хотя бы на первое время.
    А это уже совсем другие трудозатраты.


  1. cebka
    16.10.2015 15:31
    +5

    Расскажу свою балалайку на тему opensource. В отличие от многих тут отписавшихся людей, моя профессиональная активность была практически с самого начала связана с написанием opensource проектов. Просто на работе (в Рамблер-почте тогда) решили, что нет нужды прятать код, зато можно подчерпнуть много пользы от коммьюнити. Тогда же я начал писать свой основной проект — систему антиспама rspamd. И так вышло, что в отличие от других игроков на рынке, проект пилился силами только одного человека — меня — но зато получал довольно значимый фидбек от других пользователей.

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


    1. leventov
      16.10.2015 16:31
      -3

      Интересная история сама по себе, напишите статью! Но сама свободность программы вам, похоже, почти никак не помогла (хотя и не помешала). Представьте, что система с самого начала — бесплатная, но код закрыт. Пользователям без разницы — они пишут правила на своем API/DSL/грамматике, что там у вас. Британская фирма нанимает вас писать то же самое freeware.

      Моя мысль не в том, что открытость/свобода — это плохо, хоть в каком либо виде, но (почти) бесполезно — очень часто.


      1. cebka
        16.10.2015 16:56
        +4

        Не соглашусь с отсутствием пользы. Если бы проект не был opensource, то не было бы сторонних котрибьюторов, не было бы производных проектов — той же libucl, включенной в базу FreeBSD, и, наконец, не было бы чрезвычайно удобных инструментов — github, jenkins, а также, например, Google Summer Of Code, в котором в этом году участвовал rspamd. Более того, открытый код дисциплинирует программиста, так как вся его работа видна без ограничений, а это немаловажный фактор и мотиватор для саморазвития.


  1. nemilya
    16.10.2015 16:44
    -1

    Интересная тема.

    Дополню несколько примеров:

    1. Linux Mint — дистрибутив (к слову, на который я недавно перешёл) — финансируется в основном за счёт donations (не является дочерним продуктом какой-то корпорации), вот, что говорит автор проекта Clement Lefebvre (источник):

    We want to be funded by our users, directly via donations and indirectly via the traffic they generate in advertisement on our own websites and within Linux Mint on the search market. This is very important to us because it means our design isn't driven by anyone else, Mint continues to develop itself with its own community in mind and our development team doesn't need to engage in commercial activities where it would lose focus away from what really matters.

    Everything we do is with our users in mind and when we look at the number of donors at the end of each month, it's like quantifying that happiness we manage to create in them, it's really motivating.

    Начиная с 2013 года по текущий момент пользователями Linux Mint пожертвовано более $230k.

    2. Система виртуальной робототехники — V-REP — идёт под двумя лицензиями:
    • Free educational license — open-source GPL — бесплатная для образовательных учереждений и «хоббистов»
    • Commercial license — платная для коммерческого применения

    3. Пример, когда на базе open-source проекта живёт коммерческий (закрытый продукт) — это Rails. Разработчик решил выложить в open-source фреймворк на базе ruby, который он использовал для разработки закрытого проекта Basecamp.

    4. Сказав Flask — не забудем сказать и Sinatra, лаконичный Ruby фреймворк, который послужил стимулом к созданию простых веб-фреймворков на других языках. И работает в составе таких проектов как Heroku, CloudFoundry, OpenShift.

    Возможности краудфандинга:

    4. Проекты pgcli и mycli: автор (Amjith Ramanujam) изначально создал проект pgcli — работа с PosgreSQL через командную строку (с автодополнением). Это было выложено в open-source. В дальнейшем, получив множество пожеланий для создания такой же версии для MySQL — создал краудфандинговую кампанию, и собрал более $4k для разработки mycli (так же open-source).


    1. grossws
      16.10.2015 18:46

      Free educational license — open-source GPL — бесплатная для образовательных учереждений и «хоббистов»
      Выглядит, как взаимоисключающие параграфы: GPL не накладывает ограничений на область и цели использования.


      1. nemilya
        19.10.2015 10:17

        The V-REP PRO EDU educational license applies ONLY to EDUCATIONAL ENTITIES composed by following people and institutions:

        1. Hobbyists, students, teachers and professors
        2. Schools and Universities

        EDUCATIONAL ENTITIES do NOT include companies, research institutions, non-profit organisations, foundations, etc.


        1. khim
          19.10.2015 11:49
          +1

          Ну то есть реально она распространяется под тремя лицензиями: GPL, Free educational license и Commercial license. Первая версия — только в исходниках «для сильных духом» (но, разумеется, использовать её может кто угодно), вторая — бинарники только для школ, третья — для всех, кто заплатит денег.

          Схема немного похожая на RHEL. Только CentOS пока не появился :-)


    1. csmile
      16.10.2015 19:13
      +10

      «Начиная с 2013 года по текущий момент пользователями Linux Mint пожертвовано более $230k.»

      $230k это зарплата двух разработчиков на один год. Это без операционных расходов, лоеров, налогов и всего прочего.
      Это ничто для проекта уровня Mint. Либо им кто-то подкидывает денег (и что-то за это хочет и получает) либо они живут в долг и ждут что их кто-то купит.

      Пожертвования НЕ работают. от слова вообще.


      1. Ununtrium
        19.10.2015 13:16

        Справедливости ради, если у вас GPL/LGPL, и вы живете на пожертвования, нафиг вам лоеры? (Если что, с тезисом согласен).


    1. pehat
      16.10.2015 19:39
      +2

      Для сравнения: годовая зарплата разработчика в США составляет $80-100k. Одного разработчика.


  1. lagranzh
    18.10.2015 16:34

    Интересно было бы почитать как раскручивать опенсорсовый мини проэкт.
    Поделитесь опытом, у кого он есть, пожалуйста.