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