7 из 10 разработчиков вносят свой вклад в открытый исходный код, и вот несколько советов и предложений о том, как начать

Не секрет, что вклад открытого исходного кода - один из самых востребованных навыков в сфере технологий. Помимо пособий по трудоустройству, есть и другие преимущества, такие как

  • Изучение и обмен знаниями
  • Создавайте и улучшайте узнаваемость вашего бренда
  • Сотрудничество и общение с другими разработчиками посредством обзоров и обсуждений кода.
  • Возвращение сообществу ❤
  • Общайтесь с единомышленниками, найдите своего сотрудника / сотрудников, соучредителя, наставника, подопечного

По данным Eclipse Foundation, в последние годы в Open Source были вложены огромные средства.

Почему тебе должно быть до этого дело?

Оглядываясь на опрос StackOverflow 2016 года, можно заметить, что открытый исходный код вообще не упоминается, однако в опросе 2017 года около 32,7% респондентов заявили, что они вносят свой вклад в открытый исходный код, и эта цифра увеличилась на почти 10% (до 43,6%) в опросе 2018 года, и что еще более интересно, % участников вырос на 20% в 2019 г. (до 63,3%).

Согласно Результаты исследования будущего открытого исходного кода 2016 года от BlackDuck, около 67% участников с открытым исходным кодом приходилось на

  • исправить ошибки
  • добавить новые функции

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

Принимая во внимание вышеперечисленные факты, цифры и тенденции, ИМО стоит рассмотреть вопрос о вкладе с открытым исходным кодом.

Будьте тем изменением, которое вы хотите увидеть в мире - Махатма Ганди

Причины, по которым мне не удалось внести свой вклад раньше?

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

  • Большинство образовательных учреждений не признают вклад с открытым исходным кодом как эффективный способ обучения и не мотивируют учащихся к участию - ИМО, вклад с открытым исходным кодом должен быть частью учебной программы (как задание, проект, так далее).

  • Ваше географическое положение - ИМО, страна, в которой вы живете, также играет жизненно важную роль, как подчеркивается в этой статье.
  • Новогоднее обещание и обещания дня рождения - у меня их было бесчисленное количество, но они никогда не работали.
  • Нереалистичные цели. Однажды я решил, что сделаю не менее двадцати (20) запросов на вытягивание в репозиторий, такой как docker (потому что я ❤ docker), не принимая во внимание тот факт, что что у меня не было достаточных знаний для этого.
  • Работа, побочные проекты и жизненные оправдания. После каждого отказа я советовался с собой, что у меня все хорошо в других сферах.

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

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

  • Моему работодателю все равно - я хотел бы получить работу, которая требует внесения вклада в сообщество разработчиков ПО с открытым исходным кодом.
  • Промедление - определенно фактор по разным причинам.

Это некоторые из основных причин, которые помешали мне начать работу с открытым исходным кодом на раннем этапе.

Моя мотивация

Для меня главной мотивацией внести свой вклад в развитие открытого исходного кода было то, что я стал достаточно осведомленным, чтобы писать об этом.

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

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

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



Сообществу понравилась эта статья, она получила около 50 тысяч просмотров, много тысяч аплодисментов и благодарственных комментариев.

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

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

Моя стратегия участия с открытым исходным кодом

Я решил, что внесу свой вклад в Spring Framework, библиотеку, которую я использовал раньше. Я читал Правила участия, когда заметил несколько неработающих ссылок, поэтому создал запрос на перенос, чтобы исправить их.

Запрос на вытягивание был объединен, и это было настолько хорошо, что я решил продолжить, однако возникла проблема. Большинство проблем GitHub (например, ошибки, новичок, необходимая помощь, функция) будут выбраны другими участниками еще до того, как у меня появится возможность проявить интерес.

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

Вот что я сделал

  • Подписался (смотрел) на репозиторий Spring - много уведомлений
  • По дороге на работу я просматривал уведомления по электронной почте и проявлял интерес, комментируя проблемы, с которыми я мог бы справиться.

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



Я продолжил в том же духе над несколькими другими проблемами типа улучшения, ошибки и новые функции, что привело к следующим PR

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

Советы и предложения

На основе моих знаний и опыта на данный момент

  • Обязательно прочтите руководство о том, как внести свой вклад
  • Изучите основы Git
  • Выберите язык, например Java, JavaScript.
  • Определите репозитории, которые приветствуют вклады - используйте такие инструменты, как CodeTriage, Github Explore и this.
  • Ознакомьтесь с политиками репозитория, то есть с инструкциями по внесению вкладов
  • Изучите проект, в который вы хотите внести свой вклад
  • Внесите свой вклад в виде кода, документации, ошибок и новых функций
  • Отфильтруйте проблемы по таким ярлыкам, как требуется помощь, ошибка, впервые и т. Д.
  • Будьте внимательны к другим специалистам по сопровождению, которые помогают вам
  • Убедитесь, что у вас есть необходимые навыки и время для инвестирования
  • Следите за обсуждениями проблем и запросов на вытягивание, смотрите изменения кода
  • Будьте терпеливы и открыты для отзывов

Я выбрал проблему Elastic Search и проигнорировал тот факт, что мне нужно было немного узнать о Groovy и как работает сборка Elastic Search, как следствие, я потратил намного больше времени и усилий на доведение PR до стадии завершения. .

Всегда полезно провести небольшое исследование, прежде чем приступить к работе над проблемой.

Рекомендуемая литература

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

Спасибо за чтение. Не стесняйтесь подписываться на меня на Medium, чтобы увидеть больше статей и подключиться к LinkedIn и другим платформам социальных сетей по вашему выбору.

Если эта статья каким-либо образом поможет вам внести свой первый вклад, вы можете поделиться своими идеями, предложениями, отзывами и запросами на вытягивание в качестве комментария.