Вопрос

Я хотел бы начать вносить свой вклад в некоторые программные проекты GNU.Уже несколько недель мне нравится конкретный проект, но я не знаю, как и когда начать.

У меня такое чувство, что вы должны быть тверды в следующем:

  • Язык программирования
  • ссагпз
  • gdb
  • сделать
  • emacs ( эмакс )
  • само приложение
  • латание
  • РЕЗЮМЕ
  • и т.д.

Поэтому я стараюсь выучить их все как можно лучше.

Но:Действительно ли мне нужно освоить все перечисленные программы / инструменты, прежде чем вносить свой вклад, или мне следует просто присоединиться к проекту как можно скорее, чтобы изучить их все "между прочим"?Получу ли я какую-нибудь помощь с незначительными трудностями от программистов GNU или у них просто нет времени на мои "начальные проблемы"?Надеюсь, вы сможете мне помочь!

Всего наилучшего,

Инно

P.S.:Я хотел бы присоединиться как разработчик, а не как документалист или сторонник IRC :)

[ПРАВИТЬ]

Спасибо вам за ваши ответы на данный момент.

Я уже скомпилировал, отладил и запустил приложение, это больше не проблема.Просто некоторые мелочи, с которыми у меня не получается работать (я думаю, что последую совету с IRC).

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

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

Это было полезно?

Решение

Лучший способ - присоединиться к IRC-каналу рассматриваемого проекта - если у вас возникли проблемы с набором инструментов, и вы указываете, что работаете об их проекте, большинство разработчиков F / OSS помогут вам в этом.

В частности, проект Mono (C# в Linux) представляет собой действительно разработчики дружелюбны в своей комнате IRC и будут очень дружелюбны и терпеливы с новыми людьми, которые хотят помочь

Другие советы

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

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

Также обратите внимание, что CVS - это только одна из многих используемых VCS (систем контроля версий).SVN и Git - два других популярных варианта, но все они относительно просты в освоении - главное, знать, как создать что-то, заслуживающее управления версиями.;)

Это здорово, что вы готовы внести свой вклад!Как правило, вы можете начать работу с текстовым редактором по вашему выбору, научившись использовать diff и patch, а также любой используемый язык.Вам также может потребоваться использовать систему контроля версий (такую как subversion, CVS, git и т.д.), Чтобы получить исходный код, но не все тонкости - большинство проектов, которые я видел, требуют, чтобы вы отправляли исправление, прежде чем предоставлять вам доступ к фиксации.

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

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

Если вы спрашиваете о проектах бесплатного программного обеспечения с открытым исходным кодом (FOSS) в целом, то вам не нужно знать какие-либо конкретные инструменты, которые вы упоминаете.Очевидно, что если проект заключается в разработке сложной настройки emacs (например), вам нужно будет знать emacs.Для всех проектов вам нужно будет знать, как использовать систему контроля версий, используемую проектом.

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top