Где разместить проект с открытым исходным кодом: CodePlex, Google Code, SourceForge?

Я читал о отставании ответивших на вопросы о SO "Как продвигать проект с открытым исходным кодом". Неудивительно, что многие ответы указывали людям на SoureForge/FreshMeat и другие сайты и т.д., А также на блоги и многое другое. Это заставило меня задуматься, где лучшее место для размещения проекта и почему?

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

http://www.stum.de/2008/12/13/sourceforge-vs-codeplex/
http://www.developmentnow.com/blog/2006/11/codeplex-vs-sourceforge/
http://www.spacesocket.com/forum/thread-6654.html
и т.д...

Итак, следующий вопрос: "Должен ли я размещать свой проект на нескольких сайтах", на который следующая почта дает ожидаемый ответ (к счастью!, поскольку это было бы болью для поддержания).

Хостинг проекта с открытым исходным кодом на нескольких сайтах

В зависимости от текущего состояния различных хостинговых сайтов с открытым исходным кодом, таких как CodePlex, GitHub, Google Code, SourceForge и т.д., есть ли какие-либо заметные плюсы и минусы одного сайта над другим? то есть, следует ли придерживаться CodePlex или я упускаю из виду, не используя один из альтернатив? Приведет ли новый трафик к новому и неизвестному проекту?

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

ОБНОВЛЕНО

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

Ответ 1

Редактировать 2015-08-01: Этот ответ по-прежнему получает мнения и голоса. Это больше, чем древние, и я хотел бы удалить его, но поскольку это принятый ответ, я не могу этого сделать. С другой стороны, это сообщество wiki и сообщество постоянно обновляли его - спасибо за это!

SourceForge перешел на темную сторону, взяв на себя проект и связав их с Adware (Google GIMP Sourceforge Adware). Избегайте любой ценой. GitHub пока еще самый популярный, хотя есть альтернативы (например, BitBucket предлагает неограниченные частные репозиции бесплатно до 5 пользователей.)

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

Информация о старом 2010 году ниже для истории

Изменить: Этот ответ теперь древний. За последние 2 года GitHub стал основным местом хостинга кода, и всякий раз, когда мне нужно создать новый проект OSS, у меня нет следа тени сомнения, куда идти. Оставляя это ниже для справки.

В самом деле, моя публикация уже почти 2 года (2008) теперь и не совсем точная.

Почему?

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

Я абсолютно убежден, что проекты с открытым исходным кодом должны запускаться на DVCS, желательно git или меркуриальном, поскольку они наиболее распространены - ничего против Bazaar, но я думаю, что это слишком неясно. (Edit: SourceForge теперь предлагает Mercurial и Bazaar, так что аргумент больше не выдерживает. Однако, после двух редизайнов, я думаю, что SF-образ не слишком велик. Чтобы сравнить их с изображениями компаний: хотя GitHub - это Apple, SF это IBM. Рок твердый, но немного пыльный)

Итак, если бы я снова написал это сообщение, это было бы CodePlex против GitHub против BitBucket, причем GitHub является победителем. Но это всеобъемлющее выражение, поэтому позвольте мне добавить подробности. +/- не является строго Pro/Con, он больше подчеркивает различные философии.

CodePlex

+ Real Mercurial/Git Хостинг - нет багги-моста поверх TFS, у вас есть реальный Mercurial/Git
+ Интегрированная вики, которая позволяет добавлять богатую документацию и красивые страницы

+ Форумы об ошибках и дискуссиях - Исходный код браузера не так уж хорош - Diffs появляются во всплывающем окне и просто "чувствуют" сложное
- Форки и запросы на оттяжку "не так просто" - пользовательский интерфейс мог бы использовать некоторую работу

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

GitHub

