Рубрики
Uncategorized

От 0 до открытого исходного кожуха вкладчика менее чем за год

Это короткая история о том, как я стал основным составом в проект «Звездный проект» 1,5 КБ в течение года, почти не вклада с открытым исходным кодом. Я надеюсь, что это покажет другим, что это довольно легко, и это не должно никому не бояться. Теги с DevOps, Terraform, Azure, Opensource.

Это мой первый пост здесь, так как я вряд ли нашел время и вескую причину написать интересный пост блога. Тем не менее, из-за того, что я должен избавиться от моего сверхурочных часов, которые я собрал в последнее время и сейчас имел свободное время в течение следующих недель;) Этот пост о том, как я был выбран в качестве основного участника программного обеспечения с открытым исходным кодом Hashicorp, хотя у меня было почти 0 опыта с использоваемым языком программирования и вообще вносить вклад в программное обеспечение с открытым исходным кодом.

О себе

Всегда интересуется это, так как мне было 12 или 13 лет. Прошел через университет с информационными системами BS и MS, работал на некоторых компаниях в основном в качестве разработчика, пока я не переключился на роль DEVOPS Engine Cloud Services (если вы хотели бы назвать это таким образом) в большей компании 1,5 лет назад. Основная причина заключалась в том, чтобы устранить некоторые слепые пятна, которые у меня были в некоторых темах (как работают опс, как работают, как разобраться с облачными инфрами, как иметь дело с DNS, SSL/TLS и т. Д.). Особенно автоматизирующие вещи — это то, что я был и все еще очень интересует. Я все еще стараюсь делать некоторые задачи DEV столько, сколько смогу. Но стало меньше …

Мой открытый источник предварительной истории

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

Как я нашел правильный проект

Ну, это было действительно совпадение. У компании, в настоящее время я работаю в настоящее время, мы используем Terraform (TF), чтобы обеспечить в основном нашу облачную инфраструктуру и Azure — провайдер, в котором мы проводим большую часть нашей платформы IoT. Поскольку у нас хорошие отношения с Microsoft Мы также используем большую часть своих действительно новых вещей еще до того, как он является GA. То же самое произошло тогда, когда я хотел поставить некоторые ресурсы в нашу инфраус-код (IAC) TF REPO, но заметил, что некоторые ресурсы еще не являются частью Azure Terraform Provider Отказ У меня было три возможных решения этой проблемы. Два были краткосрочными обстоятельствами, которые я хотел избежать, если это возможно, и третий должен был просто реализовать то, что было пропущено.

В ближайщем будущем:

  • Не используйте IAC вообще -> управлять пропущенными вещами вручную (уродливым …)
  • Используйте Развертывание шаблона руки в пределах террафора (OK на данный момент, но не масштабируемое решение …)

Длительный срок:

  • внедрить недостающие функции

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

Преодолеть препятствия

Как только я нашел Репозиторий GitHub для поставщика Azure Я заметил, что мне придется покинуть мою зону комфорта, поскольку я никогда не влюбил в значительной степени к такому проекту раньше. Вот список главных вещей, которые мне нужно было выяснить:

  • какие языки используются? — > Идти
  • Как построить провайдер локально? -> readme.md всегда хорошая отправная точка
  • Как выглядит процесс Dev? — > Это было более сложно, но слабый канал помог мне много

Прежде всего, я быстро понял, что мне нужно учиться. Честно говоря, это один из простых языков на мой взгляд. Если у вас есть опыт работы с 2 или тремя другими императивными языками, это довольно легко адаптироваться. Следующее было то, что изучение языка — это одно, но за что для меня большую часть времени сложнее — это изучение инструментов вокруг него. Как работает компилятор? Как написать и запустить тесты? Какой редактор IDE или код лучше всего? Ошибки компилятора действительно помогут мне? Мне потребовалось некоторое время, чтобы сделать все и бежать Но оно окупилось. Самое главное, чтобы понять, как выглядит процесс Dev & Merge. Есть ли что-то вроде документа вклад? Есть ли правила, чтобы следовать, как проживание или тесты? К счастью, есть слабый канал, особенно для того, чтобы вносят вклад в этот провайдер, и парни действительно полезны. Я бы посоветовал всем проверить, есть ли что-то подобное, если вы хотите внести свой вклад в проект ОС. В противном случае я не смог без сомнения. Если нет такой вещи, то хорошая идея состоит в том, чтобы посмотреть на уже объединенные запросы на тягу и посмотрите, что главные участники сообщили разработку и о том, как они приблизились к процессу разработки для новой функции или исправления ошибки. Также посмотрите на их комбиниты, чтобы получить некоторые идеи.

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

Привыкать

Как только ваш первый PR объединен, вы, вероятно, чувствуете себя немного гордым. Вы не должны останавливаться с одним PR, если вы хотите привыкнуть к этому. Я начал проверять вопросы проекта ежедневно, чтобы увидеть, есть ли вещи для прыжка. Конечно, я не пытался реализовать действительно большие функции в самом начале. Начните с небольших задач и сделайте эту привычку или рутину. Тогда вы можете начать с большего количества вещей. Не волнуйтесь, ваша работа будет оценена:)

Оценка вашей работы

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

Моя подсветка была, когда в начале года я получил электронное письмо от Hashicorp, что я был выбран в качестве одного из основных авторов в их программное обеспечение с открытым исходным кодом. Они поблагодарили меня, и я получил приглашение на одну из их конференций в США или вруте. Это действительно заставило меня гордиться, и это показывает, что сообщество ОС действительно ценит вашу готовность помочь и улучшить существующее программное обеспечение.

Короче говоря

Если вы хотите начать участие в программное обеспечение с открытым исходным кодом, то не ждите. Давайте суммируем мои выводы:

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

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

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

Оригинал: «https://dev.to/r0bnet/from-0-to-open-source-core-contributor-in-less-than-a-year-1jpj»