Почему я до сих пор не занимаюсь опенсорсом

Habrahabr

В предыдущей опубликованной мной на Хабре статье ("Так почему же ты не участвуешь в разработке Open Source программного обеспечения?") автор поднимал вопрос — почему разработчики не участвуют в опенсорс проектах. Сегодня предлагаю посмотреть на ситуацию глазами разработчика желающего помочь опенсорсу, но раз из раза откладывающему этот шаг. Что ему мешает?

Брендон Хейс (Brandon Hays) еще в 2011 году написал на эту тему отличную статью перевод которой я публикую ниже. Через опыт автора мне хотелось выйти на системное понимание проблем, делающих опенсорс “недружелюбным” для новичков. Буду очень рад, если читатели поделятся свои опытом: изменилось ли что-то за последние годы? как вы решали/решаете обозначенные проблемы? что нужно сделать, чтобы в опенсорс проектах было легче участвовать?

И да — несмотря на все сказанное, лично я считаю, что Open Source — это единственно возможное будущее для разработки ПО. Многие со мной не согласятся — прошу не кидаться камнями, я постараюсь подробнее развить эту мысль в наших следующих статьях.


Я такой лицемер. Несколько месяцев назад я написал пост про преодоление страха участия в опенсорс проектах.

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

Нет, я, так или иначе, участвую в нескольких проектах. Но до сих пор ощущаю себя аутсайдером, потому что мой вклад не касается кода.

Так почему же я (и, предполагаю, многие другие) остаюсь “опенсорс тихоней”?

Сильно рискуя спроецировать свои чувства представления о ситуации на других, я бы выдвинул несколько предположений.

  • Не существует никакого сертификата, обряда или знака отличия, c помощью которого можно было бы публично заявить о своей готовности участвовать в работе над открытым ПО.
  • Непонятно, с чего начинать. Судя по тому, что я слышал, большую часть работы участников составляет добавление отсутствующих, но необходимых функций или исправление обнаруженных багов. Они могут решать проблемы, выявленные на тестах и даже публиковать патчи. Я с такими вещами каждый день не сталкиваюсь. Немногие разработчики запрашивают конкретную помощь по проекту, и ещё меньше – стремятся брать опеку над начинающими.
  • Гайдлайны делают жизнь кураторов проще, а мою – сложнее. Да, курирование опенсорс проекта это сложный и неблагодарный труд. Но я встречал правила участия и гайдлайны, которые пакуют простую задумку фикса в столько слоёв бюрократии, что невольно возникают ассоциации с Майкрософт.
  • Опенсорс для тех, кто кодит лучше меня. Я понимаю, что это звучит как оправдание, но мне неуютно от осознания того, что софтом, который я публикую, могут пользоваться настоящие разработчики.
  • Мои попытки поучаствовать в опенсорс проектах были безуспешны — от этого я чувствую себя глупо. Вот я отправил несколько пул реквестов, и ни один из них не был одобрен. И ни одного комментария о причинах. Это словно подтверждение от вселенной, мол, да, ты – идиот и твоя «помощь» не к месту. Исключительно унизительная трата времени.
  • Нет времени. У меня есть ребёнок, новая машина и растущая гора обязанностей. На написание кода у меня уходит в 3-10 раз больше времени, чем у опытных разработчиков. А ещё не связанные с кодом вклады тоже отнимают время, которое можно было бы посвятить коддингу. Да, это универсальное оправдание, которое без остальных не так значимо, но и его стоит упомянуть.
  • Отсутствие культуры коллаборации. Я думаю, большинство разработчиков привыкли разбираться во всём сами и не ждут поддержки со стороны. Но разве опенсорс это какая-то духовная стезя, на которой к тебе никто не может присоединиться?
Поэтому да, опенсорс может быть пугающим как клетка с тиграми. У меня нет решений приведённых выше проблем. Я просто хотел бы видеть больше проектов, которые явным образом указывают, чего они хотят от контрибуторов: в виде, скажем, призывов провести дополнительное тестирование или исправить конкретные баги или доработать документацию. И еще хотелось бы получать оперативные ответы на пулл реквесты.

Еще было бы здорово дополнить функционал GitHub'а уведомлениями об активных проектах, соответствующих вашему профессиональному уровню. Это была бы неплохая фича.