Содержание
- Преимущества вклада в проекты с открытым исходным кодом
- Как начать работать с открытым исходным кодом
- Как ориентироваться в сообществах с открытым исходным кодом
- Как настроить среду разработки
- Понимание проекта Stструктура и рабочий процесс
- Как сделать свой первый вклад
- Сотрудничество в сообществе
- За пределами кода: Вклад, не связанный с кодом
- Лучшие практики для качественного вклада
- Как справиться с трудностями
- Как продемонстрировать свой вклад в работу с открытым исходным кодом
- Заключение
- Дополнительные ресурсы
За последнее десятилетие проекты с открытым исходным кодом стали основой технологической экосистемы. С их помощью создается все - от приложений до инноваций в различных областях.
Эти совместные изобретения объединяют людей с разными навыками, включая разработчиков, дизайнеров и просто энтузиастов технологий, с одной целью - создавать: улучшать и свободно делиться программным обеспечением.
Движение за открытый исходный код отстаивает идею о том, что знания должны быть доступны всем, и способствует формированию культуры открытости, прозрачности и сотрудничества.
Вклад в открытый исходный код имеет множество преимуществ не только для тех, кто принимает в нем участие, но и для всего сообщества в целом.
Если вы только начинаете работать с открытым исходным кодом, вам следует помнить, что вы отправляетесь в путешествие, которое не только улучшит ваши технические навыки, но и откроет перед вами множество дверей и предоставит множество возможностей для общения с единомышленниками.
Это лишь часть того, чего вы сможете достичь. У вас также будет возможность:
- Оказывать влияние своей работой
- Создать свое портфолио
- общаться с другими разработчиками и
- Приносить пользу сообществу разработчиков.
К концу этого руководства вы приобретете необходимые навыки, чтобы стать активным членом сообщества разработчиков открытого кода. Это начало вашего пути к открытому исходному коду, на котором вы будете постоянно учиться, сотрудничать с другими и оказывать влияние на ситуацию. Давайте начнем!
Что такое программное обеспечение с открытым исходным кодом? Простыми словами, открытый исходный код можно описать как исходный код и проекты, которые предоставляются общественности для просмотра, использования, модификации и распространения на основе разрешительной лицензии.
Проекты с открытым исходным кодом обычно разрабатываются совместными усилиями, в основном сообществом добровольцев. В отличие от проприетарного программного обеспечения, которое обычно контролируется одной организацией, открытый исходный код способствует прозрачности, сотрудничеству и инновациям благодаря поддержке сообщества.
Проекты с открытым исходным кодом не только дают возможность пользователям самим использовать их, но и дают им возможность понять, как работает проект, внести свой вклад в его развитие и улучшить его.
Основная идея программного обеспечения с открытым кодом заключается не только в совместном использовании кода, но и в создании сообществ с культурой сотрудничества, прозрачности и совместного обучения.
Благодаря такому подходу мир открытого ПО привел к появлению одних из самых инновационных и влиятельных технологий, используемых сегодня.
Характеристики программного обеспечения с открытым исходным кодом Свобода использования - пользователи могут свободно использовать, изменять и распространять программное обеспечение. Прозрачность - исходный код доступен для всех. Это способствует доверию между пользователями, а также открытости разработчиков, которые рецензируют и исправляют ошибки. Сотрудничество - большинство проектов с открытым исходным кодом способствуют сотрудничеству, что позволяет различным людям со всего мира использовать свои навыки, идеи и опыт. Коммунитаризация - проекты с открытым исходным кодом способствуют созданию сильных сообществ единомышленников, объединенных общими целями. Разнообразие - объединяет людей из разных слоев общества, объединенных общей целью. Постоянное совершенствование - программное обеспечение с открытым исходным кодом постоянно развивается. Это означает, что регулярно исправляются ошибки, часто добавляются новые функции и время от времени выпускаются обновления. Лицензирование - каждое программное обеспечение с открытым исходным кодом имеет лицензию, которая защищает права как авторов, так и пользователей, обеспечивая постоянную открытость программного обеспечения. Типы лицензий открытого исходного кода Лицензии на программы с открытым исходным кодом защищают права как авторов, так и пользователей. Они также определяют условия, на которых программное обеспечение может использоваться, изменяться и распространяться.
К наиболее распространенным лицензиям относятся:
- GNU General Public License (GPL) - гарантирует конечному пользователю свободу запуска, изучения, совместного использования и модификации программного обеспечения. Лицензия MIT - разработана Массачусетским технологическим институтом (MIT). Она разрешает повторное использование несвободного программного обеспечения.
- Apache License\ - обычно используется для проектов, связанных с Фондом программного обеспечения Apache.
- Лицензии BSD - семейство лицензий на свободное программное обеспечение, накладывающих минимальные ограничения на использование и распространение программ.
- Mozilla Public License (MPL) - это лицензия с авторским левом, которая требует авторы могут делиться модификациями, которые они вносят в ваш код.
- Лицензии Creative Commons - наиболее часто используются не только в программном обеспечении, но и для других творческих работ. Используются, когда автор хочет предоставить другим людям право делиться, использовать и создавать на основе своей работы.
Понимание этих лицензий на ранней стадии очень важно, так как они определяют, как ваш вклад может быть использован и распространен.
Преимущества вклада в проекты с открытым исходным кодом
Участие в проектах с открытым исходным кодом может быть полезным способом учиться, преподавать, делиться и накапливать опыт. Существует множество преимуществ, которые выходят за рамки вашего вклада.
Участвуя в проектах с открытым исходным кодом, вы можете:
- Учиться и расти - Это откроет для вас различные пути, дав возможность познакомиться с реальной практикой разработки, процессами проверки кода, методами решения проблем и т. д.
- Создать портфолио - ваш вклад служит доказательством ваших навыков, что может быть полезно при приеме на работу.
- Общество и нетворкинг - Это дает вам возможность общаться и взаимодействовать с единомышленниками со всего мира. Это открывает двери для наставников и профессиональных контактов, которые могут направлять вас.
- Решение реальных проблем - Некоторые проекты направлены на решение проблем, с которыми сталкиваются многие люди, например, безопасность и здравоохранение. Вклад в них означает, что вы оказываете непосредственное влияние на решение важных проблем.
- Улучшение программного обеспечения - Ваш вклад может помочь улучшить качество, функциональность и удобство использования программного обеспечения, которое вы используете или которое используют миллионы людей. Каждый ваш вклад, будь то исправление ошибки, опечатки или добавление кода, потенциально может принести пользу бесчисленному количеству пользователей.
- Признание и уважение - По мере того как вы будете работать в мире открытых исходных кодов и становиться последовательным, вы получите признание и будете отмечены за свою работу.
- Кроме того, это весело и приносит вам личное удовлетворение. К тому же, никогда не знаешь, кто за этим наблюдает, может быть, это ваш следующий работодатель или партнер 🙂 .
Как начать работать с открытым исходным кодом
Прежде чем глубоко погрузиться в мир открытого кода, важно оценить свои навыки и интересы.
Подумайте о языках программирования, которые вы знаете, ваших общих технических способностях и областях специализации. Определите свои сильные стороны и области, в которых вы хотите развиваться.
Такая самооценка поможет вам найти проекты, которые соответствуют вашим навыкам и увлечениям.
1. Создание правильного образа мышления
Как вы, наверное, знаете, вклад в open-source - это не только код, но и сотрудничество, которое способствует росту, обучению и позитивному взаимодействию с сообществом.
Прежде чем приступить к работе, необходимо сформировать правильное мышление, которое поможет вам на протяжении всего пути. Для этого вам потребуется:
- Понимать ценность открытого исходного кода - ключевым принципом успеха проектов с открытым исходным кодом является сотрудничество. Каждый вклад, каким бы маленьким он ни был, приносит пользу. Этот коллективный вклад приносит пользу всему мировому сообществу.
- Примите процесс обучения - не знать всего - это нормально, и именно поэтому open-source поощряет обучение через сотрудничество. Не забывайте всегда проводить исследования, а затем, при необходимости, обращаться за помощью, если вы застряли. Это признак прогресса, а не слабости.
- Есть нечто большее, чем код - как бы ни был важен код для большинства проектов с открытым исходным кодом, это не единственный способ участия в них. Прежде чем вносить свой вклад, подумайте о своих сильных сторонах и интересах, а затем изучите возможности, не связанные с кодом.
2. Выбор языка программирования/технологии
Чтобы внести эффективный вклад, вам нужно решить, с какими языками программирования/технологиями вы чувствуете себя наиболее комфортно. А для этого вам нужно сделать следующее:
- Оценить свои навыки - оценка своих навыков поможет вам решить, стоит ли использовать уже имеющиеся у вас навыки или же решиться на изучение новых.
- Исследовать технологии - рассмотреть технологии, используемые в различных проектах, которые вам интересны, и определить, совпадают ли они с вашими интересами.
- Личные интересы - страсть подпитывает вклад, а участие в проектах, которые вызывают у вас отклик, может приносить удовлетворение и удовольствие.
3. Поиск проектов
Поиск подходящих проектов с открытым исходным кодом может действительно улучшить ваш опыт участия в проекте. Существует несколько различных способов поиска проектов. Вот несколько основных из них:
- Использование каталогов открытого исходного кода - изучите различные платформы, на которых размещены списки различных проектов с открытым исходным кодом. Такие сайты, как GitHub Explore, GitLab Explore, Open Source Friday и другие, содержат списки проектов, что облегчает поиск.
- Платформы исходного кода - такие платформы, как GitHub и GitLab, занимают центральное место в мире открытого кода. Ищите на этих платформах, используя ключевые слова, и фильтруйте различные проекты, чтобы легко находить накоторые соответствуют вашим интересам.
- Активность проекта - во время поиска обратите внимание на недавние коммиты, открытые проблемы и текущие обсуждения. Активное сообщество - положительный знак для успеха проекта.
- Вовлечение в сообщество - прежде чем начать вносить свой вклад, вступайте в сообщество проекта. Это может быть присоединение к форумам, списку рассылки или чат-каналам. Задавайте вопросы и общайтесь с другими, это поможет вам понять динамику развития проекта.
4. Выбор правильного проекта
Убедиться в том, что вы выбрали правильный проект для работы, очень важно, поскольку это будет первым шагом к достижению всех ваших целей.
Чтобы легче ориентироваться в ландшафте open-source и найти подходящий проект для работы, вот несколько моментов, которые следует учесть:
- Соответствие интересам - Убедитесь, что вы ищете проекты, которые соответствуют вашим техническим интересам и областям знаний.
- Активность проекта - Обязательно проверьте, насколько активен проект. Проект с активным сообществом, с недавними проблемами и фиксами указывает на то, что он активно поддерживается.
- Дружелюбность - Если вы новичок, впервые пришедший в open source, выбирайте проекты с репутацией, приветствующей новичков.
- Цели проекта - Вы должны понимать цели проекта и быть уверенным, что они соответствуют вашим ценностям.
После того как вы нашли проект, в который хотите внести свой вклад, настало время провести небольшую проверку. Убедитесь, что он соответствует следующим критериям, чтобы вы знали, что это будет хороший проект для работы:
- Проверьте, есть ли у него файл лицензии.
- Посмотрите на количество участников.
- Проверьте, как часто люди делают коммиты.
- Есть ли у него открытые проблемы? Если да, то это хороший знак - вам будет с чего начать.
- Сколько времени требуется сопровождающим для ответа? Вы можете проверить и посмотреть, как часто закрываются проблемы и сливаются PR.
- Идет ли активное обсуждение проблемы?
- Регулярно ли закрываются проблемы?
- Сколько открытых запросов на доработку?
- Как недавно был слит последний запрос на доработку?
- Благодарят ли сопровождающие людей за их вклад?
Если этот процесс проверки подтвердился, то вы, вероятно, можете начинать вносить свой вклад.
Как ориентироваться в сообществах с открытым исходным кодом
Проекты с открытым исходным кодом - это не просто хранилища кода. Это сообщества, в которых разработчики со всего мира сотрудничают, чтобы создать что-то полезное.
Чтобы вносить эффективный вклад, важно понимать динамику этих сообществ и взаимодействовать с ними полноценно.
Когда речь идет о создании сильных и устойчивых сообществ разработчиков с открытым исходным кодом, необходимо не только обеспечить надежную поддержку новичков. Для многих людей участие в проектах с открытым исходным кодом может быть пугающим, подавляющим и разочаровывающим - особенно если они не имеют опыта работы с различными инструментами и рабочими процессами, обычно используемыми в мире открытого исходного кода.
Но при наличии правильных структур поддержки новые участники могут быстро стать ценными участниками любого проекта, привнося в него свежие взгляды, энтузиазм и желание учиться.
Преимущества, предлагаемые этими сообществами, как я бы сказал, находятся ”на другом уровне”. Они помогают людям начать с нуля, получить новые навыки, наладить связи и даже найти работу своей мечты.
К другим преимуществам относятся:
- Они способствуют обмену идеями, решениями и передовым опытом.
- Зачастую в сообществе легче преодолевать трудности, а решение проблем становится более эффективным.
- Коллегиальные обзоры от разных участников обеспечивают качество кода, помогают выявить ошибки и улучшить проект в целом.
- Участие в проектах с открытым исходным кодом часто дает вам возможность наладить контакты.
Понимание динамики сообщества
Каждое сообщество разработчиков открытого кода имеет свою собственную культуру и ценности. Понимание этой динамики - ключ к успешной интеграции в рабочий процесс проекта.
- Видение и цели проекта - Для того чтобы внести эффективный и значимый вклад, убедитесь, что вы понимаете видение и цели проекта.
- Нормы и ценности сообщества - В каждом сообществе есть как писаные, так и неписаные правила и ценности, которые участники должны соблюдать. Они могут включать в себя стандарты кодирования, этикет общения, принципы разнообразия и вовлеченности.
- Признание иерархии и ролей - В проектах с открытым исходным кодом часто существует иерархия ролей, от сопровождающих до новичков. Поймите эти роли и то, как принимаются решения в сообществе.
Как найти сообщества с открытым исходным кодом и присоединиться к ним
Поиск подходящего сообщества - важный шаг к тому, чтобы обеспечить себе полноценный опыт работы с открытым исходным кодом. Вот несколько советов, которые вы можете использовать, чтобы найти и присоединиться к сообществам open-source.
- Поиск - используйте легкодоступные платформы для поиска проектов, которые соответствуют вашим навыкам. Поначалу для новичка это может оказаться нелегкой задачей, но при достаточном руководстве вы легко справитесь с ней.
Для начала можно воспользоваться такими платформами, как GitHub, Gitlab и Bitbucket может быть хорошей платформой для поиска проектов. Одна общая черта всех этих платформ заключается в том, что вы можете использовать функцию поиска для нахождения проектов по ключевым словам, используемым технологиям или конкретным темам.
Например, используя GitHub, если вы заинтересованы в поиске проектов по разработке на Python, вы можете воспользоваться поиском, как показано ниже, и дополнительно отфильтровать поиск в левой панели в соответствии с вашими пожеланиями.
- Форумы и списки рассылки - многие проекты используют различные способы общения. Найдя подходящий, вы сможете легко представиться и задать вопросы. Выбор способа общения также зависит от того, какую информацию вы хотите получить.
Если вы хотите просто получать обновления и новости о конкретном проекте, который вам интересен, то присоединяйтесь к спискам рассылки, которые в большинстве случаев выходят еженедельно, ежемесячно или ежеквартально. Подписаться на рассылку/новостную ленту можно либо на официальном сайте проекта, либо на соответствующем репозитории.
Если вы больше любите общаться с другими участниками, то вам стоит присоединиться к форуму/дискуссионному форуму. Эти доски позволяют сопровождающим и контрибьюторам вести дискуссии и делиться знаниями между собой. Ниже приведен раздел форума FreeCodeCamp и некоторые из происходящих на нем обсуждений.
Примечание Форум freeCodeCamp разделен на различные подфорумы. Это очень распространенная практика для больших проектов, поскольку так различным участникам, у которых есть вопросы, легче понять, куда обращаться за помощью.
- Социальные сети - следите за аккаунтами проектов с открытым исходным кодом на таких платформах, как X (Twitter), LinkedIn и GitHub, чтобы легко получать обновления. Это лучше всего работает для тех, кто активно участвует в социальных сетях. Для получения быстрых обновлений и новостей, касающихся конкретного проекта, это самое подходящее место - к тому же это позволит вам общаться с другими людьми, заинтересованными в том же проекте, что и вы.
- Мероприятия и конференции - начните посещать местные встречи, конференции и семинары, связанные с проектами с открытым исходным кодом. Это может стать хорошей возможностью завязать знакомства.
- Онлайн-сообщества - используйте такие платформы, как Stack Overflow, Reddit и Discord, чтобы общаться с коллегами-соавторами.
Этикет, нормы общения и лучшие практики
После того как вы нашли сообщество, к которому хотите присоединиться, важно соблюдать этикет и нормы общения. Вот руководство по лучшим практикам:
- Прочитайте правила - Прочитайте и поймите правила сообщества. Они помогут всем чувствовать себя равными, безопасными и уважаемыми.
- Представьтесь - От того, как мы представимся, часто зависит то, какими нас запомнят другие. Представляясь, помните, что нужно быть уважительным и кратким.
- Прислушивайтесь и учитесь - прежде чем начать вносить какой-либо вклад, потратьте время на то, чтобы понять культуру сообщества.
- Задавайте вопросы - когда вы сталкиваетесь с проблемой, не стесняйтесь задать вопрос и обязательно укажите контекст, чтобы понять, что вы пытались найти ответ самостоятельно.
- Примите обратную связь - когда вы получаете обратную связь любого рода, поблагодарите человека и примите его мнение. Помните, что постоянное обучение - это ключ к успеху.
- Не спам - избегайте заваливать каналы связи одними и теми же вопросами. Просто используйте соответствующие каналы для разных тем.
- Будьте терпеливы - помните, что участники сообществ находятся в разных часовых поясах, поэтому дайте им достаточно времени для ответа.
Как настроить среду разработки
Хорошо настроеннаясреда - это основа не только для работы с открытым исходным кодом, но и для разработки в целом.
Это может показаться сложной задачей, но когда вы участвуете в нескольких проектах и работаете над личными проектами со своей машины, наличие среды будет очень полезным.
Вот несколько моментов, на которые следует обратить внимание, когда речь идет о настройке среды разработки:
Установите необходимые инструменты
- Локальная установка - В большинстве проектов будут перечислены все требования, необходимые для установки. Просто убедитесь, что вы установили их в соответствии с инструкциями в документации проекта.
- Рассмотрите возможность использования виртуальной среды, так как это поможет изолировать специфические для проекта зависимости.
- Использование Docker - тоже хороший вариант, так как он обеспечивает согласованность окружения на разных машинах, с которыми вы можете работать.
Текстовые редакторы и интегрированные среды разработки (IDE)
Текстовые редакторы и среды разработки - это инструменты, которые помогают вам писать, редактировать и управлять кодом. В зависимости от выбранного вами языка программирования и личных предпочтений, вы можете выбрать один из таких вариантов, как Visual Studio Code, Sublime Text или IDE от JetBrains, например PyCharm или IntelliJ IDEA.
Эти инструменты предлагают такие возможности, как:
- подсветка синтаксиса,
- автозавершение
- отладка
Эти функции помогут расширить ваши возможности в области кодирования.
В дополнение к обычной установке не забудьте установить все необходимые расширения, которые помогут сделать ваш рабочий процесс более плавным.
Системы контроля версий
Контроль версий - это краеугольный камень совместной работы при разработке программного обеспечения. Наиболее известной и используемой из них является Git. Он позволяет вам как разработчику записывать изменения, вносимые в код, создавать ветви, чтобы легко добавлять новые функции, не вмешиваясь в основной код, и позволяет легко объединять изменения.
Но сам по себе Git не может всего этого сделать, поэтому он работает вместе с GitHub.
GitHub - это веб-платформа, которая позволяет размещать исходный код в так называемом репозитории. Вместе с Git, GitHub предлагает множество полезных функций для разработчиков, но самая важная из них, помимо совместной работы, - это визуальный интерфейс для управления репозиториями. Это облегчает отслеживание проблем, объединение изменений и так далее.
Подробнее об основах Git и GitHub вы можете узнать из этого руководства.
Как и в случае с любым другим программным обеспечением, чтобы начать использовать Git, вам сначала нужно загрузить и установить его. Но сначала убедитесь, что у вас уже создан аккаунт на GitHub. Если нет, вы можете посетить сайт github.com и создать его, а затем приступить к выполнению следующих шагов.
- Шаг 1: Скачайте Git с официального сайта.
- Шаг 2: Запустите исполняемый файл, чтобы установить Git локально. Если вы работаете не под Windows, а под другой ОС, обязательно ознакомьтесь со специальными командами, которые вы можете использовать для установки Git с официального сайта.
- Шаг 3: Настройте Git, указав свои данные, включая имя пользователя и электронную почту. Для этого вам нужно открыть терминал Git и выполнить приведенные ниже команды:
git config --global user.name "Ваше имя здесь"
git config --global user.email "your_email@example.com"
Для дополнительной настройки вы можете выполнить команды ниже. Первая добавит цвет в вывод, а вторая укажет Git’у использовать emacs.
git config --global color.ui true
git config --global core.editor emacs
Теперь вы должны быть готовы к использованию Git. Если вы хотите узнать больше и погрузиться глубже, вот полезный ресурс по Git для начинающих для вас.
В последующих разделах мы рассмотрим наиболее распространенные команды Git.
Как создавать форки, клонировать и настраивать проекты
Теперь мы рассмотрим некоторые из наиболее важных моментов использования Git.
Во-первых, что такое форкинг? Ну, это позволяет вам сделать личную копию репозитория проекта на вашем аккаунте GitHub. Этот шаг важен в основном тогда, когда вы хотите внести свой вклад в проект, к которому у вас нет прямого доступа.
Для того чтобы форкнуть репозиторий, на странице репозитория GitHub нажмите Fork, обычно в правом верхнем углу.
Это создаст копию репозитория под вашим аккаунтом, изменив URL проекта на:
https://github.com/<имя вашего пользователя>/имя проекта.
Клонирование позволяет загрузить копию уже форкнутого репозитория на вашу локальную машину. Чтобы выполнить этот шаг, на вашей машине должен быть локально установлен Git. Если вы еще не сделали этого, ознакомьтесь с разделом Системы контроля версий выше.
Сначала вам нужно перейти в свою учетную запись и найти форк репо. Затем скопируйте URL прямо из браузера или нажмите кнопку Code, чтобы скопировать URL. У вас будет три варианта на выбор: HTTPS, SSH и GitHub CLI. Вы можете выбрать любой из первых двух вариантов.
Далее на локальной машине откройте терминал и выполните эту команду:
git clone https://github.com/<your-user-name>/<projectname>.
Убедитесь, что вы перешли в то место, куда нужно скопировать проект, например, Downloads, Desktop и так далее:
В качестве альтернативы вы можете использовать приложение GitHub Desktop для выполнения всех описанных выше действий. Но сначала вам нужно будет его установить и полностью настроить.
Далее, вместо того чтобы копировать URL и вставлять его в терминал, выберите опцию Открыть с помощью GitHub Desktop.
Теперь вам нужно знать, как установить проект локально. Перейдите в каталог проекта с помощью терминала и не забудьте установить зависимости, если они есть в списке.
Чтобы проверить, все ли настроено правильно, запустите проект локально и убедитесь, что он работает так, как ожидалось.
Понимание проекта Stструктура и рабочий процесс
Проекты с открытым исходным кодом бывают разных форм и размеров, но общим для всех них является структура и рабочий процесс. Если вы будете четко понимать процесс разработки, это облегчит вам работу над проектом.
Обзор типичной структуры проекта с открытым исходным кодом
В типичном проекте с открытым исходным кодом участвуют следующие люди:
- Автор - также называется владельцем. Представляет человека, который создал проект. Он имеет право назначать новые роли другим участникам, чтобы помочь в обслуживании проекта.
- Майнтейнеры - Они отвечают за развитие видения и целей проекта. Они обычно отвечают за направление развития проекта и стремятся его улучшить.
- Контрибьюторы - это люди вроде вас, которые тем или иным образом добавляют/вносят изменения в проект. Они следуют тому же процессу проверки кода, подчиняются тем же требованиям к стилю кода и т.д.
- Члены сообщества/пользователи - эти ценные члены сообщества могут оставлять отзывы о функциях, сообщения об ошибках и многое другое.
Помимо различных ролей и людей, структура обычно выглядит следующим образом:
- Корневой каталог будет содержать важные файлы проекта, такие как README, информация о лицензии и файлы конфигурации.
- В Каталоге исходного кода находится основной исходный код проекта. Он может быть организован по библиотекам, модулям или компонентам.
- Каталог Документация содержит руководства пользователя, руководства по любым API, чтобы помочь пользователям и соавторам разобраться в проекте.
- В Configuration Files содержатся файлы с инструкциями по настройке процесса сборки проекта, зависимостей и других полезных конфигураций.
- Каталог ../../assets содержит файлы без кода, такие как изображения и другие шаблоны, используемые в проекте.
- Каталог Scripts содержит инструменты автоматизации, которые могут понадобиться проекту.
Ниже приведен раздел рабочего процесса репозитория freeCodeCamp с большинством перечисленных выше файлов:
Как сделать свой первый вклад
Перед тем как сделать свой первый вклад, убедитесь, что вы выбрали проблемы или задачи, над которыми будете работать, дружелюбные к новичкам. Чтобы помочь вам найти подходящие для новичков вопросы/задачи, вот несколько советов:
- Просмотрите трекеры проблем проектов на таких платформах, как GitHub. Во время поиска ищите проекты с пометкой ”дружественный для новичков”, “хороший первый вопрос” или “требуется помощь”. Обычно они предназначены для новичков. Вот руководство, в котором вы найдете больше информации на эту тему.
- Прежде чем приступить к выполнению задания, убедитесь, что вы поняли его описание. Это поможет вам выбрать задание, соответствующее вашим навыкам и интересам.
- Если вы совсем новичок и не имеете никаких предварительных знаний, найдите проекты, которые предлагают наставничество для новичков.
Подробное руководство как искать проблемы и репозитории на GitHub, смотрите в этом руководстве.
Пошаговое руководство по внесению вклада
Теперь, когда вы знаете, как искать дружественный для новичков проект, и предполагаете, что уже нашли тот, который соответствует вашим навыкам, следующим шагом будет внесение своего вклада.
Для демонстрации Я буду делать вклад, не связанный с кодом (подробнее об этом я расскажу позже).
- Шаг 1: Форк репозитория
- Шаг 2: Клонируйте репозиторий на свою локальную машину.
- Шаг 3: Создайте новую ветку
Чтобы создать ветку, выполните следующую команду и не забудьте дать ветке описательное имя:
git checkout -b descriptive name.
Это создаст ветку и автоматически переключит её на неё.
- Шаг 4: Внесите необходимые изменения - это может быть исправление опечаток, исправление ошибок и так далее - все зависит от выбранного вами вопроса.
- Шаг 5: После внесения изменений пришло время добавить их в основную ветку. Вы можете увидеть все внесенные изменения, выполнив команду:
git status.
Вы можете добавить каждый изменённый файл по отдельности, используя git add file-name, или добавить все изменённые файлы сразу, используя: git add *.
Вы заметили, что изменения больше не выделены красным, а зеленым цветом. Это означает, что они готовы к фиксации.
Чтобы выполнить фиксацию, мы переходим к следующему шагу, который заключается в добавлении сообщений о фиксации. Оно в основном объясняет, какие изменения мы внесли: git commit -m "<сообщение здесь>".
- Шаг 6: Нам нужно регулярно синхронизировать форк репо с оригинальным репо. Это включает в себя все изменения, сделанные другими участниками. Для этого последовательно выполните приведенные ниже команды:
git fetch upstream
git rebase upstream/main
-
Шаг 7: Отправьте изменения на GitHub Теперь, когда все готово, пришло время сообщить нашему сопровождающему о том, что мы добавили. Для этого нужно опубликовать изменения с помощью этой команды:
git push origin descriptive-branch-name. -
Шаг 8: Это последний шаг, на котором мы отправляем PR. Для этого шага вам нужно вернуться на GitHub под репозиторием, который вы форкнули ранее. У вас должно появиться всплывающее окно с кнопкой
Compare & pull request- нажмите на нее.
Нажав на нее, вы сможете дать своему PR имя, добавить описание того, что вы сделали, отметить контрольный список (если он есть), чтобы убедиться, что вы выполнили все требования, и, наконец, нажать на кнопку Create pull request, которая находится чуть ниже поля описания.
После этого сопровождающий сольёт все ваши изменения в мастер-ветку этого проекта (если не потребуется, чтобы вы сначала внесли обновления). Вы получите уведомление по электронной почте, когда изменения будут объединены.
Сотрудничество в сообществе
Быть частью нового сообщества или среды в любом виде нелегко - тем более для людей, которые относят себя к интровертам.
Когда речь идет о сообществах с открытым исходным кодом, новички часто сталкиваются с различными проблемами, которые могут помешать им чувствовать себя комфортно и повлиять на их вклад.
Первый шаг к устранению проблемы - определить ее. Это приблизит вас к поиску решения. К числу наиболее распространенных проблем, с которыми сталкиваются новички в сообществах ОС, относятся:
- Чувство переполненности/запуганности опытом других членов сообщества.
- Невозможность понять структуру проекта и кодовую базу.
- Отсутствие четкого понимания правил внесения вклада.
- Столкновение с недоброжелательным сообществом.
- Отсутствие признания и оценки вклада.
- Невозможность найти задачи, соответствующие вашим навыкам/экспертизе
Решив вышеперечисленные проблемы, мы станем на шаг ближе к созданию благоприятных сообществ, в которых будет комфортно всем. Как мы знаем, сотрудничество является ключевым фактором успеха любого проекта с открытым исходным кодом, а участие в сообществах может сыграть важную роль в вашей карьере и в то же время поможет вам стать лучшим участником.
Существуют различные способы решения этих общих проблем и в то же время взаимодействия с сообществом для обеспечения успеха проекта:
- Участие в обсуждениях и форумах
- Предоставление и получение обратной связи по вкладу
- Учиться у опытных участников
- Наставничество над другими соавторами и участие в парном программировании.
- Посещение и участие в мероприятиях сообщества.
Кроме того, не забывайте о терпении, смирении, активном слушании, поощрении других и участии в дискуссиях о будущем проекта.
За пределами кода: Вклад, не связанный с кодом
Проекты с открытым исходным кодом хороши тем, что в них часто могут участвовать люди с самыми разными навыками. Вклад выходит за рамки простого написания кода. Лыжи, не связанные с кодированиемlls также важны для успеха проектов с открытым исходным кодом.
Если вы ищете различные способы участия в open-source и не обладаете навыками кодирования, этот раздел для вас.
Обновление документации
Хорошая документация - основа любого успешного проекта, не только open-source, но и реальных продуктов. Четкая и подробная документация поможет пользователям и разработчикам легко разобраться в проекте.
Некоторые способы, которыми вы можете внести свой вклад в документацию, включают:
- Написание руководств - Вы можете написать пошаговые руководства, которые проведут пользователей через такие этапы, как установка, настройка, использование и устранение неполадок.
- Документация API - Документирование API проекта и предоставление примеров кода для разработчиков, которые захотят интегрировать проект.
- Руководства для пользователей - Написание удобных руководств, разбивающих сложные концепции на простые и понятные разделы.
Вклад в дизайн и пользовательский опыт (UX)
Любой проект, создаваемый для конечного пользователя, только выиграет от хорошо продуманного пользовательского интерфейса. Если вы обладаете некоторыми навыками в области дизайна, вы можете внести свой вклад, например:
- Улучшение UI/UX - улучшать внешний вид проекта, предлагая более удобный для пользователя дизайн и создавая макеты для него.
- Создание иконок и графики - разработка логотипов, иконок, баннеров и других визуальных активов, которые помогут продвинуть брендинг проекта.
- Тестирование пользователями - участие в тестировании дизайна и предоставление отзывов.
Помощь в переводе и локализации
Многие проекты стремятся охватить глобальную аудиторию, и вы, как носитель вашего языка, можете помочь в этом.
Вклад в перевод и локализацию гарантирует, что проекты могут быть легко доступны людям с разным уровнем подготовки по всему миру. В качестве контрибьютора вы можете помочь следующим образом:
- Перевод контента - вы можете перевести документацию, пользовательский интерфейс и любой другой необходимый контент.
- Культурная адаптация - каждый раз, когда вы переводите проект, убедитесь, что содержание соответствует культуре и соответствует местному контексту.
Участие в обеспечении качества и тестировании
Может показаться, что это не так уж и много, но тестирование имеет решающее значение для поддержания любого хорошего проекта с открытым исходным кодом. Тестирование хорошо тем, что даже если вы не являетесь разработчиком, вы можете внести свой вклад:
- Пользовательское тестирование - включает в себя тестирование проектов в различных сценариях использования и предоставление отзывов о любых встречающихся ошибках, глюках и проблемах. Эта обратная связь поможет сделать проект лучше для следующего этапа разработки.
- Бета-тестирование - предполагает участие в тестировании продуктов до их официального выпуска. Помогайте выявлять любые проблемы, с которыми может столкнуться конечный пользователь.
Взаимодействие с сообществом
Наличие сильного сообщества создает безопасное пространство, в котором участники могут сосредоточиться на таких важных вещах, как улучшение качества программного обеспечения и обеспечение долгосрочной устойчивости проекта. Вы можете внести свой вклад, если:
- Модерация - вы можете предложить модерирование дискуссионных форумов, чатов и платформ сообщества для обеспечения позитивной и инклюзивной среды.
- Отвечать на вопросы - вы можете помогать другим членам сообщества, отвечая на любые их вопросы.
Заниматься маркетингом и пропагандой
Чем больше проект с открытым исходным кодом виден сообществу, тем лучше - и это включает в себя видимость на социальных платформах. Если у вас есть навыки маркетинга или общения, вы можете внести свой вклад в это дело:
- Продвигать проекты в социальных сетях.
- Написание руководств и статей, освещающих возможности различных проектов, их важность и примеры использования.
Помощь в сборе средств и пожертвований
Отсутствие достаточных средств для поддержания роста и устойчивости проекта может привести к его краху раньше, чем вы успеете об этом подумать. Хорошим способом решения этой проблемы является:
- Инициативы по сбору средств - организация кампаний по сбору средств для финансовой поддержки проекта.
- Работа со спонсорами - подача заявок на гранты, поиск спонсоров и участие в инкубаторских программах.
Лучшие практики для качественного вклада
Вклад в open-source - это не просто написание кода, это создание качественного и ценного вклада, который сделает проект легкодоступным для других.
Вот несколько лучших практик, которые помогут вам создавать чистый, простой в поддержке и соответствующий отраслевым стандартам код.
Пишите чистый и ремонтопригодный код
[Чистый код] (https://www.freecodecamp.org/news/how-to-write-clean-code/) можно описать как код, который легко читать, понимать и поддерживать.
Написав чистый код, вы не только облегчите его чтение другим, но и себе в будущем.
Если вы пытаетесь писать чистый код, вот несколько ключевых лучших практик:
- Используйте осмысленные имена переменных, функций и классов.
- Разбивайте код на небольшие управляемые участки.
- Используйте комментарии, чтобы обеспечить дополнительный контекст.
- Поддерживайте последовательность в кодировании стиль.
- Не повторяйте себя (DRY)
Тестируйте и документируйте свой код
- Всегда пишите модульные тесты, интеграционные тесты и сквозные тесты, чтобы убедиться, что код работает правильно.
- Не забывайте всегда документировать ход разработки. Это включает в себя назначение кода, инструкцию по использованию и так далее.
Как справиться с трудностями
Будучи новичком в любой области, вы обязательно столкнетесь с различными проблемами, которые могут заставить вас усомниться в своем желании внести свой вклад.
Но вы также можете рассматривать эти проблемы как ступеньки, а не как препятствия на пути, которые подготовят вас к тому, чтобы стать лучшим участником.
Как справиться с отказом и критикой
Отказ и критика могут быть тяжелыми, особенно для новичков. Не все в сообществе могут быть такими доброжелательными, как хотелось бы, но просто помните - этот опыт все равно дает возможность сосредоточиться и совершенствоваться.
Если вы столкнетесь с неприятием и критикой, вот несколько вещей, которые помогут вам их преодолеть:
- Сохраняйте менталитет роста - относитесь к отказу непредвзято и рассматривайте его как шанс научиться и улучшить свои навыки.
- Просите обратной связи - если вы внесли свой вклад, а он был отклонен, всегда просите обратной связи. Это поможет направить ваш будущий вклад и в то же время улучшить ваши навыки.
- Учитесь у других - прежде чем делать свой вклад, найдите время, чтобы узнать, что делают другие опытные авторы. Это поможет вам понять, как структурировать свой код, писать документацию и как решать проблемы. В свою очередь, вы будете в безопасности, делая свой вклад.
- Будьте настойчивы - используйте отказ как мотивацию, чтобы доработать свою работу и подать ее снова.
Как просить о помощи
Многие новички, не только в мире open-source, но и в других областях, могут не решаться попросить о помощи. Часто это происходит потому, что они не хотят показаться неопытными.
Если вы чувствуете себя подобным образом, возможно, вы забываете, что вы новичок в этой области, и просить о помощи - это часть процесса обучения. Даже если вы более опытный автор, вы все равно можете чувствовать себя неуверенно (синдром самозванца, кто-нибудь?) - и это нормально. У всех бывают сомнения. Просто продолжайте двигаться вперед.
Если вы новичок в open-source, чтобы убедиться, что вы получите необходимую помощь, вот несколько советов:
- Делайте свои исследования - прежде чем обращаться за помощью, попытайтесь решить проблему самостоятельно. Это продемонстрирует ваше стремление к обучению и умение решать проблемы.
- Будьте конкретны - предоставьте подробную информацию о проблеме, с которой вы столкнулись. Это может включать упоминание о шагах, которые вы предприняли до сих пор, о полученном результате, об ошибках, с которыми вы столкнулись, и так далее. Чем подробнее вопрос, тем проще другим помочь вам.
Стратегии преодоления распространенных проблем
- Управление временем - балансировать между работой с открытым исходным кодом и личной работой иногда бывает непросто. Ставьте перед собой реалистичные цели и избегайте чрезмерных обязательств.
- Синдром самозванца - это когда вы чувствуете себя неполноценным, несмотря на наличие весомых доказательств ваших способностей. Помните, что все мы с чего-то начинаем - просто постарайтесь оценить свой путь обучения и сосредоточиться на своем прогрессе.
- Большие кодовые базы могут быть непосильны для новичков. В качестве хорошей практики начните с малого и продвигайтесь вперед по мере обретения уверенности и ознакомления с кодовой базой.
- Предотвращение выгорания - уделяйте первостепенное внимание уходу за собой, делайте перерывы, когда это необходимо, и всегда помните, что делать маленькие шаги более ценно, чем перегружать себя задачей.
Как продемонстрировать свой вклад в работу с открытым исходным кодом
Как и в любой другой сфере деятельности, вам нужно продвигать себя на рынке. И одним из лучших способов сделать это является демонстрация ваших проектов и вкладов в Интернете. Пришло время осветить свою работу.
В свою очередь, это может привлечь потенциальных работодателей, коллабораторов и обеспечить вам признание в широкой технологической экосистеме.
Создайте онлайн-портфолио/профиль
Самый распространенный способ демонстрации любой работы в Интернете - это личное портфолио, и вот как вы можете сделать это, чтобы продемонстрировать свой вклад в работу с открытым исходным кодом:
Начните с выбора платформы, которая лучше всего вам подходит. Это могут быть страницы на GitHub, ваш личный сайт, а также такие платформы, как Behance или Dribbble, для проектов, связанных с дизайном.
Теперь, когда у вас есть платформа, разложите свои работы по категориям, включая краткое описание, роль, которую вы играли, и любые трудности, с которыми вы могли столкнуться.
Не забудьте добавить примеры кода для различных проектов, над которыми вы работали, и краткое объяснение того, что делает проект/код.
Наконец, добавьте краткую биографию, в которой расскажите о своей страсти к открытому исходному коду и технологиям. Сделайте это увлекательно и доступно.
Отметьте свой вклад в резюме/платформы социальных сетей.
Это будет полезно, когда потенциальные работодатели будут просматривать ваше резюме или профиль GitHub/LinkedIn. Ваш вклад может выделить вас среди других кандидатов.
Вот как вымогут использовать это, чтобы выделиться:
- Заведите специальный раздел, в котором перечислите все свои вклады в работу с открытым исходным кодом и кратко опишите свое участие.
- Укажите, какое влияние ваш вклад оказал на успех проекта.
- Подчеркните навыки, которые вы приобрели благодаря вкладу в open-source.
- Если у вас есть онлайн-профиль, обязательно укажите ссылку на него в резюме - это поможет рекрутерам глубже изучить ваш вклад.
Networking
Нетворкинг может открыть двери и связать вас с множеством возможностей.
Вот как вы можете использовать свой опыт работы с открытым исходным кодом в целях нетворкинга:
- Рассказывайте о своем вкладе в проекты с открытым исходным кодом. Это может быть обмен мнениями, вопросы и так далее.
- Посещайте встречи и конференции, связанные с технологиями, с которыми вы работали или в которых имеете опыт.
- Общайтесь с соавторами на таких платформах, как GitHub.
- Участвуйте в хакатонах, мастер-классах, менторских программах и совместных мероприятиях по кодингу с людьми, имеющими те же интересы.
- Поделитесь своими мыслями, написав учебники о своем опыте работы с открытым исходным кодом, проблемах, которые вы преодолели, и уроках, которые вы извлекли.
Заключение
Завершая это руководство, уделите время размышлениям о пройденном пути. Вы получили ценные знания и в то же время узнали, насколько значимым может быть ваш вклад, каким бы маленьким он ни был.
Если вы уже вносили свой вклад в open-source, вспомните, когда вы только начинали свой путь в open-source. Вспомните радость, которую вы испытывали, когда ваш первый PR был слит, удовлетворение, которое вы испытали, когда решили эту ошибку, написали эту строчку кода, устранили эту проблему или обновили документацию.
Все это оставило след в проектах, над которыми вы работали. Гордитесь собой 😊.
Помните, что сообщество open-source процветает благодаря разнообразию, и каждый вклад, каким бы маленьким он ни был, приносит пользу. Участвуя в проекте с открытым исходным кодом, вы вносите свой вклад в глобальное движение, которое ценит прозрачность, сотрудничество и свободный обмен знаниями.
Желаем вам дальнейших успехов в работе с открытым исходным кодом, обучении и внесении изменений.
Счастливого кодинга! 🚀🌍
Дополнительные ресурсы
- Open Source Projects Every Developer Should Know About
- How to Use GitHub Actions to Automate Open-Source Projects
- GitHub Search Tips - How to Search Issues, Repos, and More Effective on GitHub
- Как написать хороший файл README для вашего проекта на GitHub
- Сообщества разработчиков, которые помогут вам сделать карьеру
- How to Contribute to Open Source Projects - A Beginner’s Guide