Участие в проекте с открытым исходным кодом [закрыто]

19

Я собираюсь поступить в аспирантуру и получить стажировку на лето и осень. Поскольку я не буду делать домашнее задание, я бы хотел воспользоваться этой возможностью, чтобы принять участие в каком-либо проекте с открытым исходным кодом. Я хорошо знаю C, C ++, Java и Python. Я также достаточно хорошо знаком с Linux, сейчас использую его на своем ноутбуке, и все мои занятия в этом семестре были сосредоточены на нем.

Я подумывал взглянуть на Android или Ubuntu, но в прошлом я чувствовал себя немного ошеломленным. У кого-нибудь есть совет? Заинтересован, над каким проектом было бы хорошо работать, с чего начать, и если я действительно смогу внести большой вклад.

И в конце концов, как часто люди действительно принимают изменения? Как часто я буду писать код, чтобы его отклонили?

tl: dr Ищите больше опыта программирования, участвуя в проекте с открытым исходным кодом. Новичку на сцене нужен совет.

Tarmon
источник
Я бы сказал, что посадка здесь, безусловно, стоит того!
squillman
6
Звучит как хорошая идея, но проверьте правила «подрабатывать» в компании, где вы проходите стажировку. Некоторые места, особенно если это магазины программного обеспечения, будут очень ограничены в том, что вы можете делать - даже в свое время и на своем ПК.
Стив
1
возможно, стоит подумать об изучении нового языка программирования, более декларативного, чем тот, который вы упомянули. Например, Haskell или Scala. Затем поработайте над проектом с открытым исходным кодом.
mrsteve

Ответы:

15

+1 Стиву Хейу за упоминание о лунном освещении.

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

Хорошее место для начала может быть OpenHatch . Это веб-сайт, посвященный тому, чтобы помочь людям участвовать в проектах с открытым исходным кодом. Они смогут дать вам список ошибок размером с укус, чтобы начать работу над любым из проектов, которые подписаны с ними, и могут помочь вам связаться с другими участниками, которые готовы наставить вас в проект и / или язык по вашему выбору.

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

Джефф Веллинг
источник
1
Их политика по совместительству - это то, что я даже не рассматривал. Также OpenHatch.org выглядит довольно круто. Зарегистрируйтесь прямо сейчас, чтобы проверить это.
Тармон
2
Еще одно замечание о совместном освещении, если вы спросите своего работодателя, вы можете сделать это по электронной почте для следа бумаги. Иначе, что мешает им позже передумать и сказать, что они никогда не отказывались от своих претензий к вашему проекту? Просто мысль.
Джефф Веллинг
Я не могу поверить, что этот вопрос был закрыт, тем более что у него так много отличных «ответов», основанных на мнении или нет!
Дейв Кантер,
7

Как менеджер проекта с открытым исходным кодом (FireBreath), я бы предложил вам просто найти проект, который вы используете или который вас интересует, и искать способы, которыми вы можете помочь. Есть много вещей, которые вы можете сделать даже без написания кода. В нашем проекте нам нужны люди, чтобы помочь:

  • Тестировать и сообщать об ошибках
  • Обновление документации на сайте
  • Помогите написать вторичные инструменты
  • Тусоваться в комнате IRC и помогать новым пользователям
  • Создание примеров плагинов с использованием FireBreath для новых пользователей, чтобы посмотреть

Конечно, они относятся к моему проекту (и вы можете помочь! ;-), но у всех проектов есть такие вещи, которые могут внести новые пользователи. Мой последний вклад в другой проект состоял в том, чтобы добавить инструмент для лучшего управления разрешениями хранилища подстановочных знаков в gitolite. Придерживайтесь проектов, которые вы считаете интересными или можете использовать!

Удачи!

taxilian
источник
Я даже не думал о таких вещах. Спасибо за предложения. Я пойду поищу новый проект, который нуждается в таких вещах.
Андрей
+1 за документацию. Как координатор SharePoint SUSHI, одной из самых утомительных и трудных вещей для написания документов являются документы, но они также являются наиболее важными для новых пользователей. Там вы также познакомитесь с особенностями проекта и с тем, как он работает.
Райан Хейс
3

Я не могу сказать вам, какой проект вы должны выбрать - это на самом деле ваше дело. Тем не менее, я могу рассказать вам, как принять участие: если вы испытываете страсть к какому-то проекту, то есть долгое время использовали приложение (для ОС это может быть не так просто), вы всегда можете отправить патчи с предлагаемыми изменениями (улучшения, исправление ошибок) и попросить владельцев проектов для обзора / интеграции.
Это довольно легко с проектами на GitHub - просто создайте свой патч и отправьте запрос на извлечение.
В любом случае, чем больше ценных патчей вы отправите, тем больше вероятность, что они будут приветствовать вас в основной команде.

Павел Дида
источник
2

Если вы не разбираетесь в каком-либо конкретном языке, есть еще много мероприятий, которые высоко ценятся. Они включают тестирование, написание учебных пособий, написание документации по API, создание веб-сайта для проектов и т. Д. Если у вас есть особый интерес, найдите проект в этой области и поделитесь знаниями в предметной области. (Например, у нас есть активное сообщество проектов ОС химии).


источник
2

Чтобы попасть в проекты с открытым исходным кодом, познакомьтесь с OpenHatch - в этом вся их миссия:

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

Джеймс
источник
2
Вы не могли бы объяснить больше о том, что он делает, и почему вы рекомендуете ответить на заданный вопрос? «Ответы только на ссылки» не очень приветствуются на Stack Exchange
комнат
1

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

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

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

vpit3833
источник