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

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

Здесь я также хотел бы упомянуть, что есть родственная программа Google Summer of Code, то есть Outreachy, это трехмесячная стажировка для людей из групп, традиционно недостаточно представленных в сфере технологий, и я думаю, что большинство этих пунктов применимо и к Outreachy.

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

Обо мне

По состоянию на июнь 2018 года у меня почти 8 месяцев опыта (технически это около года) в мире OSS, и за этот период я ​​изучил веб-разработку с нуля, прошел обучение в Google Code-in и был выбран в Google. Лето Code'18 для Zulip (в настоящее время продолжается), и вы можете проверить мой вклад. (Не хвастовство, просто доказательство моей правдивости).

Мой дескриптор GitHub: https://github.com/shubhamdhama
Моя организация: https://github.com/zulip

Предпосылки для начала работы с открытым исходным кодом

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

Как выбрать организацию?

Если вы имеете в виду GSoC, то это просто, перейдите на портал организации GSoC и просто выберите организацию, которая соответствует вашим интересам. Небольшое предупреждение: организация, которую вы можете выбрать сначала, не обязательно является вашей последней организацией. Я сменил много организаций и остановился на Zulip, потому что он соответствует моим личным интересам, а его сообщество очень гостеприимно для новичков, так что просто зайдите на Портал организации GSoC и найдите свою.

Как начать вклад?

  • Самый важный навык, который, я думаю, должен быть у человека, чтобы начать вносить свой вклад в проект с открытым исходным кодом, - это читаемость кода.
    Вам не следует никогда не пугаться больших баз кода.
  • Еще один важный навык - это умение Google решить вашу проблему, и именно в этом я внес свой первый вклад.
  • Задавайте умные вопросы. Под умными вопросами я подразумеваю вопросы, которые вы не можете найти на самой первой странице поиска Google. Но иногда вводные вопросы подходят, например: «Какую библиотеку мы используем для загрузки файлов?» и вопросы типа «Нужно ли мне тестировать эту функцию <function code>?» тоже в порядке.
    Но помните: не задавайте лишних вопросов.
  • Кроме того, не стесняйтесь обращаться за помощью, например: «Я получаю сообщение об ошибке при настройке среды разработки, я выполнил инструкции и решил проблему в Google, но ничего не помогло. ‹Некоторые подробности ваших усилий›. Помогите, пожалуйста". Здесь самое главное - ваши усилия.

Теперь перейдем к фактическому вкладу, и я думаю, что это просто, просто выберите несколько good first issue или for first timers проблем из системы отслеживания проблем этого проекта. Под системой отслеживания проблем я подразумеваю место, где вы можете найти ошибки, запросы функций и запросы на улучшение этих проектов, например. GitHub, Bugzilla и т. Д.

Разные советы:

  • Не участвуйте в проекте, чтобы попасть в какую-либо программу. Всегда думайте, что вы неотъемлемая часть этой организации, вносите свой вклад, как будто вы отправляете код на постоянной работе.
  • Все организации разные, у всех разные критерии выбора потенциального участника любой программы, такой как GSoC. Некоторые предпочитают хорошее предложение, а некоторые - хорошую запись о вкладе (это может быть одна и та же или другая организация), но большинство из них предпочитают и то, и другое. Но, в конце концов, шансы быть выбранным в любой организации почти одинаковы.

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