2010-01-07 3 views
7

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

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

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

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

Так позвольте мне фразу, это как вопрос:

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

+0

Я не эксперт, но я нашел информационную базу Google CodePlex Foundation. http://groups.google.com/group/codeplex-foundation –

ответ

5

У вас есть два важных решений, чтобы сделать изначально.

Во-первых, какую лицензию вы должны использовать? Есть dozens of Open Source licences, но это в основном сводится к тому, хотите ли вы copyleft (GPL/AGPL) или non-copyleft (BSD, MIT, Apache), и это зависит от ваших собственных целей.

Во-вторых, вам нужно выбрать систему контроля версий и, если вы не будете ее размещать самостоятельно, поставщиком. Это фактически выбор между Subversion или одной из распределенных систем управления версиями (Git, Mercurial, Bazaar и т. Д.). DVCS может облегчить вам управление вкладами других людей, если вы не хотите предоставлять им право на запись в ваш основной репозиторий.

Выбор VCS будет влиять на ваш выбор хоста и наоборот, поскольку большинство провайдеров предлагают только один VCS. Поставщик, который также будет размещать веб-сайт и/или вики для вас, был бы идеальным. Большинство из них предоставит какой-то рудиментарный трекер и, возможно, списки рассылки. Вы также можете получить списки рассылки от Librelist.

Я бы порекомендовал вам взглянуть на GitHub или Launchpad. Я не особо увлекаюсь Google Code или Sourceforge. Ничего против Subversion, мне просто не нравятся их интерфейсы.

Если вы хотите, чтобы ваш проект стал популярным, и это может быть не важно для вас, вам придется его продвигать. Вы можете зарегистрировать его с помощью Ohloh и Freshmeat. Написание статей в блоге о вашем проекте и отправка их на такие сайты, как Reddit и DZone, увеличили бы видимость. Помните также, что Джефф предлагает free advertising on StackOverflow for Open Source projects.

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

1

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

взгляд на этих сайтах:

+3

Codeplex - это проект Microsoft, и если вы хотите использовать сообщество сообщества с открытым исходным кодом, вы, вероятно, должны этого избежать. Codeproject всегда поражал меня как немного спам и флеш-рекламу, а sourceforge пошел вниз. Выбирать лицензию достаточно легко, чтобы сделать это самостоятельно, и я думаю, что лучше использовать ее на сайте GitHub или Gitorious. Мне особенно нравится функция Gitorious комментировать прямо в строках кода в версии diff: http://blog.gitorious.org/2009/11/06/awesome-code-review/ – HostileFork

+0

@Hostile Fork: GitHub также имеет комментарии по просмотру кода. –

+1

@ Dan Dyer: Ах, я вижу ... не так хорошо выставлена ​​функция, хотя (вы должны парить в невидимом пространстве). Хорошо знать! Тем не менее, мой главный недавний фаворитизм в отношении gitorious заключается в том, что он является открытым исходным кодом, поэтому вы можете запускать его в своей собственной интрасети ... – HostileFork

1

Очень минимум, что вам нужно сделать, это разместить код в виде молнии, с соответствующей лицензией файл. Вы можете сделать это на Google Code - это очень просто использовать. Что касается лицензии, начните с неограниченной версии, такой как MIT (в коде Google есть все тексты лицензий) - вы всегда можете повторно лицензировать позже, если вы не приняли никаких обновлений.

Что касается книг/ссылок, посмотрите на Producing Open Source Software - это не идеально, но я не знаю ничего лучшего.

+1

Я не согласен с тем, что хорошо выбрать неограничительную лицензию, а затем ограничить ее позже.Это может показаться оппортунистическим и посмотреть, что случилось с ExtJS, когда они перешли от LGPL к GPL. Выбрав что-то вроде Affero GPL, чтобы начать, а затем ослабить его (для LGPL, MIT, независимо от того, что) больше, чем вне, независимо от того, принимаете ли вы обновления от других или нет. – HostileFork

+0

Я не согласен. AGPL - ужасная лицензия. И помните, что люди, которые использовали код под лицензией MIT (или что-то еще), могут продолжать это делать - лицензии не могут быть отменены в одностороннем порядке. – 2010-01-07 17:51:45

+0

... и я особенно не согласен с тем, что проекты с открытым исходным кодом должны отправлять свой код в виде файлов ZIP вместо использования современного DVCS (или, в худшем случае, subversion!) – HostileFork

3

Если вы уже знакомы с VCS (Система управления версиями), все должно быть хорошо. Я рекомендую www.github.org разместить репозиторий, и, возможно, в какой-то момент на веб-сайте поговорить о приложении. Github - это хорошо, потому что людям очень легко вносить код. Это смешно просто, хотя у git есть немного кривая обучения.

И тогда, способ общения! Список рассылки .. Может быть, googlewave .. Может быть, форум.

+1

Альтернатива github - битбакет. Он использует Mercurial, который является немного более дружественной альтернативой git. Оба являются удивительными веб-сайтами/инструментами. Просто FYI. – dlamotte

2

Wikinomics http://ecx.images-amazon.com/images/I/51M9MTN5QFL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU01_.jpg

Читать эту книгу: Wikinomics

В одной из глав, например, автор объясняет проблемы, с которыми сталкиваются IBM, когда они впервые присоединился к проектам с открытым исходным кодом на Linux.

2

У меня нет личных советов, но я нашел следующее видео очень интересным. Это воспоминание об опыте некоторых сотрудников Google и уроках, которые они изучили, при управлении своими проектами с открытым исходным кодом.

Как Open Source проекты Survive ядовитых Люди (и вы можете тоже) https://www.youtube.com/watch?v=Q52kFL8zVoM

2

Не пропустите отличную электронную книгу от Karl Fogel, Producing Open Source Software можно получить бесплатно.

+1

Есть ли такая книга для написания коммерческого программного обеспечения? –

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