Практика в open-source проектах поможет при составлении портфолио для трудоустройства. В статье приведены рекомендации по изучению этой тематики.
Прежде чем вы начнете...
...стоит прослушать эту лекцию. На ней вы узнаете все необходимое, если совсем ничего не знали об этой области IT-сферы. Также есть хорошая серия книг «Архитектура опенсорных приложений», которая расскажет читателю о том, как устроена архитектура огромных приложений, написанных очень опытными разработчиками, и позволит не совершать распространенных ошибок. Более того, в этой книге описаны основные компоненты этих приложений и как они взаимодействуют между собой.
1. OpenStack
OpenStack – бесплатная open-source платформа для облачных вычислений, в основном развернутая по модели обслуживания Инфраструктура-как-услуга (IaaS). Начало проекту было положено NASA и RackSpace еще в 2010, однако с тех пор к проекту присоединилось более 500 компаний, включая гиганты Кремниевой долины. Чтобы сделать свой вклад в проект, вам достаточно ознакомиться с этой страницей. К каждому из проектов есть подробная документация. Для принятия участия могут потребоваться знания C++, Python и веб-фреймворка Django.
2. Ava
Ava – JavaScript-библиотека для тестирования, работающая быстрее многих своих конкурентов. Её преимущество в том, что она запускает тесты параллельно, что делает её использование особенно выгодным для нагрузочных тестов на поток ввода/вывода. Помимо этого, файлы с тестами запускаются параллельно в отдельных процессах, таким образом, тестирование происходит намного быстрее, чем, к примеру, с использованием библиотеки Mocha. В issues репозитории можно обнаружить задания для начинающих по правки библиотеки.
3. Мгновенные ответы DuckDuckGo
Если кто не знал, DuckDuckGo – поисковая система, не собирающая информацию о пользователях. Мгновенные ответы — фича, которая позволяет получать ответы без необходимости открывать сайт. Сотни людей успели принять участие в разработке этой фичи, много идей для разработки лежит на этой странице. Также DuckDuckGo предоставляет хорошую документацию и рекомендует новым пользователям создавать шпаргалки для сервиса. Чтобы посмотреть, как выглядят такие шпаргалки, достаточно вбить в поисковик фразу "wordpress cheat sheet". Если у вас возникли трудности, есть канал в Slack и вики-страница в Github-репозитории.
4. Habitica
Habitica – приложение для формирования привычек, позволяющее пользователям в игровой форме принимать те или иные жизненные решения, получая "награды" и "наказания". Если вы хотите помочь команде в его разработке, то самое время зайти на их репозиторий в Github и присмотреться к задачам с пометкой «для новичков».
5. Проекты Mozilla
Вне сомнений, Mozilla – одна из лидирующих организаций по количеству open-source проектов. Делать свой вклад в развитие проектов Mozilla может показаться не очень простым на первый взгляд, поскольку сложно найти задачи, помеченные как «для новичков», из-за того, что в целом задач много. К счастью, был создан отдельный сайт, где можно фильтровать задачи в зависимости от своих интересов. Новичку стоит обратить внимание на фильтр simple bugs внизу в секции фильтров!
6. Pinax
Pinax – это открытая опенсорсная платформа, сделанная с использованием веб-фреймворка Django. Это экосистема для повторно используемых приложений на Django, тем, шаблонов для нового проекта. В их репозитории на Github в разделе Issues есть задачи для новичков, помеченные first-timers-only. Они аккуратно задокументированы, таким образом, чтобы вы знали, что вам следует делать.
Я хочу еще проектов, что делать?
- Ищите по меткам в интересующих вас репозиториях. Наверняка там будет какая-нибудь задача в issues, которая помечена как легко решаемая.
- Зайдите на следующие ресурсы:
- @yourfirstpr: аккаунт в Твиттере, в котором постоянно добавляются ссылки на задачи из issues для начинающих;
- OpenHatch: ресурс для связи с разработчиками, нуждающимися в том, чтобы пользователи сделали вклад в развитие их проектов;
- Up For Grabs: список проектов, в котором указываются задачи, созданные специально для новых контрибьюторов.
- CodeTriage: выбирайте свои любимые репозитории и будете ежедневно получать е-майл с задачами в issues.
- Awesome for beginners: репозитории для новичков
Комментарии