Ответ 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.