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

В начале 20-х чисел августа сего года разработчики, которые устанавливали Standard через менеджер пакетов npm, смогли лицезреть в своих терминалах здоровенный рекламный баннер.


Рекламный баннер в терминале

Эта реклама создана средствами нового проекта — Funding. Им занимаются разработчики библиотеки Standard. Библиотека Funding была включена в Standard 14.0.0. Эта версия Standard вышла 19 августа. Именно тогда реклама и начала появляться в терминалах.

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

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

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

«Суть дела в том, что те, кто занимается поддержкой [опенсорсного софта] нуждаются в деньгах», — говорит Винсент Уиверс — разработчик из Нидерландов. «Более совершенные решения этой проблемы могут появиться в будущем: а до тех пор, пока их нет, можно и примириться с рекламой. Это не так уж и плохо. Хотя лично мне не особенно нравится видеть рекламные баннеры в терминале, я понимаю их необходимость и полностью поддерживаю эту идею», — продолжает он.

«Мой терминал — это последняя крепость, последний оазис спокойствия, который не показывает мне непрерывные потоки рекламы от воротил бизнеса. Я категорически против этой идеи, так как уверен в том, что она в корне противоречит духу опенсорса, который мы взращивали десятилетиями», — говорит Вук Петрович — разработчик из США.

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

«Я не хочу смотреть рекламу в моих CI-логах, и мне не хочется и думать о том, что будет, если другие пакеты начнут делать то же самое. Некоторые JS-пакеты имеют десятки, сотни, или даже больше зависимостей. Можете себе представить то, что начнётся, если все они будут показывать рекламу?», — сказал Роберт Хэфнер — разработчик из Калифорнии.

Сейчас рекламу показывает лишь библиотека Standard, но со временем проект Funding, средствами которого это делается, может стать более популярным. Это может быть похоже на то, как за последний год выросла популярность проекта OpenCollective.

OpenCollective — это проект, похожий на Funding. Но он, вместо показа баннеров, выводит в терминале просьбы о пожертвованиях, в которых разработчикам предлагается переводить средства некоему проекту. Эти просьбы тоже выводятся в терминале npm после установки различных библиотек.


Сообщения OpenCollective

С прошлого года сообщения OpenCollective были добавлены во многие опенсорсные проекты. В такие, например, как core.js, JSS, Nodemon, Styled Components, Level, да и во многие другие.

Так же, как и в случае с Funding, разработчики выражали недовольство, видя эти сообщения в терминале. Однако они были готовых их принять, так как в них всего лишь содержались просьбы о пожертвованиях, а не полномасштабные рекламные объявления.

Однако в случае с Funding возникает такое ощущение, что этот проект пересёк некую черту в умах некоторых разработчиков, которые не хотят видеть рекламу в своих терминалах ни под каким предлогом.

Некоторые их этих разработчиков надавили на Linode — на одну из компаний, которая договорилась с Funding о показе рекламы. Компания, в итоге, решила не накалять обстановку и отказаться от этой идеи.

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

Итоги


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

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

