Как вы связались с сообществом с открытым исходным кодом?

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

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

Возможно, вы уже знали кого-то в сообществе и просто впали в него? Может быть, вы были разочарованы какой-то ошибкой и в результате стали вносить свой вклад? Возможно, вы просто обнаружили проект на SourceForge...

Обновление:

Похоже, что самая распространенная причина - просто царапать зуд, quote singpolyma: "Ищете проект, который может внести свой вклад, часто не правильный путь". Вместо этого вы должны присоединиться к сообществу с открытым исходным кодом, внося свой вклад в проект, который вы уже знаете и используете.

Важно:

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

Отличные ответы:

Связанный:

Ответ 1

Мои личные анекдоты:

  • Я связался с сообществом Tcl, когда он впервые начинался в 1991 году или около того. Список рассылки и более поздняя новостная группа usenet были очень важны для общения с людьми. Я специализировался на евангелизации и обучении пользователей, и в итоге в итоге написал две книги по этому вопросу. Один из них по-прежнему печатается через десять лет: http://www.amazon.com/dp/0201634740

  • Теперь я использую много Python и очень люблю пакет cx_Oracle. Снова я был активен в списке рассылки и внес несколько исправлений.

  • Я сделал пару пакетов программного обеспечения, которые я написал для работы. Создав их с открытым исходным кодом, я смог получить хорошие отзывы, и поскольку они не были "секретным соусом" моих работодателей в то время, они не прочь поделиться кодом. Двумя наиболее популярными пакетами были

    http://sourceforge.net/projects/kap/ Кинетический прикладной процессор - это было создано, когда я работал на китайском интернет-магистрале.

    http://code.google.com/p/orapig/ - OraPIG, генератор интерфейса Oracle Python - он сгенерировал код Python для вызова API, определенных в базе данных, и включает интерфейс базы данных XML-RPC.

Совет:

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

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

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

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

Удачи!

Ответ 2

Обычно люди участвуют:

  • вы используете продукт FOSS в повседневной работе.
  • вы заметили проблему или недостающую функцию.
  • вы отправляете письмо сопровождающему, чтобы спросить, действительно ли эта ошибка/отсутствует функция.
  • сопровождающий говорит "да", это ошибка/отсутствует функция
  • вы решили попытаться исправить/добавить ошибку/функцию
  • вы называете безумным
  • вы отправляете исправление для сопровождающего
  • сопровождающий смеется или смотрит или говорит: "Большое спасибо!"

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

Ответ 3

Я присоединился к DiSo и Greasemonkey.

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

Ищете проект, который может внести свой вклад, часто не правильный путь. Используйте материал и узнайте, что вы хотите построить/исправить, а затем сделайте это.

Ответ 4

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

Я бы предпочел, чтобы мои глаза вырвались с горячим покером, чем переустановить Windows, но GnuCash не хватало чего-то, что [какой-то другой учетный пакет], поэтому я сказал ей, что добавлю его.

Как оказалось, они взяли мой патч и сделали его намного лучше, прежде чем положить его (до того момента, когда, возможно, 1% последнего патча было моим материалом), но по крайней мере мы теперь можем использовать GnuCash вместо этого запатентованного вещи. Они также были невероятно отзывчивы - от подачи патча до доступности патча была только неделя или около того, и она была в продукте через три недели.

Я также однажды исследовал получение патча в процессе учета в ядре Linux, но требуемые усилия намного перевешивали мои потребности: -)

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

Этот последний бит особенно меня раздражал:

  • Патч Linux значительно помог бы нашему продукту (и многим другим).
  • Это было изменение поведения другого нашего продукта, которое ухудшило полезность нашего продукта.
  • решение было довольно простым, концептуально (требуемое усилие было тестирование, поскольку проблема была бы высокой отдачей [переключением задач] и очень распространенной [все используют Linux]).
  • было бы быстрее скопировать патч, чем обходной путь, который мы в конечном итоге реализовали.
  • Обходной путь - это kludge (p'tooee).
  • теперь никто в мире не имеет преимущества нашего патча (включая нас).

Ответ 5

То, что я сделал, было довольно просто; Я открыл его.

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

Ответ 6

Что действительно помогает проекту с открытым исходным кодом иметь архитектуру плагина.
Гораздо проще внести простой плагин, например. формат файла, чем пытаться добавить что-то в ядро ​​Linux. Это упрощает и упрощает создание сообщества.

TODO: Пожалуйста, поставьте анекдот.