Понять Open Source

    image


    Опен сорс заставляет меня чувствовать себя мазохистом.
    Я люблю его, однако часто работа с ним – боль.
    (c) Мой

    Когда-то – может, уже лет 10 назад – было модно предрекать конец опен сорсу. Интернет пестрил заголовками типа «Почему Open Source скоро умрет» или «Почему Open Source никогда не победит платное ПО». Это не точные заголовки. Скорее, впечатление, которое сохранилось с тех пор.

    Сейчас мы видим, что опен сорс цветет и пахнет. Иногда хорошо пахнет, иногда – не очень. Но в целом по-прежнему набирает популярность и даже как-то эволюционирует. Собственно, об этом и поговорим: о том, что Open Source представляет собой сейчас, и куда будет двигаться дальше. Хотелось бы увидеть в комментариях ваши мнения по этому поводу.

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

    Я запланировал три поста, которые опубликую, если тема покажется интересной:

    1. Этот пост, где поговорим о том, как научиться понимать Open Source
    2. Модели использования Open Source для достижения бизнес-целей
    3. В третьем посте я предложу нестрогую классификацию открытого кода по его профпригодности. По тому, насколько удобно, эффективно и полезно работать с различными сторонними проектами.

    Что такое опен сорс, я впервые узнал, наверное, в конце девяностых. Первый раз собрал ядро Линукса из исходных кодов году в 2001. До 2008-го опен сорс меня интересовал только как «бесплатный» инструментарий для дома и работы. Слово «бесплатный» беру в кавычки, потому что уже давно не считаю сочетания «Open Source» и «платное ПО» противоположными по смыслу. Но об этом чуть позже. В 2008-ом я впервые начал нехотя наблюдать за трендами в опен сорсе изнутри компании, в которой тогда работал. А вот по-настоящему работать с ним начал меньше двух лет назад. Но успел уже здорово нахлебаться примерно от десятка различных проектов.

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

    Кстати, небольшой опросничек: как вы используете опен сорс? (См. в самом низу поста. Хабр не умеет вставлять опросники в текст)

    Сначала я смотрел на ПО с открытым кодом очень романтически. Фактически, я верил в широко распространенные одно время легенды об «энтузиастах с красными глазами», которые пишут код в ночи с одной только целью – сделать мир лучше. Безусловно, такие люди были. Даже в моем студенческом общежитии были ребята, которые ковыряли ядро Линукса и GNUтые приложения. И кто-то из них даже вливал свой код в соответствующие репозитории. Подозреваю, что и сейчас в общежитиях технических ВУЗов люди по ночам занимаются не только сексом и геймерством. Интересно даже, что именно они сейчас ковыряют. Если 15 лет назад ответ был очевиден – Линукс – то сейчас я почти уверен, что это не Линукс. Очевидно, энтузиасты с красными глазами существуют и поныне. Но их вклад в Open Source ничтожен.

    imageПервый миф, с которым мне пришлось расстаться – это представление о том, будто на ПО с открытым кодом не делают деньги. Распрощаться с этой идеей было очень просто, потому что за примерами далеко ходить не надо. Взять хотя бы корпоративные версии Linux-дистрибутивов. Например, Red Hat Enterprise Linux (в простонародии – RHEL). Коммерческие дистрибутивы Linux – железный пример того, что на опен сорсе можно заработать. От него не отмахнешься аргументом типа «Если кто-то пытается зарабатывать, это еще не значит, что идея популярна и что заработать можно много». Практически каждая крупная западная компания платит за подобные дистрибутивы. А сколько на этом можно заработать, легко понять из финансовых отчетностей Red Hat или из краткой сводки его финансовых метрик.

    Бесплатность опен сорса – это второй миф, с которым я распрощался. По-хорошему, этот миф должен быть с некоторой натяжкой более-менее эквивалентен первому. Однако в сознании людей эти два заблуждения жили по отдельности. Мой случай не был исключением. Забавно, что в современном мире первый миф, видимо, уже изжит. А вот второй по-прежнему процветает. Думаю, для этого есть несколько причин:

    1. люди думают, что платить можно только деньгами. Хотя если человек проводит ночь, пытаясь заставить работать «бесплатную» софтину, то он платит собственным временем. (Которое, как известно, все равно почти что деньги). Бесконечная возня с графическими библиотеками – та причина, по которой я перестал когда-то использовать линуксовые GUI для домашних целей (хотя сейчас ситуация с ними, наверное, уже улучшилась);
    2. упускается из виду реальный плательщик. Такая ситуация часто встречается на Хабре. «Я никогда не куплю это дорогущее интегрированное коробочное решение. Лучше я за копейки куплю дешевого железа и поставлю на него опен сорс. Все будет работать точно так же и даже лучше!» Тут интересный момент заключается в том, что реально за то, что «все будет работать», платит не сам комментатор, а его наниматель. Это он – т.е. наниматель – заплатил умельцу, чтобы все работало. А мог бы уволить умельца и с освободившимися деньгами подойти к секретарю: «Закажите, пожалуйста, вот эту черную коробку. А когда придет, воткните, пожалуйста, в розетку. Ничего больше делать не надо». Конечно, я тут немного утрирую. И даже более того: чтобы люди начали стоить дешевле решений, поставляемых вместе с сервисом, бизнесу необходимо достичь определенных размеров. Но тут мы вплотную подходим к следующей причине;
    3. размер имеет значение. Повседневный «бытовой» опыт обманчиво намекает нам на то, что опен сорс бесплатен. Написали вы, например, Hello World на языке С, откомпилировали его открытым компилятором GCC – и все у вас в порядке. imageА что если у вас несколько миллионов строк кода? А если вы хотите включить в компиляторе нетривиальные оптимизации? С очень большой вероятностью, вы столкнетесь с неприятностями. Кстати, они у вас возникнут не только с «бесплатным» компилятором. Проблемы будут независимо от того, какой компилятор используете – с открытым кодом или нет. Вам придется заплатить в любом случае. Как только мы начинаем делать что-то большое и – что тоже важно – нетривиальное, мы приходим к тому, что за инструментарий надо платить. На моем предыдущем месте работы даже относительно небольшой коллектив из 20 разработчиков раз в пару месяцев наталкивался ошибки в ядре Линукса. И каждый раз, когда покупались новые серверы, необходимо было заново интегрировать с ними все тот же Линукс. Это иллюстрация того, что если у вашего бизнеса большой масштаб, вам необходима поддержка. Вы можете заплатить за нее, купив «решение» с поддержкой в комплекте, а можете поставить бесплатный дистрибутив и отдельно купить поддержку. Однако деньги вы выложите.

      Приведу еще несколько причин, из-за которых приходится платить за Open Source:
      1. плохая документация
      2. несовместимость с аппаратной или программной платформой
      3. нетривиальный пользовательский интерфейс, для работы с которым нужно обучать персонал

      imageimageТеперь третий миф. На этот раз, о том, будто над открытым кодом трудятся в основном энтузиасты. Это заблуждение связано с первыми двумя и хронологически развеивалось одновременно с ними. Если хорошенько приглядеться к популярным Open Source проектам, то можно заметить, что самый интересный и качественный опен сорс делается крупными коммерческими компаниями. Например, Java – детище Sun Microsystems. Популярный нынче компилятор LLVM зачат компанией Apple, а позже к его развитию присоединились Intel и Google. Незаменимый в современном мире Hadoop практически полностью создан компанией Yahoo! (между 2006 и 2011 годами Yahoo! влил в Hadoop порядка 90 тыс. строк кода, ближайший «преследователь» — около 10 тыс).

      image


      Кстати, про Yahoo!.. Лет 15 назад практически каждый интернет-пользователь периодически пользовался поисковиком этой компании. Проверим, много ли людей знают Yahoo! сейчас. В конце поста на эту тему есть опросничек.

      image


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

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

      Итак, как научиться понимать Open Source?

      Рецепт 1. Open Source – это почти всегда про деньги. Если вы видите непонятные, но мощные «движения» в опен сорс сообществе, попытайтесь понять, кто и как пытается на этом заработать. Разберем пример.

      Меньше года назад Microsoft объявил о выводе .NET Core в Open Source. Вопрос: зачем?

      image


      Если попытаться понять это с помощью поисковика, то в топе Гугла можно ссылку вот на это. Из статьи следует, что цель – похоронить Java. Еще всплывает вопрос на Quora, где самый популярный ответ говорит о том же.

      Хорошо, допустим, что цель действительно такая. Но как Microsoft собирается на этом заработать? Мы знаем, что Microsoft – не благотворительная организация. Пока остается неясным, как компания хочет заработать денег, можно считать, что ответа у нас нет.

      Ищем дальше. Находим официальный ответ Microsoft. Кстати, мне удалось его найти только благодаря Яндексу, хотя и пользовался теми же запросами, что и в Гугле.

      Что нам говорит сам Microsoft?

      image


      Почитайте статью. Там много правильных и красивых слов о том, что получит от новой инициативы клиент. Но ни слова о том, что хочет получить сама компания. Собственно, там этого и не могло быть. Компании всегда фокусируются на клиенте. «Все для клиента, блин!» И это совершенно правильно.

      Мне не удалось найти подходящего объяснения в Интернете (возможно, вам в этом вопросе повезло больше). Значит, начинаем думать самостоятельно.

      Сам Microsoft говорит нам (см. картинку выше), что .NET пошел в опен сорс ради кросс-платформенности. Замечательно! Microsoft нам врать не будет, просто выдаст не всю правду :). Смотрим на другие инициативы компании в этой области. Замечаем, что Microsoft является большим апологетом HTML5. Не буду здесь приводить конкретных ссылок, т.к. деятельность компании в этой области многогранна. Любой поисковик все легко покажет.

      image


      Смотрим дальше. Видим, что компания недавно анонсировала – через одну из своих дочек – проект JUniversal. Это инструмент для перевода Java-кода на .NET платформу.

      image


      Итак, обнаружили, что компания сильно заинтересована в кросс-платформенных приложениях. Причем не только на .NET. Но почему тогда Microsoft не кинулся развивать Java?

      Снова вспоминаем о том, что Microsoft – это не ради благотворительности. Java контролируется своенравной компанией Oracle. Ставить себя в зависимость от капризов Oracle – большой риск. Поэтому Microsoft концентрируется либо на инструментарии, который контролирует сама, либо на тех технологиях, которые единолично не контролирует никто. Т.е. вроде как, компания действительно не прочь отъесть кусок у Java. Но это не сама цель. Что же тогда цель?

      Ответ часто мелькает на интернет-страницах, которые посвящены кросс-платформенным усилиям конторы. Если вы повторите тот поиск, который я кратко описал выше, то увидите, что цель – сделать так, чтобы приложения, которые разработчики пишут для Android и iOS, также запускались на Windows/Windows Phone. Бинго! Добавляем последний кирпичик: у Microsoft нет богатой экосистемы вокруг его мобильной платформы. Но такая экосистема есть у Google и Apple. Так что Microsoft хочет воспользоваться чужой экосистемой, чтобы переманить пользователей двух мобильных гигантов. «Ребята! Все ваши любимые приложения работают и на нашей системе! Айда к нам. У нас платформа гламурнее» (например).

      image


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

      Подобные логические построения при анализе трендов в Open Source приходится делать часто. Потому что никогда soft-гиганты не придут и не скажут открытым текстом: «Вы знаете, мы тут собираемся эксплуатировать чужую экосистему».

      Длинный получился пример… Надеюсь, что во благо. Едем дальше.

      Рецепт 2. Думая, куда может пойти Open Source, ищите аналогии. В мире по-настоящему новые идеи появляются очень редко. Мне иногда полезной оказывается мысль о том, что опен сорсу в широком смысле уже много сотен лет. Что я имею в виду?

      Юридически, открытый код – это публикация. Примерно как худлит. Код тоже является объектом авторского права. Использование художественных или научных публикаций можно лицензировать. То же самое можно делать и с кодом. Технологии, описываемые в научных работах, можно патентовать. Алгоритмы, реализованные в коде, — тоже (хотя и не во всех странах; и часто – под совсем другим соусом).

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

      Давайте возьмем что-нибудь не самое тривиальное. Поговорим о роли государства.

      Государству выгодны публикации. Благодаря им, частные идеи становятся достоянием общественности, что является серьезным двигателем экономики. Поэтому государство всячески старается эти идеи из населения «выманивать». Так, например, был создан один из основных костылей современного капитализма – патентная система. Патенты делают идею публичной, но при этом защищенной от посторонних посягательств. Дальнейшее ее использование регулируется с помощью лицензий.

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

      Правильно: государство играет огромную роль в развитии Open Source. И академическая среда тоже. Имеется в виду, в первую очередь, американское государство. Российское для развития Open Source пока что сделало мало.

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

      Чтобы ученые «не зажимали» свои идеи, государство позволяет патентовать их и даже дает приоритетное право на коммерциализацию (с некоторыми оговорками, которые здесь не существенны).

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

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

      Теперь что мы видим в отношении нашей гипотезы? А то, что огромное количество нишевого софта с открытым кодом действительно родилось в стенах исследовательских организаций. Пример из личной практики. Этим летом я посетил конференцию ISC’15 (International Supercomputing Conference). Практически весь софт, представленный на конференции, является открытым и берет свое начало в академических кругах. Сначала он разрабатывался на государственные деньги, а потом разработчики, выйдя из лабораторий с готовыми технологиями, создали вокруг них коммерческие конторы. Сюда относятся, например, все самые популярные реализации MPI и планировщики задач.

      Я постоянно сталкиваюсь с опен сорсом, вышедшим из академической среды. Часто это очень серьезные проекты. Взять хотя бы инструмент для визуализации данных VisIt. 1,5 миллиона строк кода. Разрабатывается очень крупной американской лабораторией LLNL. Может использоваться как сам по себе, так и в качестве библиотеки для Python, С++, Java. Кстати, рекомендую.

      image


      image


      Вот еще один пример роли государственных денег. «Лохматый» список 2003-го года. Всемирно известные Open Source проекты, проспонсированные государством.

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

      Возможно, этот пост читают специалисты по интеллектуальной собственности. Может, кто-то из них знает, где можно достать статистику по количеству денег, которые США вкладывают в Open Source? А еще по количеству коммерческих компаний, которые вышли из академической среды на почве Open Source?

      Однако остался еще один рецепт.

      Рецепт 3. Периодически отказывайтесь от рецептов. Или ищите новые. Или вообще не используйте. Open Source быстро эволюционирует. То, что казалось фантастикой пару лет назад, сегодня уже реальность.

      Этот «рецепт» невозможно проиллюстрировать примером ввиду самой сути рецепта. Но кое-что все равно скажу :)

      imageimageСегодня я могу «нагуглить» или «наяндексить» Python-библиотеку практически для любой задачи прикладного характера. Т.е. в мире в какой-то момент появилось по-настоящему удобное средство, которое дало дополнительный толчок развитию Open Source сообщества. Очень легко стало разрабатывать элегантные, маленькие, но эффективные инструменты. (Хотя и с ограниченной областью применения). Каждый из них в отдельности – почти незаметен и, скорее всего, никогда не войдет ни в какой продукт. Но все вместе они создают основу для соцсети нового типа, что ли… Люди постят свои сниппеты вместо фотографий ног и еды. Существенная роль в развитии этого явления принадлежит еще и GitHub.

      Удобные инструменты привели к маленькому Open Source коммунизму, что ли… Люди выкладывают свои труды в сеть только потому, что будет приятно, если кто-то еще ими воспользуется.

      На этом пока все. В следующем посте поговорим о том, с какими целями отдельные люди и компании выходят в Open Source.

      Продолжение: «Понять Open Source: модели использования»

      Два обещанных опросничка:

    Only registered users can participate in poll. Log in, please.

    Как вы используете Open Source?

    • 3.7%Я думаю, что я им не пользуюсь48
    • 54.5%Я пользователь711
    • 40.4%Я и пользователь, и разработчик527
    • 1.5%Другое19

    Вы знакомы с поиском Yahoo!?

    • 66.4%да, я пользовался когда-то поиском Yahoo!729
    • 1.5%я пользуюсь этим поиском сейчас16
    • 20.7%хм… У Yahoo! есть поиск?227
    • 11.5%а что такое Yahoo!?126

    Similar posts

    Ads
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More

    Comments 83

      +20
      Ох как же я не люблю юмористические опросы… Ну вот во втором опросе я знаю что такое Yahoo, я знаю что у них есть поиск. Но не пользуюсь. Что мешало добавить банальное и скучное «нет» в варианты?! ;-)

      Более того, никогда не пользовался. В детстве был рамблер, потом яндекс, потом гугл…
        +1
        Ничего не мешало. В голову не пришло :) Попытался отредактировать — нельзя.

        Для меня этот опрос юмористической окраски не имеет. Просто у меня в мозгу есть стойкая ассоциация из прошлого, что Yahoo! — это поиск. И ничего с этим поделать не могу. Интересно, есть ли еще люди, которые помнят этот Yahoo! или он уже предан забвению? Например, никто из моих знакомых, использующих Hadoop, не представляет, что это детище Yahoo! Т.е. контора как-то живет и даже приносит пользу людям, а мы об этом не знаем :)
          +4
          Для меня яху — это почта. И только. Хотя нет, ещё yuicompressor. Их поиском никогда не пользовался и сильно сомневаюсь что когда-нибудь воспользуюсь. О том, что он есть — знаю, но и только.
            +5
            А для меня Yahoo это группы/мейллисты. Про поиск знаю, но не пользовался, поэтому в ответе на второй опрос воздержался. Удивительно, почему в опросе нет самого очевидного ответа.
              +2
              Небезызвестный сервис Flickr тоже полностью накрыт мягким, ворсистым крылом Yahoo. Я лично по фликеру его, в-основном, и знаю.
                0
                Они его купили в какой-то момент. Исторически он не от яху.
            +3
            Приятно читать статью об опен-сорсе, в которой рукой автора водит разум, а не идеология.
              +2
              Вывод о причинах вывода .NET в OpenSource кажется правильным. Более того, этот вывод был ясен практически сразу после анонса о выходе .NET в OpenSource. Захват большей доли рынка мобильных устройств за счет привлечения приложений и разработчиков (Developers! Developers!, не забываем...)
                0
                А мне рассказ о .NET, напротив, кажется абсолютно притянутым за уши:
                — просто .NET, после многолетних попыток противопоставить его Java (для чего он только и создавался изначально) — практически сдох…
                — и перевод его в разряд Open Source — это попытка «хоть тушкой, хоть чучелом» реанимировать покойника.
                  0
                  Сдается место для холивара .NET vs Java
                    –2
                    Только зачем этот срач нужно было в статью выносить?
                +4
                Т.е. вроде как, компания действительно не прочь отъесть кусок у Java. Но это не сама цель. Что же тогда цель?

                Да все просто, открытие и свободность Net не означает открытие и свободность Visual Studio, Microsoft Server, Microsoft SQL Server и т.п. продукты, которые и приносят реальные деньги. Мало кто использует Java с Microsoft Server или Microsoft SQL Server, зато в Net все ровно наоборот, чем больше развивается Net, тем больше будет доля платных продуктов Microsoft на рынке. Ну и рынок мобильной разработки тоже.
                  0
                  Исходники .Net вышли под GPLv3?
                    +4
                    На большинство компонентов MIT, Apache и BSD, которые дают больше свободы использования, чем GPL.
                  +4
                  Насчет мотивов крупных компаний вкладываться в OpenSource, конечно все вкладываются ради своего коммерческого интереса, но не всегда это просто деньги за счет продажи OpenSourc'a:

                  1) Общая разработка среди нескольких компаний снижает затраты каждой и увеличивает эффективность. Скажем Hadoop нужен многим компаниям, причем мало кто из них является прямым 100% конкурентом друг друга, например рынки фейсбука, амазона и гугла не так сильно пересекаются друг с другом чтобы мешать сотрудничеству,

                  2) OpenSource очень удобен для создания общего рынка профессионалов, скажем найти программиста, умеющего работать с тем же Hadoop, в сто раз проще чем искать программиста и тратить деньги на его обучения для своей замечательной системе обработки больших данных. И скажем, гугл создав открытые Java фреймворки и библиотеки вроде guice или guava, теперь может экономить на обучении Java программистов, так как их в Java мире не знает только ленивый и т.д. Открыть часть своего фреймворка для компании часто дешевле, чем тратить деньги и время на обучение программистам, да и сами программисты часто предпочитают работать в компаниях где опыт потом можно использовать в других проектах.

                  3) Ну и имидж компаний тоже довольно важен, гугл прощают то что никогда не простят ораклу. И имидж компании может даже влиять на котировки. Опять-таки, программисты далеко не всегда выбирают только самую большую зар.плату, имидж и вес компании часто имеет большее значение. А самый простой способ для улучшения репутации это open source.
                    0
                    Ах да, есть ещё 4 мотив

                    4) влиять на развитие целой отрасли или технологии, например вкладываясь в Hadoop компания по сути может задавать развитие систем обработки больших данных в нужном направлении (то же IBM в направлении когда выгодно использовать именно их сервера для кластеров Hadoop'a, а не конкурентов) и т.п.
                      0
                      Вы про фатальный недостаток?
                        0
                        Фатальный недостаток из лурки «было сделано не нами»? Про него тоже, но на самом деле участие в openSource это способ продвигать свои цели на нужном направлении, скажем если Intel выделит разработчиков на оптимизацию Hadoop под команды именно их процессоров, есть шанс получить некоторое преимущество на рынке кластеров Hadoop'a над конкурентами (пример, взят с потолка, но идея, думаю, понятна).
                      0
                      По третьему пункту: Oracle тоже внёс вклад в развитие open source, создав бесплатного конкурента RHEL и заставив их развивать CentOS.
                        0
                        OEL по большей части — пересборка RHEL. Эдакий CentOS под эгидой Oracle.
                    • UFO just landed and posted this here
                        –3
                        У больших проектов есть свои требования к бизнес модели и судить о всём опен сорсе по ним, походу приплетая проприетарщиков которые лезут в опен соурс, считаю некорректно. Как разработчик, в том числе и опен соурс продукта, считаю, что опен соурс слабо связан с тем о чём автор повествует.

                          0
                          У больших проектов есть свои требования к бизнес модели и судить о всём опен сорсе по ним, походу приплетая проприетарщиков которые лезут в опен соурс, считаю некорректно


                          Ну, про бизнес-модели я тут пока не писал. Для этого запланирован второй пост (которой родится, если этот не нахватает минусов).

                          считаю, что опен соурс слабо связан с тем о чём автор повествует


                          Так обоснуйте свою позицию!
                            0
                            Cкорее на пост тянет, a учитывая последние тенденции к приравниванию open source = дорого, не к != бесплатно, а именно к дорого, вообще не уверен, что стоит об этом дискутировать.

                            В очень обобщенном виде, смотрю на open source со стороны free software, по сути откуда термин зародился, а не со стороны — во что его превратили.
                            –1
                            И вообще, остаётся какой-то такой привкус от прочтения, что это — заказуха: учитель дал тему домашнего сочинения и отличник отрапортовал.
                            +2
                            Вы пишите очень интересно и взвешенно. Пожалуйста, сделайте все три публикации, даже если эта не получит звездный рейтинг.
                              0
                              Спасибо! Я постараюсь. Звездный рейтинг меня не интересует. Однако если пост уйдет в минусы, это будет означать, что широкой аудитории он не интересен. Подготовка текста для Хабра занимает кучу времени. Поэтому биться лбом об стену, продолжая набирать минусы, будет не очень разумно.
                                +1
                                Не соглашусь с вами. Глубокий минус — это в том числе и большой интерес, правда с «идеологическим» окрасом.
                              +2
                              Публикация хорошая, но некоторые отдельные идеи о том, например, что пользователь платит своим временем только за опенсорс, или что масштабы затрат на доработку продукта в случае gcc против условного cl.exe вообще соизмеримы (только так я могу интерпретировать ваш третий пункт) — они как-то отдают тоже мифами 2001 года.

                              Платить за всё всегда надо, временем в особенности, зачем на это обращать внимание в случае опенсорса, непонятно.
                                +1
                                Причём, перекос далеко не всегда в сторону опенсорса, т. к. есть исходники и сообщество. В некоторых случаях при проприетарном софте затраты на то, чтобы достучаться до специалиста и согласовать получение информации, существенно превышают стоимость реверс-инжиниринга.
                                  +2
                                  Собственно, поэтому практически всегда в моём опыте при наличии альтернатив выбирается решение с доступными исходными кодами (и под BSD/MIT ещё и тому подобными лицензиями).

                                  Я вообще не помню случая чего-либо обратного.
                                  –3
                                  Во многих проектах готовность к эксплуатации «из коробки» довольно низка. Плюс довольно скромная документация. Учебные материалы. Все это приводит к тому, что временные затраты изменяются в большую сторону, и не в пользу открытых проектов.
                                    +2
                                    Во многих проектах готовность к эксплуатации «из коробки» довольно низка. Плюс довольно скромная документация. Учебные материалы.

                                    Да, во многих платных продуктах ровно та же ситуация, только добавляются проблемы с защитами от копирования и т.п. вещами. А вот у бесплатных продуктов есть возможность не решать проблему, а просто плюнуть и взять продукт-альтернативу, что невозможно для платных (не ставиться дебиан, поставим убунту, а вот если не ставиться винда за 300$, то придется решать проблему до победного конца своего или ноута, иначе ведь жаба задушит).

                                    И в общем-то, это миф что ВСЕ открытые продукты ВСЕГДА хуже документированы и готовы к эксплуатации, чем их платные аналоги, идет он из убеждения что бесплатное не может быть хорошим. Это такой же миф как то что платная поддержка ВСЕГДА работает лучше бесплатной помощи на форумах сообщества.
                                      0
                                      Да и такое есть, конечно. Особенно это выражено в клиентских продуктах, в продуктах для рабочих станций.

                                      По серверным продуктам «не все так однозначно».

                                      Вы мне можете помочь сугубо практически.

                                      Вот я хочу превратить Windows Server в хост виртуализации. Я делаю так:
                                      Add-WindowsFeature Hyper-V -IncludeManagementTools
                                      Add-WindowsFeature «Failover Clustering» -IncludeManagementTools

                                      На выходе у меня получился
                                      — узел виртуализации, готовый к созданию виртуальных машин как из командной строки, так и графическими инструментами
                                      — репликация виртуальных машин
                                      — shared nothing migration
                                      — готовность к включению в кластер
                                      — кластерная файловая система

                                      Что с этой радостью делать можно почитать здесь: technet.microsoft.com/ru-ru/library/Cc753637(v=WS.10).aspx

                                      Что я должен сделать в развернутом дистрибутиве Linux (близкому вашему сердцу) по шагам, чтобы получить эту же функциональность? И где об этом читать?
                                        0
                                        Что я должен сделать в Windows, чтобы получить из релизнутого (нам же неинтересно бетками пользоваться, да?) и поддерживаемого cl.exe полноценный компилятор C++14?

                                        Что я должен сделать в Windows, чтобы удобство использования хаскелепакетов хотя бы приблизилось к таковому в Gentoo, где достаточно добавить оверлей gentoo-haskell, после чего значительная часть важных пакетов с hackage просто интегрируется с системным пакетным менеджером? Все зависимости отслеживаются, обновлять-удалять просто, и так далее. Одна из причин, кстати, почему я так и не осилил cabal'ы всякие с их песочницами :(

                                        И что я должен сделать в Windows, чтобы у меня была всегда актуальная версия clang, boost, несколько версий gcc, и так далее?
                                          0
                                          К сожалению, я не специалист в области разработки, поэтому не смогу ответить на ваши вопросы. Но было бы здорово, если бы продвинутые Linux-администраторы помогли мне с ответом на мой вопрос. Читателю нужно понять, что вопрос задан не для того чтобы «померяться», а чтобы найти помощь. Пока Open Source сообщество отвечает мне пачкой минусов и озлобленными комментариями.
                                            +1
                                            А как ещё на глупости можно отвечать?
                                              +1
                                              На какие глупости? Почему когда рассказывают как сделать в одном продукте, и спрашивают, как то же самое делается в другом — это глупость?

                                              Если я спрошу какой командой создать ящик в Dovecot (doveadm mailbox create), а какой в Exchange (Enable-Mailbox), в чем здесь глупость?

                                              Статья интеграции Cisco Call Manager и Asterisk не кажется глупостью? Вы может не поверите, но придется настроить оба продукта идентично, даже если «религия» не позволяет.
                                                0
                                                Потому что разводить холивары Windows vs Linux — это глупость.
                                                Все мы и так знаем, что Windows во много-много раз круче ;-)

                                                Или статья и написана вашим учеником (подчинённым?… нужное подчеркнуть) для того, чтобы холивар поднять с новой силой?

                                                P.S. тем более, что обсуждается здесь статья, позиционирующаяся, вроде как, как Open Source и как его правильно понимать ;-)
                                              0
                                              А, прошу прощенья, я-то, в свою очередь, и не администратор вовсе, так, гуглить немножко умею, и с таким уровнем навыков под линуксом как-то проще.

                                              Ну, с моим комментарием тоже кто-то не согласен. Ничего, это вполне себе нормально. Видимо, кто-то считает некорректным моё замечание про cl.exe, или думает, что хаскель не нужен, или да мало ли.
                                            +2
                                            Что я должен сделать в развернутом дистрибутиве Linux (близкому вашему сердцу) по шагам, чтобы получить эту же функциональность

                                            Ничего. Вы изначально дали установку что у вас уже есть развернутый и настроенный Microsoft Server, я тоже могу считать что у меня есть развернутая и настроенная сборка Linux'a для предоставления услуг виртуального хостинга. То что 96.6% всех сайтов по мировой статистике хостятся на основе Линукс серверов намекает что Линукс намного более удобная и качественная система для этих целей.
                                              +1
                                              Позволю себе напомнить тему ветки «Работает из коробки».

                                              Да ну нет конечно, поставили из дистрибутива, включили в домен, да поехали виртуализовывать. И даже бесплатно, если это Hyper-V Server. И гости Linux у вас будут, и синтетические драйверы, и online backup и все написано как сделать.

                                              Я, можно сказать мучаюсь, нет нормальной, целостной документации по Linux KVM. Ни по технологии, ни по обвязке вроде qemu, libvirt, oVirt, Proxmox. И это большой, серьезный минус. Непонятный, высокий порог вхождения. Непродуктивно.

                                              А что у нас с аналогом VMware distributed vSwitch? Искал. Что-то есть, но документация такая, что лучше бы и не было.
                                      –1
                                      В посте явно не хватает логотипа ReactOS
                                        0
                                        Скромнее надо быть, а то так о себе напомнили, будто ваш проект очень важен. Хотел подколоть насчёт вечного альфа-статуса проекта, зашёл на reactos.org проверить, и вижу
                                        такую картинку


                                        The first Operating System controlled directly by its Community.
                                        Раньше хоть скромно писали, что «возможно, будете определять будущее ОС».
                                          0
                                          Не вижу противоречий. Большинством ОС управляют мейнтенеры, а не сообщество пользователей. В Комьюнети Эдишн будут учтены пожелания именно пользователей, которые поддержали этот выпуск материально на Индигого.
                                            0
                                            Ключевое слово — first.
                                              0
                                              Да, это первая операционная система этого рода. В контексте нашего сайта такое заявление вполне верно. Первый дистрибутив ReactOS, развитием которого управляет сообщество. Потому, что CE планируется как отдельный дистрибутив.
                                                +3
                                                Chrome — первый браузер, являющийся Chrome.
                                        0
                                        К первому опросу: Не могу себя назвать разработчиком опенсорса — так, пара коммитов замержена, с десяток баг-репортов пофикшено. Так что просто пользователь.

                                        Ко второму: знаю, что такое Яху, помню, что у него был поиск, но никогда его сервисами не пользовался, так что ничего не отвечал.
                                          +3
                                          > откомпилировали его открытым компилятором GCC – и все у вас в порядке.
                                          > А что если у вас несколько миллионов строк кода?
                                          > А если вы хотите включить в компиляторе нетривиальные оптимизации?
                                          > С очень большой вероятностью, вы столкнетесь с неприятностями.

                                          Пардон? Я правильно прочел: gcc — детская поделка для компиляции хелловорлдов? Тот же RHEL, разумеется, компилируется чем-то купленным за большие деньги у марсиан, да?
                                            +3
                                            В тексте отчётливо сквозит деформация общей картины мира, навеянная многолетним пребыванием в средах Microsoft. Такой себе… «взгляд на Open Source с аргументами от Windows».
                                              –1
                                              Бизнес EMС, как мне кажется, более близок к Enterprise. А в Enterprise, как вы понимаете, Microsoft, VMware и Citrix удерживают лидирующие позиции. «Не Open Source» это не только Microsoft.
                                                –1
                                                Главное, чтобы они гордо и не роняя чести несли высокое звание «лидирующих позиций»!
                                                  +1
                                                  Ну а куда деваться, появятся лучшие решения, потеснят с рынка имеющиеся. Кто знает, какая технология через 5 лет из платной станет открытой и бесплатной.

                                                  Многие отказываются от Cisco Call Manager в пользу Asterisk, разве это плохо? Этого говорит о зрелости технологии.

                                                  Вы разрабатываете под Apache а не IIS? Кто же осудит.

                                                  Кто-то начинает разработку не под MS SQL, а под PostgreSQL, ну молодцы, сэкономите заказчику лицензии, сделаете продукт дешевле чем у конкурента, выиграете тендер. Правда если по ходу пьесы PostgreSQL выкупит Oracle или Microsoft, как это произошло MySQL, не стоит удивляться.

                                                  Но многие технологии еще не готовы. Что, есть открытый 100% бесплатный почтовый сервер для корпоративного применения, сравнимый с Microsoft Exchange? Да я первый побегу его качать и ставить. Нет конкурентов. 20 лет разработки есть 20 лет разработки.

                                                  Надеюсь, вы понимаете вектор, которого я придерживаюсь.
                                                    –1
                                                    О! как я понимаю вектор…: Microsoft — наше фсё!
                                                      +4
                                                      Microsoft делает довольно неплохие продукты, они все таки являются линейкой некого «базового стандарта качества».

                                                      Но я вам сходу скажу и несколько принципиальных недостатков:
                                                      1) Microsoft это ширпотреб. Рынок предлагает не мало вполне конкурентных альтернатив
                                                      2) Стоимость продуктов хотя и является среднерыночной, тем не менее довольно высока
                                                      3) Продукты имеют «мутные» схемы лицензирования, и зачастую несут скрытые издержки
                                                      4) Условия корпоративных соглашений Microsoft являются, зачастую, кабальными
                                                      5) Техподдержка оставляет желать лучшего
                                                      6) Из-за Office 365 и Azure качество on-premises продуктов постоянно снижается.

                                                      Так могу пройтись по любому используемому вендору, мне они все не теплы не холодны. Просто бизнес.
                                                      0
                                                      Horde+Cyrus?!
                                                    0
                                                    А в Enterprise, как вы понимаете, Microsoft, VMware и Citrix удерживают лидирующие позиции.

                                                    Вы говорите странные вещи, если посмотреть статистку , то 97% суперкомпьютеров, 28% майнфреймов и 36.72% сайтов если брать самые крупные (и 96.6% если брать и мелкие сайты) это Линукс. Не говоря уже о том в UNIX статистике учитываются и свободные реализации Unix систем (вроде OpenBSD).

                                                    P.S. Вообще уже лет десять проработал в очень крупных Enterprise компаниях и занимался интеграциями с клиентами, почти везде Линукс или *nix системы и очень редко кто-то использует Microsoft Server и т.п.
                                                      0
                                                      Да… статейка оставляет странное ощущение.
                                                        +1
                                                        Суперкомпьютеры, мейнфреймы, это знаете или редкость, или же в % соотношении небольшая часть инфраструктуры. Да, из опыта в банке вполне найдется место платформам для высокопроизводительных вычислений, для того чтобы крутить страшно проприетарный Oracle, и что же из того, что там Linux? Он лучше соответствует задаче. Только там не CentoOS, а внезапно Red Hat.

                                                        Но тут появляются сотрудники, десктопы, файлы, почта, порталы, документооборот, и тут такой зоопарк, что не время для идеологии.
                                                          –1
                                                          Да, вы правы, там, скорее всего не CentoOS, а CentOS ;-)
                                                            +1
                                                            Пролистал упомянутую статью в wikipedia, и не нашел там ни CentOS, ни CentoOS, а вот RHEL, SLES, AIX и z/OS в достатке. Если вам есть, чем поделиться, правьте статью, на то она и wikipedia.
                                                              –1
                                                              Ссылку не я вам давал… обратитесь по адресу.
                                                              Но там отчётливо фигурирует CentOS.
                                                              А чем так уж существенно CentOS отличается от RHEL по вашему мнению?
                                                              … на CentOS разрабатываются и функционируют большинство телекоммуникационных проектов: VoIP, SIP, SS7, E1/T1/J1… — OpenSer, FreeSWITCH, YATE… Asterisk до того как был куплен Microsoft и тем погиб…

                                                                +1
                                                                Отличается он по моему мнению тем, что не имеет технической поддержки Red Hat, и вероятно на него недоступны ряд Red Hat'овских фирменных, платных продуктов. Может еще чем-то, подскажите.

                                                                Покупка же Microsoft'ом компании Digium не сделала Asterisk платным? Но почему вас удивляет, когда OS решение становится продуктом, кто-то может захотеть его купить, а кто-то продать.
                                                                  0
                                                                  При покупке поддержки от RH можно тоже очень удивиться, когда окажется, что этот самый RHEL не поддерживается на серверах HP, если куплен не через HP…
                                                                    0
                                                                    CentOS — по сути, тот же RHEL, но бесплатный. Соответственно, без поддержки. Обновляется со значительным опозданием. Т.е. это «старая» версия RHEL.
                                                                      +1
                                                                      Задержка обновлений там была от недостатка ресурсов. Сейчас она составляет от половины дня (для критичных обновлений) до нескольких суток.
                                                                    +1
                                                                    Нашел я ссылку и для вас.
                                                                    digitaloctober.ru/en/events/red_hat_forum/video

                                                                    BUILDING INFRASTRUCTURE FOR VTB BANK WITH RED HAT

                                                                    Посмотрите видео, это любопытно. Там, звучит фраза «It is an open source product, but we can get enterprise level support which was one of the key requirements». Почему-то я не удивлен.
                                                                      0
                                                                      Подавляющее большинство open source products, предлагаемые за плату, большую чем стоимость носителя/трафика, распространяются по этой схеме: с кодом вы вольны делать что угодно (кроме плагиата и т. п.), а за деньги вы получаете поддержку, первый шаг которой состоит в доставке кода вам.
                                                                –1
                                                                Да, из опыта в банке вполне найдется место платформам для высокопроизводительных вычислений

                                                                В РФ банке? Наш «Enterprise» от западного Enterprise очень сильно отличается, у них скорее привычка к Apple решениям, чем к виндовым как у нас.

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

                                                                Не поверите, но на Западе весь этот зоопарк крупного Enterprise редко сидит на винде (на Apple и то чаще), это у нас 1С и ему подобные решения выработали привычку к Win. Файлы, почта, порталы, документооборот прекрасно живет на Java решениях и *nix серверах. Да, не всегда и не все там open-source, но многое, довольно многое.
                                                                  +1
                                                                  В РФ банке, конечно. Хорошая централизованная автоматизированная банковская системы дает серьезную нагрузку.

                                                                  Давайте пройдемся по публичной информации:
                                                                  www.businesspress.ru/newspaper/article_mId_21961_aId_323495.html
                                                                  ВТБ объявил о начале использования мейнфрейма IBM eServer zSeries 900

                                                                  www.jetinfo.ru/jetinfo_arhiv/tekhnologii-ibm-koktejl-iz-traditsij-i-novatorstva/koktejl-iz-traditsij-i-novatorstva/2015
                                                                  Модернизация процессингового центра «МультиКарты». Для создания распределенного вычислительного комплекса мы использовали вычислительную платформу компании IBM – серверы IBM Power 570 со встроенной виртуализацией

                                                                  Думаю, что по другим банкам аналогичном. Потребность банков в высокопроизводительных вычислениях однозначно есть.
                                                                +1
                                                                Exchange Server пользуются все, пару лет назад даже на mail.facebook.com и mail.yandex-team.ru красовался стандартный экран Outlook Web App. И если судить по наличию autodiscover.fb.com и autodiscoverюyandex-team.ru, он там живёт до сих пор.
                                                          +2
                                                          По-моему, неправильно представлять open-source сообщество как какой-то единый монолит, движущийся по каким-то определенным направлениям-трендам, да ещё с едиными мотивами. Наблюдаемые тренды лишь суперпозиция действий и мотивов всех участников сообщества от «одиночек с красными глазами» до мега-корпораций «зла и добра».

                                                          И с мифами перебор вышел:

                                                          1. Деньги на опенсорсе делают те, кто хочет и может их делать. Эти два условия необходимы и достаточны.

                                                          2. «Платить за что-то кому-то» означает «исполнять обязательство перед кем-то в обмен на что-то с его стороны».

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

                                                          2.2 Если я делаю это днём очень долго, не нарушая своих оценок, то работодатель платит мне не за опенсорс, а за то, что я предложил (или согласился) для решения его бизнес-задач использовать тот или иной сторонний продукт, и он согласился (или предложил) оплатить мне это моё рабочее время. Опять же, от типа продукта тут ничего не зависит. Зависит от моего профессионализма как разработчика при оценке времени и его профессионализма как бизнесмена при оценке моего профессионализма. И платит он не за опенсорс, а за моё рабочее время и мой профессионализм. Так же как за «коробку» заплатит за профессионализм её разработчиков и интеграторов, но ещё заплатит и за прибыль их компаний. Может это выгоднее окажется, может нет, но решающей будет его личная оценка издержек и рисков, а не сроки и деньги названные мною, разработчиками «коробки» или её интеграторами.

                                                          2.3 Размер не имеет значения. Вернее он имеет значение, но в случае возникновения проблем, которые на большом количестве кода в среднем по больнице более вероятны, заказчик платит не за опенсорс, а за решение проблемы.

                                                          В целом, заказчик/работодатель или подрядчик/работник платят всегда деньгами и(или) временем за решение своих проблем, но в случае платных проприетарных продуктов заказчик/работодатель кроме платы за решение своих проблем (неважно чьими силами) платят деньгами и за право использовать чужие разработки для их решения, в отличии от FOSS, когда за это право им платить деньгами не надо, а зачастую и вообще ничем платить за него не надо, кроме смены копирайтов и прочего плагиата.
                                                          • UFO just landed and posted this here
                                                              +2
                                                              Да в гробу я видел эту джаву, и LLVM мне тоже не впёрся, в смысле вещь не плохая, но и на gcc всё точно так же собиралось и работало.
                                                              Мне вот интересны: FreeBSD, FreeRDP, Miranda NG, FireFox, geany, OpenSSH — где там огромные корпорации?
                                                              Фрирдп — полторы колеки пилят постоянно, миранду с десяток человек, фрибсд — свой фонд, куда донатят + иногда код сливают в базу из своих наработок.


                                                              Вот с такими друзьями Open Source сообществу никакие враги не нужны. Думали ли вы, Иван, над тем, что комментируя в подобном духе, вы оставляете грустное впечатление о профессионализме сторонников OS?

                                                              Давайте разберем эту неприятную фразу «Фрирдп — полторы колеки пилят постоянно». Вне зависимости от того, какой смысл вы вкладываете в слово «колека», огульно называя так разработчика неплохого продукта, главный разработчик, Marc-André Moreau, внезапно является главой компании Awake Coding Consulting, www.awakecoding.com Он FreeRDP на жизнь себе зарабатывает.
                                                              • UFO just landed and posted this here
                                                                  0
                                                                  Шланг лучше, там всё в порядке.

                                                                  Мечтаю о том дне, когда в дистрибутивах он будет более-менее адекватно поддерживаться.
                                                                –2
                                                                Отличный комментарий!
                                                                Именно комментарий (разбор) текста статьи, а не раздувание срача Windows vs Linux.
                                                                Хоть одному комментатору не лень было потерять время и показать, что публикация по аргументированности своей — дерьмо.
                                                                  0
                                                                  но и на gcc всё точно так же собиралось и работало

                                                                  А у меня баттхерт, что в gcc до сих пор не могут починить 14.8.2.1/4, а это, простите, чуть ли не C++03. Поэтому gcc не может вывести шаблонные типы в коде вроде
                                                                  class QStringList : public QList<QString> { ... };
                                                                  
                                                                  template<template<typename> class Cont, typename T>
                                                                  void Foo (const Cont<T>& cont) { ... }
                                                                  
                                                                  Foo (QStringList {});
                                                                  


                                                                  Багрепорт есть, да.
                                                                  –2
                                                                  Думали ли вы, Иван, над тем, что комментируя в подобном духе, вы оставляете грустное впечатление о профессионализме сторонников

                                                                  OS Windows ;-)

                                                                    –2
                                                                    А вот по-настоящему работать с ним начал меньше двух лет назад. Но успел уже здорово нахлебаться примерно от десятка различных проектов.

                                                                    Это, конечно, ста-а-а-а-аж ...;-)
                                                                    Более чем достаточный, чтобы сметь поучать других.

                                                                    На моем предыдущем месте работы даже относительно небольшой коллектив из 20 разработчиков раз в пару месяцев наталкивался ошибки в ядре Линукса.

                                                                    А здесь автор попросту безбожно врёт, рассказывает сказки и не краснеет.
                                                                      0
                                                                      А здесь автор попросту безбожно врёт, рассказывает сказки и не краснеет.
                                                                      Далеко не факт. Я за последний год наткнулся на 2 идентифицированных (по ним, хоть и на других версиях ядра, уже были багрепорты: один в netfilter при использовании netns, второй в cpuacct/cgroups) и 3 пока неидентифицированных баги, приводящие к panic. В основном это use after free и NULL dereference.

                                                                      Бывают ещё баги, не приводящие к panic (типа невозможности удаления overlay в некоторых случаях при использовании overlayfs).

                                                                      Я к тому, что использование новых подсистем ядра связано с риском увеличенной плотности обнаружения багов. Я сейчас активно использую docker, посему и наткнулся на проблемы в netns и cpuacct cgroup. Ядра, если что, из rhel 6 и 7 (на centos).
                                                                      0
                                                                      Спасибо, прочитал на одном дыхании. И концовка душевная такая получилась, про коммунизм.

                                                                      Only users with full accounts can post comments. Log in, please.