2009-08-18 2 views
2

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

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

  • Язык программирования
  • НКУ
  • GDB
  • сделать
  • Emacs
  • приложение само
  • исправление
  • CVS
  • т.д.

Так что я пытаюсь узнать их все как можно лучше.

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

Все самое лучшее,

Inno

PS: Я хотел бы присоединиться как разработчик не как documentator или IRC сторонника :)

[EDIT]

Спасибо вы за свои ответы до сих пор.

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

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

С тех пор как я зарабатываю деньги на программировании с 5 или 6 лет, я больше не являюсь полным григорианцем;).

+0

Вы имеете в виду конкретно один проект GNU или программное обеспечение с открытым исходным кодом в целом? – LB40

+0

Я имею в виду GNU, бесплатное программное обеспечение, LINUX/UNIX и Open Source в целом. – Inno

+0

Участие в проекте FOSS НЕ является хорошим способом обучения или «знакомством с» C. Напишите собственный код (начните свой собственный проект!) И сначала прочитайте некоторые книги, такие как K & R. – 2009-08-18 17:20:44

ответ

0

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

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

0

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

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

4

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

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

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

1

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

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

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

2

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

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

Смежные вопросы