Рассказ о том, как популярная JavaScript-библиотека начала выводить в терминал рекламу

Автор оригинала: Catalin Cimpanu
  • Перевод
В пакете 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».

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

RUVDS.com
1 100,25
RUVDS – хостинг VDS/VPS серверов
Поделиться публикацией

Похожие публикации

Комментарии 52

    +1

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

      +1
      А у меня в PowerShell вот такое было, тоже немного реклама:
      image
        +2
        npm run-script build
        проблемы с доступом к джойказино?
        +16
        Я даже удивлён, почему появление рекламы в терминалах появилась так поздно при нынешних тенденциях. Дело за малым — сделать терминал с блокировкой этой рекламы.
          +6
          На основе Chromium! Можно будет смотреть видео в терминале или читать статьи «12 замечательных способов анимировать кнопки при помощи React», пока ваши зависимости устанавливаются.
            –5
            Срочно нужны вкладки в терминале, открыть несколько окон уже мало.
              0
              Да и screen уже не торт, там не удобно мышкой орудовать. :)
                +11
                Эм… вкладки в терминале уже есть. Чднт?
                  0
                  В gnome-terminal есть вкладки :)
                    –1
                    Ну забыл, я не такой уж прямо линуксоид. Кажется все же пользовался «Open in new window» (Ctrl+Shift+T видимо).
                    +2
                    терминалы со вкладками есть уже последние я хз сколько лет — лет 10 точно)
                    0
                    Был терминал который умел картинки отображать (на браузерном движке, не помню каком), и еще что то.
                      +1
                      Есть замечательный libcaca, который умеет картинки отображать. Да и видео в общем-то тоже.
                        0
                        это ascii. А там было буквально что то типа cat image.png и он в терминал картинку рисовал.
                          0
                          sudo snap install --edge tiv
                          tiv image.png
                            0
                            > using RGB ANSI codes
                            > ANSI

                            Я говорил про терминал который настоящие картинки рисует, типа такого:
                            www.youtube.com/watch?v=ibPziLRGvkg
                              0
                              Без иксов это не заработает. Это не настоящий терминал. Нужно выбрать — либо настоящий терминал, либо настоящие картинки :-)
                                0
                                Был терминал который умел картинки отображать (на браузерном движке, не помню каком), и еще что то.


                                Я и не говорил что он «настоящий» )
                                  0
                                  sudo apt install feh
                                  feh image.png
                                    0
                                    Оно не в окне терминала, да и список превьюшек не выводит. С тем же успехом я могу через imagemagick в иксах открывать картинку.
                                  0
                                  Как «не настоящий»? Почему «не настоящий»? Вы ещё скажите, что про VT241 и ReGIS не в курсе!
                          0
                          Они будут крутить ASCII видео, а внизу будет надпись: «Пропустить рекламу можно будет нажав Ctrl+Z через ХХХ секунд».

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

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

                              0
                              Ну, это уже частности. Можно и Ctrl+C/Break.
                            0
                            Уже есть такое.
                              0
                              Вот пожалуйста, уже давно есть Hyper. И даже 31к звезд на GitHub, людям нравится.
                              0
                              Так уже:
                              Более того, некоторые разработчики пошли ещё дальше, направив энергию своего гнева на создание первого в мире блокировщика рекламы для интерфейса командной строки.
                                +1
                                А в терминале будет «Обнаружен блокировщик рекламы. Данный терминал заблокирован. Пожалуйста, разрешите отображение рекламы в данном терминале.»
                              +1
                              ничего, скоро адблокер для терминала накатуют)
                                –6
                                Так тут речь про терминал Винды или каких-то Никсов?
                                А, понял — «менеджер пакетов, входящий в состав Node.js».
                                  +13
                                  Отключите блокировщик рекламы, чтобы пересобрать систему.
                                    +1

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

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

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

                                          0

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

                                          +12

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

                                            +15

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

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

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


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

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

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

                                                    0
                                                    Достаточно просто ввести фильтр в тот же uBlock Origin

                                                    `habr.com##li.content-list__item_post:has-text(/Блог компании/)`
                                                  +3
                                                  Проблема современной рекламы — в том что ее дает даже не третье, а пятое+ лицо (т.е. площадка нанимает агрегатора (суб-суб-агента), который работает с суб-агентом, который работает с агентом, который работает с рекламодателем). И в этой цепочке, контроль контента либо отсутствует вовсе, либо является слабым. И сколь не была бы хороша площадка и сколь бы ни был хорош ее агрегатор рекламы, но вы как пользователь всегда имеете возможность получить маргинальную рекламу (непристойную, раздражающую, мошенническую) или вирус.

                                                  Это нужно понимать площадкам, которые зарабатывают агрегированной рекламой — вы отдаете свою аудиторию в руки маргиналам. Люди это врядли оценят.
                                                    0
                                                    «Джонни, они в терминале, эти чертовы баннеры научились прятаться даже там!»
                                                      +3
                                                      За рекламу в терминале надо убивать жестоко наказывать. Не хватало нам рекламных шЫдевров при анализе логов!
                                                      Понятно, что разработчикам хочется кушать, но надо быть разборчивее в выборе средств заработка. Многим, например, не хватает денег, но они не выходят грабить людей по ночам.
                                                        +1
                                                        Вот прямо представляю, через годик строка в логах
                                                        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 точно не ошибся в настройках.
                                                          0
                                                          Причём подобного объёма текст «обёртывает» каждый «чих» в лог. Чтобы лог был большим и поиск жутко замедлялся, выкидывая первичные варианты именно этих сообщений а юзер терял терпение при ожидании полезной информации.
                                                        0

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

                                                          0

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

                                                            0

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


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

                                                            image

                                                              0
                                                              Помню после ssh подключения на Ubuntu Server, в консоле выводилось сообщение, что есть платная поддержка от Canonical. Видел такое лет 10 назад.
                                                                –1

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

                                                                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                                Самое читаемое