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

165

Я читаю задел ответов на вопросы о 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. Кроме того, мой текущий проект только для меня, но будущие проекты могут быть совместными, поэтому стоит подумать ...

Крис Бакстер
источник
55
Закрытие этого вопроса было совершенно ненужным ИМО. Я должен задаться вопросом, что было достигнуто к концу? Этот вопрос имеет много положительных откликов (так что, очевидно, люди находят его интересным), у него есть высоко оцененный ответ (так что эти вопросы и ответы, очевидно, полезны), и это вики сообщества (поэтому, даже если он запрашивает субъективное мнение или рекомендации по продукту, никто не может получили прибыль просто за спонсирование новейшего и самого лучшего продукта).
stakx - больше не участвует
12
Этот тип вопроса должен был быть закрыт до того, как на него было получено так много ответов, поскольку на самом деле он не был подходящим. Однако теперь, когда он получил так много откликов, закрытие контрпродуктивно и умаляет вклад, который был сделан.
Крис Страттон
4
Одна вещь, достигнутая закрытием этого вопроса @stakx, состоит в том, чтобы защитить его от свежих ответов. Теперь это непременно утонет.
Боб Стейн
@ BobStein-VisiBone неуместны? Я только что задал этот вопрос через шесть лет после того, как он был задан изначально.
wonea
2
@wonea У меня было саркастическое настроение. Я разочарован, когда такие важные, полезные и отвечающие вопросы, как этот, затруднены. На самом деле, если появляются новые возможности для хостинга с открытым исходным кодом, эта страница искусственно ограничивается редактированием их в существующий ответ. Вопросы возможности особенно нуждаются в возможности развиваться. Я ожидаю, что это будет становиться все более несвежим с каждым годом. Stackoverflow великолепен, но он также уничтожает много, что замечательно.
Боб Стейн

Ответы:

127

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

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

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

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

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

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

Зачем?

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

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

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

CodePlex

+ Настоящий хостинг Mercurial / Git - без глючного моста поверх TFS, у вас есть реальная Mercurial / Git
+ Интегрированная вики, которая позволяет добавлять богатую документацию и красивые страницы
+ Включает отслеживание ошибок и дискуссионные форумы
- Браузер исходного кода не так уж и хорош - Диффы появляются во всплывающих окнах и просто «чувствуют себя сложными».
Запросы Forks и Pull «не так просты» - пользовательский интерфейс может использовать некоторую работу

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

GitHub

+ Git Hosting, поддерживает SSL / SSH
+ Сетевой график позволяет видеть вилки и что слилось во что и когда
+ Возможность «смотреть» проекты - страница вашего аккаунта похожа на стену Facebook с новыми проверками
+ Супер хороший просмотрщик различий с возможностью комментировать об изменениях в одну строку - см. здесь
+ Форкинг - это процесс, выполняемый в два клика, и поэтому отправка запросов извлечения
+ GitHub теперь имеет инструмент с графическим интерфейсом GitHub для Windows
- главная страница не очень привлекательна для не-разработчиков. Если в вашем проекте есть Readme (поддерживает некоторые языки разметки, такие как Markdown или HTML), он отображается, но исходной страницей является исходный код
- Wiki не так уж и хорош - это Markdown, но иногда форматирование кажется слишком сложным.

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

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

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

BitBucket

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

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

Google Code

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

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

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

SVN vs. 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 - для больших проектов, которые требуют очень сложного средства отслеживания ошибок, множества дополнительных функций и «настоящего» веб-сайта.

Michael Stum
источник
3
Я не могу согласиться с Google Code, я думаю, что он простой, интуитивно понятный и легкий (и веб-сайт быстрый ! Сравните это с CodePlex…!) И будет моим выбором №1 каждый раз. Но остальное интересно читать.
Конрад Рудольф
2
@ Конрад Правда, как уже говорилось, это личное дело. Может быть, минималистичный подход отталкивает меня. Я не слышал ничего плохого о функциональной стороне этого, но я никогда не принимал там проект.
Майкл Стум
2
Отличный ответ, очень подробно! Дает отличное объяснение различий между основными сайтами (ну, CodePlex и GitHub), которые мне наиболее интересны. Также интересно, что вы идентифицируете SourceForge как незначительный на этом этапе; безусловно, изменение мнения от старых статей. Спасибо!
Крис Бакстер
4
Есть также факторы, свойственные типу проекта, который вы запускаете. Например, в проектах .Net CodePlex поддерживает развертывание ClickOnce, а Google Code - нет.
ДБКК
1
@MichaelStum Может быть, вы можете добавить сервисы GitHub Pages. Точкой входа для любого проекта на GitHub должна быть страница.
Матиас Фидемрайзер
8

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

(не полный)

  • Git -> GitHub или Gitorious - очевидный выбор
  • Mercurial -> BitBucket
  • SVN -> Саванна, SF.net
  • Базар -> Панель запуска
  • CVS -> перейти на новую систему контроля версий

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

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

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

erjiang
источник
2
В настоящее время я использую Mercurial (не трогал бы TFS с 10-футовым полюсом)
Крис Бакстер
2
Что-то не так с фразой « легкая разборка»
Марко
2
Для всех, кому интересно, на GitHub вместо того, чтобы быть необратимым разделением проекта, это лучший способ изменить существующий проект. После того, как вы внесете свои личные изменения, вы можете отправить исходному проекту «запрос на извлечение» изменений с вашего форка.
erjiang
Я согласен, что CodePlex нацелен исключительно на развитие Microsoft; это работает на меня ... впечатление, которое я получаю, это то, что если у меня открытый исходный код ... GitHub; если .NET Focused и одиночная / меньшая команда CodePlex. Также как редактирование на осознании ... это будет следующая битва. Спасибо!
Крис Бакстер
1
@marko: Легко разветвляться - это хорошо
Николас Рауль
4

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

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

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

Wolph
источник
Интересно, что вы бы порекомендовали хостинг на нескольких сайтах. Мои первоначальные мысли заключаются в том, чтобы согласиться со ссылками, приведенными выше в ответе на вопрос ... что вы думаете об этой теме?
Крис Бакстер
@Calgary Coder: я не говорю конкретно о хостинге, но больше о ссылках. Я перестал использовать Sourceforge несколько лет назад из-за медлительности и ужасных изменений в дизайне. Но создание проекта в sourceforge и ссылка на ваш сайт github (или любой другой) может помочь облегчить поиск вашего проекта. Что касается документации, я обнаружил, что вики Google Code проще, чем вики Github, поэтому я предпочитаю это. Мне нравится интерфейс Github и опции разветвления, поэтому я думаю, что это хороший выбор для вашего источника. Для обзора кода я нашел панель запуска очень хорошей.
Вольф
4

Этот вопрос выглядит как дубликат этого: /programming/10490/best-open-source-project-hosting-site

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

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

оборота jwanagel
источник
1
Спасибо за ссылку, я пытался не дублировать вопрос, но я пропустил тот.
Крис Бакстер
1
@CalgaryCoder вы, по крайней мере, могли бы проголосовать, поскольку нашли время поблагодарить его. НВМ, я сделал это для тебя ;-)
Моуг говорит восстановить Монику
Эти ссылки сейчас мертвы.
pbible