+ git Хостинг, поддержка SSL/SSH
+ Сетевой график позволяет видеть вилки и то, что слилось в то, что когда + Возможность "смотреть" проекты - ваша страница учетной записи похожа на стену Facebook с новыми проверками
+ Супер хороший просмотрщик с возможностью комментировать изменения одной строки - см. Здесь
+ Forking - это процесс с двумя щелчками мыши и поэтому отправляет запросы на загрузку + GitHub теперь имеет инструмент GUI GitHub для Windows
- Главная страница не очень "хороша" для не-разработчиков. Если у вас есть Readme в вашем проекте (поддерживает некоторые языки разметки, такие как Markdown или HTML), он отображается, но исходной страницей является исходный код
- Вики не так уж велики - это Markdown, но иногда форматирование кажется слишком сложным.

GitHub имеет другую философию, чем CodePlex: все это касается исходного кода и совместной работы разработчиков. Основная страница проекта - это самый современный исходный код. Существует отдельная Wiki, но это больше предназначено для документации, а не для презентации вашего проекта. Сетевой график является фантастическим, хотя он может запутаться, когда имеется более 20 вилок (часто, когда объявляется проект высокого профиля, и их собака разворачивает его, но большинство вилок быстро умирают). GitHub очень хорошо масштабируется до любого размера.

На самом деле, GitHub делает это очень легко для меня, чтобы развернуть проект, применить исправление/патч, передать его моей вилке и отправить запрос на тягу к автору. Вместе с графиком сети очень легко увидеть фиксацию.

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

BitBucket

+ Git/Mercurial
+ Позволяет создавать частные репозитории бесплатно, до 5 пользователей

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

Код Google

Код Google больше не является вариантом.

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

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

SVN против Git/Mercurial

Повторить мой комментарий выше о том, что SourceForge устарел: это, конечно, немного жестко. Однако я считаю, что SVN вредит проектам с открытым исходным кодом. Прежде всего, странные требования к метаданным для игнорирования файлов. В git или mercurial у вас есть файл с именем .gitignore или .hgignore в корне вашего исходного дерева, который содержит список файлов/каталогов/шаблонов для игнорирования. Магия svn: игнорировать метаданные в папке .svn. Это само по себе удаляет SVN из воды для меня. Если я запустил новый проект Visual Studio, мне нужно применить эти магические метаданные, а с помощью Git/mercurial я просто скопирую один файл и сделаю с ним.

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

И последнее, но не менее важное: SourceForge по-прежнему слишком сложна для моего вкуса. Это не плохой хозяин, но на самом деле это показывает возраст ИМХО. Это, как говорится, все еще устойчиво и имеет множество зеркал по всему миру. Кроме того, Bug Tracker намного сложнее, чем другие.

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

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

TL; DR

Для любого маленького и среднего проекта я всем сердцем рекомендую GitHub, для небольших проектов, где вы хотите хороший веб-сайт, я бы пошел с CodePlex, и для частных проектов я бы пошел с BitBucket. Для крупных проектов, требующих очень сложного отслеживания ошибок, множества дополнительных функций и "реального" веб-сайта, обратите внимание на Source Forge.

Ответ 2

Ну, вы не сказали, какую систему управления версиями вы используете, что сильно влияет на ваш выбор.

(не полный)

  • Git → GitHub или Gitorious - очевидный выбор
  • Mercurial → BitBucket
  • SVN → Savannah, SF.net
  • Базар → Launchpad
  • CVS → обновление до более новой системы управления версиями

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

Я хочу добавить, что CodePlex не очень популярен в экосистеме с открытым исходным кодом за пределами лагеря Microsoft, и это легко увидеть из их наиболее загруженного списка. Это, вероятно, комбинация того, насколько естественно она ориентирована на Microsoft, а также из прошлых стигм. Если вы разрабатываете исключительно для .NET или что-то подобное, это изменит перспективу.

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

Ответ 3

Этот вопрос кажется дублирующим: https://stackoverflow.com/questions/10490/best-open-source-project-hosting-site

Вот мой ответ на этот вопрос: https://stackoverflow.com/questions/10490/best-open-source-project-hosting-site/3433969#3433969

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

Ответ 4

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

Но я не думаю, что вы не можете использовать другого. Я вижу много проектов, которые используют Github для источника и Google Code для документов. И кроме того, ссылка Sourceforge на него также.

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