Уважаемые читатели! Как вы относитесь к рекламе в терминале? Какие пути финансирования опенсорса кажутся вам наиболее адекватными?

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


  1. kekekeks
    02.09.2019 12:35

    Самая популярная на текущий момент .NET-библиотека в своё время при установке/обновлении NuGet-пакета через PowerShell-скрипт открывала в Visual Studio вкладку со своим сайтом, где крутили рекламные баннеры. Ничто не ново под луной.


    1. tmin10
      02.09.2019 18:13

      А у меня в PowerShell вот такое было, тоже немного реклама:
      image


  1. HardWrMan
    02.09.2019 12:36
    +3

    Я даже удивлён, почему появление рекламы в терминалах появилась так поздно при нынешних тенденциях. Дело за малым — сделать терминал с блокировкой этой рекламы.


    1. JTG
      02.09.2019 12:49
      +1

      На основе Chromium! Можно будет смотреть видео в терминале или читать статьи «12 замечательных способов анимировать кнопки при помощи React», пока ваши зависимости устанавливаются.


      1. Victor_koly
        02.09.2019 12:52
        -1

        Срочно нужны вкладки в терминале, открыть несколько окон уже мало.


        1. HardWrMan
          02.09.2019 13:37

          Да и screen уже не торт, там не удобно мышкой орудовать. :)


        1. Minifets
          02.09.2019 13:48

          Эм… вкладки в терминале уже есть. Чднт?


        1. Tatikoma
          02.09.2019 14:37

          В gnome-terminal есть вкладки :)


          1. Victor_koly
            02.09.2019 14:47

            Ну забыл, я не такой уж прямо линуксоид. Кажется все же пользовался «Open in new window» (Ctrl+Shift+T видимо).


        1. Beyondtheclouds
          02.09.2019 17:54

          терминалы со вкладками есть уже последние я хз сколько лет — лет 10 точно)


      1. Fedcomp
        02.09.2019 14:44

        Был терминал который умел картинки отображать (на браузерном движке, не помню каком), и еще что то.


        1. Tatikoma
          02.09.2019 15:57

          Есть замечательный libcaca, который умеет картинки отображать. Да и видео в общем-то тоже.


          1. Fedcomp
            02.09.2019 16:01

            это ascii. А там было буквально что то типа cat image.png и он в терминал картинку рисовал.


            1. Tatikoma
              02.09.2019 16:12

              sudo snap install --edge tiv
              tiv image.png


              1. Fedcomp
                02.09.2019 16:49

                > using RGB ANSI codes
                > ANSI

                Я говорил про терминал который настоящие картинки рисует, типа такого:
                www.youtube.com/watch?v=ibPziLRGvkg


                1. Tatikoma
                  02.09.2019 17:47

                  Без иксов это не заработает. Это не настоящий терминал. Нужно выбрать — либо настоящий терминал, либо настоящие картинки :-)


                  1. Fedcomp
                    02.09.2019 17:52

                    Был терминал который умел картинки отображать (на браузерном движке, не помню каком), и еще что то.


                    Я и не говорил что он «настоящий» )


                    1. Tatikoma
                      02.09.2019 18:47

                      sudo apt install feh
                      feh image.png


                      1. Fedcomp
                        02.09.2019 19:00

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


                  1. khim
                    02.09.2019 22:58

                    Как «не настоящий»? Почему «не настоящий»? Вы ещё скажите, что про VT241 и ReGIS не в курсе!



      1. HardWrMan
        02.09.2019 15:43

        Они будут крутить ASCII видео, а внизу будет надпись: «Пропустить рекламу можно будет нажав Ctrl+Z через ХХХ секунд».

        Как это будет выглядеть можно посмотреть здесь: habr.com/post/7378


        1. Maccimo
          05.09.2019 01:54

          Ctrl-Z не канонично, должно быть Esc-Esc.


          1. HardWrMan
            05.09.2019 06:05

            Ну, это уже частности. Можно и Ctrl+C/Break.


      1. ngOo
        02.09.2019 16:50

        Уже есть такое.


      1. idea-list
        02.09.2019 23:36

        Вот пожалуйста, уже давно есть Hyper. И даже 31к звезд на GitHub, людям нравится.


    1. Aingis
      02.09.2019 13:11

      Так уже:

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


      1. HardWrMan
        02.09.2019 15:39

        А в терминале будет «Обнаружен блокировщик рекламы. Данный терминал заблокирован. Пожалуйста, разрешите отображение рекламы в данном терминале.»


  1. lowtechomega
    02.09.2019 12:42

    ничего, скоро адблокер для терминала накатуют)


  1. Victor_koly
    02.09.2019 12:51
    -2

    Так тут речь про терминал Винды или каких-то Никсов?
    А, понял — «менеджер пакетов, входящий в состав Node.js».


  1. lordKelvin
    02.09.2019 13:48

    Отключите блокировщик рекламы, чтобы пересобрать систему.


  1. sanchezzzhak
    02.09.2019 14:09

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


  1. xenikopa
    02.09.2019 14:10

    Справедливости ради — возможность отключить рекламу была изначально в блоке How can I disable this?.


  1. aamonster
    02.09.2019 14:16
    +2

    Хм… Кмк, для опенсорса это должно просто привести к появлению клонов с вырезанной рекламой, нет?


    1. alsii
      03.09.2019 09:16

      и добавленной своей :-(


  1. ReklatsMasters
    02.09.2019 14:33
    +1

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


  1. rjhdby
    02.09.2019 15:04
    +9

    И здоровенный рекламный баннер в конце статьи...


    1. Aingis
      02.09.2019 17:12

      На Хабр забесплатно тоже мало кому охота писать. (ППА работает не для всех, и существенно уступает обычному заработку.)


    1. Flux
      02.09.2019 18:31

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


      Удивлен что еще не сделали расширение скрывающее все посты из корпоративных блогов.


      1. rjhdby
        04.09.2019 12:52

        Все статьи с меткой "Блог компании xxx" пишутся ради вот этого рекламного блока в конце

        Вот нет.
        Довольно часто статья пишется потому, что человеку интересно ее написать. Баннер компании над(и под) статьей — это компенсация компании потраченного на написание статьи рабочего времени.


  1. semibiotic
    02.09.2019 21:01
    +2

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

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


  1. megafonishe
    03.09.2019 08:11

    «Джонни, они в терминале, эти чертовы баннеры научились прятаться даже там!»


  1. Gar02
    03.09.2019 09:46
    +2

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


    1. JuniorIL
      03.09.2019 12:37

      Вот прямо представляю, через годик строка в логах

      exceptional discounts on your next summer vacation! Avoid common errors, be an educated user: save time on ordering. Hurry up, our queue is full! This summer, let the emotions overflow you. Contact NullPointerException tours today.

      Чтобы пользователь ELK точно не ошибся в настройках.


      1. HardWrMan
        03.09.2019 13:10

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


  1. JuniorIL
    03.09.2019 11:29
    +1

    Совсем недавно собирал какой-то проект на реакте в НПМ, так во время npm install автор какой-то либы писал в консольку, дескать возьмите на хорошую работу… Уже тогда подумал, что совсем уже ничего святого не осталось.


  1. Zanak
    04.09.2019 11:02

    Любые меркантильные отношения подразумевают обязательства обеих сторон, одна — оплатить определенное количество работы, другая — ее выполнить, в срок и качественно. Чем это отличается от обычного найма, например, фрилансера?
    Опять же, если добрый дядя оплатил фитчу, которую считал очень нужной, а автор не желает ее включать в пакет, как быть, если авторское право ни кто не отменял?
    В общем, странная идея.


  1. deitry
    04.09.2019 14:49

    А раньше сбор средств в терминале был куда более приемлемым.


    Помогите детям в Уганде

    image