Введение

Пожалуй, начну с того, что я использую GitHub. И, как любой другой разработчик, подписан на обновления некоторых интересных мне проектов. Их количество не велико (~100 штук), но достаточно, чтобы судить о происходящем. Итак, начнём.

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

Суть Хактоберфест была в том, что за четыре PR можно было получить футболку и стикеры от DigitalOcean и GitHub. Вот тут-то ситуация и поехала. Люди просто заходили в популярные репозитории и делали PR, который склеивал ветку develop и master. Надеюсь, что они получили свои футболки и рады проделанной работе по развитию проектов с открытым исходным кодом.

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

Игнорирование CONTRIBUTING.md

Практически во всех проектах присутствует замечательный файл CONTRIBUTING.md, в котором написаны правила подачи PR и некоторые положения относительно создания вопросов.

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

Примерами могут послужить следующие проекты:

  • October CMS. Довольно часто люди присылают PR в master-ветку, хотя ясно написано, что все PR должны быть отправлены в develop-ветку. Также в правилах указано, что компилируемые файлы не должны включаться в PR — большинство узнаёт об этом только лишь из комментариев от разработчика.
  • Ghost. В правилах сказано, что раздел «вопросы» необходимо использовать для оповещения о багах, а все остальные вопросы необходимо задавать на Stack Overflow или в Slack. Разумеется, что никто эти правила не читает и практически каждый третий вопрос Ханна и другие разработчики вынуждены тыкать в правила, которые, опять таки, никто не читает.
  • Anchor CMS. В правилах сказано, что файлы переводов нужно отсылать в соответствующий репозиторий, но каждый раз я вижу, что никто не хочет это делать правильно.
  • Bootstrap. В правилах сказано, что любой баг должен быть подкреплен примером того, как этот баг воспроизвести. Однако, немногие люди делают это с первого раза.

Совет

Люди, просто читайте правила. Это не сложно. Возможно, если вы правильно составите свой вопрос или PR, то его быстрее рассмотрят.

Синдром «одиночки»

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

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

Совет

Люди, будьте терпеливыми. Это не сложно. Возможно у разработчика сейчас нет времени на этот вопрос или PR, ведь за Open Source не всегда платят.

Приветы от новичков

Часто люди присылают «нулевые» PR, в которых добавляется какой-нибудь текст. Таким образом люди учатся отправлять PR. Замечательно, но зачем такие PR отсылать в крупные проекты?

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

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

Совет

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

Просьбы о помощи

Довольно редко, но всё же попадаются вопросы, в которых люди просят помочь им что-то сделать или понять. Это можно было бы простить, если это бы их вопрос относился к репозиторию и проекту, который в нём находится, но темы вопросов иногда сводятся к: «а как сделать то?», «а как сверстать это?», «а подскажите, что почитать?».

Совет

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

Перебежчики

Недавно видел просто вопиющий случай неуважения. Человек предложил проекту сменить Grunt на Gulp, на что разработчики ответили ему отказом в виду того, что текущее положение дел их устраивает. Действительно, зачем менять Grunt на Gulp, если проект собирается только во время тестов и не требует «живой» сборки. На отказ человек ответил примерно следующее: «окей, тогда я перейду на проект Х, где используется Gulp».

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

Совет

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

Шутки

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

Совет

GitHub — это не место для шуток. Можете писать такое в Твиттере, но не здесь.

Адекватность

И снова вопиющее неуважение: Microsoft открыла исходный код VS Code в конце того года. Примерно через месяц был написан вопрос, в котором содержалось примерно следующее: «вы должны сделать это и то». В Microsoft налажена довольно неплохая система «дорожных карт» и этот вопрос пометили для следующего релиза, так как баг был не критичен. Человек адекватно высказал своё недовольство на эту тему, на что ему предложили сделать PR. Всё бы ничего, но на предложение сделать PR он ответил следующее: «Это не мой проект. Моё дело оповестить вас, а дальше это ваша обязанность».

Совет

GitHub — это не место хамства и требований. Это Open Source: либо вы помогаете, либо вы ждёте и надеетесь.

Я не знаю английский

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

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

Совет

Люди, пишите на том языке, на котором ведётся проект. Если вы не знаете этот язык, то найдите того, кто его знает и сможет перевести вам.

Выводы

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