Для тех, кто не в курсе: Hacktoberfest – это ежегодное мероприятие, которое проходит каждый октябрь. Его проводит компания Digital Ocean с целью мотивировать разработчиков отправлять pull request-ы в репозитории с открытым кодом. Все участники получают за свой вклад футболку в подарок. Ограничений практически никаких: если pull request прошёл в любой репозиторий – вы получаете футболку. Супер.
Катастрофа
На Твиттере вдруг началось какое-то безумие. Не успел месяц начаться, как стали появляться посты от владельцев репозиториев с открытым кодом с жалобами на pull request-ы крайне низкого качества, а то и откровенный спам.
Пожалуйста, прекратите спамить #hacktoberfest ради бесплатной футболки
Да! У меня входящие забиты идиотскими PR с #hacktoberfest. Некоторые просто добавляют тире в readme и всё в таком духе
Привет, я @shitoberfest. Вы ведёте проект с открытым кодом? Тогда делайте скриншоты всего мусора, который вам накидали на #hacktoberfest, и отправляйте их с тэгом @shitoberfest, чтобы нам было проще собирать и распространять информацию.
Есть и такие, кто говорит о своих мотивах открытым текстом:
Вот лучший PR из тех пятидесяти, которые мы получили только за сегодня. Человек хотя бы в лоб заявляет, зачем это делает.
На скриншоте: Пжлста примите PR чтоб мне дали футболку
Тьфу ты, это уже как-то на нервы действует. Похоже, и я стал жертвой спама на Hacktoberfest от @digitalocean
Даже репозиторию Covid19Tracking досталось.
Мы занимаемся трэкингом распространения ковида в США… а теперь, похоже, еще и отклонением PR со спамом.
Чтобы отслеживать масштабы проблемы, кто-то даже создал особый аккаунт @shitoberfest.
Причины
Источником этого наплыва PR-пустышек со спамом, похоже, является владелец канала на Youtube с 672 тысячами подписчиков, который опубликовал видео, где демонстрирует, как просто отправить pull request в репозиторий. Он допустил большую ошибку, показав процесс на примере pull request-а с нулевой ценностью. Тем самым он дал своим подписчикам понять, что планка поставлена очень низко, а они стали повторять его действия точь-в-точь.
Мне не хотелось бы давать прямую ссылку и нагонять этому каналу аудиторию, так что вместо этого ссылаюсь на пост в Твиттере, где показан роковой момент.
Этот ютубер с 672 тысячами подписчиков призывает людей отправлять PR НИЗКОГО КАЧЕСТВА на #hacktoberfest. Не одобряю.
Реакция
Реакция владельца аккаунта CodeWithHarry на произошедшее была, мягко говоря, слабой. Никаких извинений не прозвучало, вместо этого блогер указывает на неоднократные упоминания в ролике того факта, что pull request-ы должны быть полезными. Это, по его мнению, снимает с него ответственность.
Очень всех прошу не отправлять спам в качестве pull request-ов в репозитории на GitHub! Некоторые люди считают, что я поставил под удар сообщество разработчиков, работающих с открытым кодом. В своём видео я хотел просто воодушевить людей на участие в мероприятиях, которые привлекают к работе над проектами с открытым кодом, объяснить им, что такое pull request и как это вообще делается!
Те, кто говорит на хинди, могут сами посмотреть видео и убедиться. Для тех, кто не знает хинди и с чего-то решил, что я призываю людей отправлять спам в pull request-ах, объясняю: в ролике я говорю только о том, чтобы предлагать нормальные изменения в проекты с открытым кодом, ничего больше. Нигде не звучало, что нужно отправлять бесполезные pull request-ы. Я совершенно ясно высказывался на этот счёт несколько раз (0:55 – ваш вклад должен быть полезным, чтобы заслужить одобрение, 07:51 – предлагайте стоящие изменения, то же на 10:58, 11:10). И что касается момента на 05:33 – я специально не стал выбирать проект, который активно ведётся, и вместо этого взял заброшенный проект, просто чтобы показать как в принципе выстраивается процесс подачи вклада в репозиторий. Я не поддерживал массовую рассылку спама!
И я согласен, что на подобных мероприятиях вроде hacktoberfest лучше вводить правило, что в счёт идут только содержательные pull request-ы. Но это уже давно обсуждается, с самых первых лет существования hacktoberfest. И ещё хочу сказать, что многие создали аккаунт на GitHub, научились создавать pull request-ы и внесли реальный, ценный вклад в проекты с открытым кодом. Я горжусь этими людьми и надеюсь, что всё остальное сообщество разработчиков тоже будет вести себя порядочно.
Спасибо. Гарри.
Однако размещение закреплённого поста с этим текстом – пожалуй, меньшее, что он мог сделать, чтобы как-то приостановить вакханалию.
А откуда вы знаете, что это дело рук CodeWithHarry?
Вот скриншот списка pull request-ов, который поступили в репозиторий micromtn. Каждый из них выглядит как-то так:
Это очень напоминает тот pull request, который был показан в качестве примера на видео.
Если запустить поиск по фразе improve docs, выдаётся 319 251 результатов. Поиск по фразе Amazing Project на данный момент даёт 21 177 совпадений.
Владелец CodeWithHarry – не злодей какой-то, я вовсе не хочу, чтобы его публично распинали. Все мы люди, что уж там. Учитывая, сколько у него подписчиков, его видео определённо оказались полезными для очень многих. Но он сделал неверный шаг, и ответственность за последствия ложится на него. А последствия пока производят печальное впечатление.
На данный момент его профиль на GitHub перенаправляет на страницу 404. Непонятно, удалён он, переведён в приватный режим или переименован. А ведь ещё только один день прошёл.
Даже сама компания Digital Ocean высказалась по поводу этого провала.
Мы пришли к выводу, что большая часть спама берёт начало от одного из участников с большой онлайн-аудиторией, который открыто призывал сообщество принимать участие в рассылке спама и даже подавал идеи о том, как обойти правила.
В общем, дым коромыслом. Нам остаётся только ждать, чтобы узнать, чем всё это закончится.
UPD
Статья вышла в топ на Hacker News, в комментариях можно найти дополнительную информацию.
GitHub принял меры:
Хотите сделать передышку или ограничить круг людей, которые могут отправлять pull request в ваш репозиторий? Теперь вы можете поставить ограничения по взаимодействию на нужный период. Эту возможность вы найдёте по пути project settings › moderation settings › interaction limits.
Digital Ocean тоже приняла меры:
Мы вас услышали и вводим самое крупное новшество за всю историю мероприятия. Проекты и их владельцы теперь официально становятся участниками @ Hacktoberfest 2020 только по согласию! Мы с радостью сообщаем об этой перемене, которая повысит качество контента, и с нетерпением ждём ваших вкладов.
UPDATE: Теперь в Hacktoberfest участвуют только проекты, владельцы которых дали на это согласие – изъявить желание присоединиться очень просто: добавьте hacktoberfest в список тем репозитория. Спасибо, что проявляете терпение в нашем процессе непрерывного совершенствования Hacktoberfest!
TheGodfather
В общем-то считаю данный шаг категорически необдуманным со стороны организаторов. Как будто и в прошлых годах не было спама. И вариант борьбы с этим был — пометить PR как спам и тогда автоматика хактоберфеста и не засчитает этот и вроде даже может «забанить» его автора от участия в этом году вообще. Но нет, вместо того, чтобы использовать рабочий механизм, они на ходу сделали разворот проекта на 180 градусов превратив его в местячковый локальный проект. За три года, которые я участвую, из проектов, в которых я участвую, я видел лишь пару, которые хотя бы добавляли тэг «хактоберфест» на несколько issue. И в прошлые года вроде даже на сайте проекта в FAQ был пример-вопрос, типа «если я исправлю одну опечатку, это будет считаться?» — и было прямым текстом написано «будет, однако мы рекомендуем делать более серьезные контрибьюты». И в прошлые года был спам. И жаловались на однострочные ПР. Но неужели это не лучше чем ничего? Даже одну опечатку исправить — это уже улучшить ситуацию. Я, конечно, не знаю, но думаю, что это особенно интересно маленьким проектам, где внешних контрибьюторов-то нет, а пользователей немного есть. Так если хотя бы один пользователь зайдет в репозиторий и что-то пофиксит — так это же хорошо.
С новым подходом тысячи проектов потеряют потенциальных контрибьюторов. Организаторы не дали время авторам репозиториев это осознать, что теперь для контрибьютов им *обязательно* нужно будет там тэги добавить или как еще заоптиниться. Предупредили бы за месяц — так вот за Prepember бы как раз все кто хотел и слышал могли бы свои репозитории подготовить. А сейчас, в середине процесса — ну блин, такое.
Короче, «Ха
брктоберфест уже не торт».0xd34df00d
Да уж. Если раньше надо было искать репозитории с хаскелем и открытыми issue'ами, то теперь надо искать с хаскелем, issue'ами и топиками. И вещи типа таких зачитываться не будут, так как в неучаствующую репу.