Chỉnh sửa 2015-08-01: Câu trả lời này vẫn nhận được lượt xem và lượt bình chọn. Nó còn hơn cả cổ xưa và tôi muốn xóa nó đi, nhưng vì đó là câu trả lời được chấp nhận, tôi không thể làm điều đó. Sau đó, một lần nữa, đó là wiki cộng đồng và cộng đồng đã cập nhật nó - cảm ơn bạn vì điều đó!
SourceForge đã vượt qua mặt tối, tiếp quản dự án và kết hợp chúng với Phần mềm quảng cáo (Phần mềm quảng cáo Google GIMP Sourceforge ). Tránh bằng mọi giá. GitHub cho đến nay vẫn là ứng dụng phổ biến nhất, mặc dù có những lựa chọn thay thế (ví dụ: BitBucket cung cấp repos riêng không giới hạn miễn phí cho tối đa 5 người dùng.)
Thật điên rồ khi phong cảnh thay đổi trong vài năm qua và nếu bạn đọc nó trong tương lai, có lẽ GitHub không còn là sản phẩm tuyệt vời nữa. Điểm mấu chốt là: Có rất nhiều tùy chọn tuyệt vời cho bất kỳ hệ thống kiểm soát nguồn nào bạn muốn sử dụng.
Thông tin cũ năm 2010 dưới đây vì lợi ích của lịch sử
Chỉnh sửa: Câu trả lời này là cổ xưa. Trong 2 năm qua, GitHub đã nổi lên như là nơi lưu trữ Code Code chính và bất cứ khi nào tôi phải tạo một dự án OSS mới, tôi không có dấu vết của một nghi ngờ sẽ đi đến đâu. Để lại dưới đây để tham khảo.
Thật vậy, bài viết của tôi đã gần 2 năm rồi (2008) và không hoàn toàn chính xác nữa.
Tại sao?
Bởi vì tôi nghĩ rằng SourceForge hiện không đáng kể đối với các dự án nguồn mở. Được rồi, điều này sẽ khiến tôi gặp nhiều rắc rối, vì vậy hãy để tôi làm rõ:
Tôi hoàn toàn tin tưởng rằng các dự án Nguồn mở nên được chạy trên DVCS, tốt nhất là git hoặc đồng bóng vì chúng phổ biến nhất - không có gì chống lại Bazaar, nhưng tôi nghĩ nó hơi mơ hồ. ( Chỉnh sửa: SourceForge hiện cung cấp Mercurial và Bazaar, do đó, tranh luận không còn tồn tại nữa. Tuy nhiên, sau hai lần thiết kế lại tôi nghĩ rằng hình ảnh của SF không quá tuyệt vời. Để so sánh chúng với hình ảnh của các công ty: Trong khi GitHub là Apple, SF là IBM. Rock rắn, nhưng hơi bụi)
Vì vậy, nếu tôi viết bài đăng này một lần nữa, đó sẽ là CodePlex so với GitHub so với BitBucket , với GitHub là Người chiến thắng. Nhưng đó là một tuyên bố chăn, vì vậy hãy để tôi thêm chi tiết. +/- không hoàn toàn Pro / Con, nó làm nổi bật hơn những triết lý khác nhau.
CodePlex
+ Real Mercurial / Git Hosting - không có lỗi trên TFS, bạn có
Wiki tích hợp Mercurial / Git + cho phép thêm tài liệu phong phú và các trang tìm kiếm đẹp mắt
+ Bao gồm các diễn đàn thảo luận và theo dõi lỗi
- Trình duyệt mã nguồn không tuyệt vời - Diffs xuất hiện trong một cửa sổ bật lên và chỉ 'cảm thấy' phức tạp
- Fork and Pull Requests 'không dễ dàng' - UI có thể sử dụng một số công việc
Nhìn chung, CodePlex vẫn rất tuyệt nhưng tôi cảm thấy nó phù hợp hơn cho các nhà phát triển đơn lẻ hoặc các nhóm rất nhỏ vì trọng tâm của trang web là trên Wiki thay vì mã nguồn. Đó là một xuất bản hơn là một nền tảng cộng tác. Về mặt lý thuyết bạn không cần trang chủ dự án, dự án CodePlex của bạn có thể là cửa hàng một cửa của bạn.
GitHub
+ Git Hosting, hỗ trợ SSL / SSH
+ Biểu đồ mạng cho phép xem các nhánh và những gì được hợp nhất vào khi nào
+ Khả năng 'xem' các dự án - trang tài khoản của bạn giống như một bức tường Facebook với các đăng ký mới
+ Trình xem khác biệt siêu tốt với khả năng nhận xét trên các thay đổi một dòng - xem tại đây
+ Forking là một quá trình 2 lần nhấp và do đó, việc gửi yêu cầu kéo
+ GitHub hiện có công cụ GUI GitHub cho Windows
- Trang chính không 'đẹp' cho Người không phát triển. Nếu bạn có Readme trong dự án của bạn (hỗ trợ một số ngôn ngữ đánh dấu như Markdown hoặc HTML) thì nó được hiển thị, nhưng trang ban đầu là mã nguồn
- Wiki không tuyệt vời - đó là Markdown, nhưng đôi khi định dạng cảm thấy hơi phức tạp.
GitHub có một triết lý khác với CodePlex: đó là tất cả về mã nguồn và về sự hợp tác giữa các nhà phát triển. Trang dự án chính là mã nguồn cập nhật nhất. Có một Wiki riêng, nhưng đó là dành cho Tài liệu hơn là trình bày dự án của bạn. Biểu đồ mạng là tuyệt vời, mặc dù nó có thể gây nhầm lẫn một khi có hơn 20 dĩa (thường là khi một dự án cấu hình cao được thông báo cho tất cả mọi người và con chó của họ đang giả mạo nó, nhưng hầu hết các dĩa đều chết nhanh chóng). GitHub quy mô rất tốt cho bất kỳ kích thước.
Trên thực tế, GitHub giúp tôi dễ dàng rẽ nhánh một dự án, áp dụng bản sửa lỗi / bản vá, cam kết nó với ngã ba của tôi và gửi yêu cầu kéo cho tác giả. Cùng với biểu đồ Mạng, thật dễ dàng để thấy cam kết.
Nhưng rất có thể bạn cần một trang chủ riêng để trình bày dự án của mình cho người dùng cuối và để cung cấp các bản tải xuống, vì các cơ sở tải xuống GitHub không tuyệt vời như vậy.
Cai Xô nhỏ
+ Git / Mercurial
+ Cho phép kho riêng tư miễn phí, tối đa 5 người dùng
Tôi chưa sử dụng BitBucket đủ để đưa ra nhận xét thực sự. Một tính năng khác biệt là lưu trữ riêng là miễn phí, trong khi phí GitHub và Codeplex hoàn toàn không cung cấp tính năng này.
Mã Google
Google Code không phải là một lựa chọn nữa.
- Việc tạo dự án bị vô hiệu hóa kể từ tháng 3 năm 2015 và dịch vụ Google sẽ đóng cửa vĩnh viễn vào ngày 25 tháng 1 năm 2016 , vì các dịch vụ cạnh tranh đơn giản là tốt hơn.
- Thật xấu xí và quá phức tạp để duyệt mã nguồn (liên kết có phần bị chôn vùi)
Tôi đã không sử dụng nó vì vậy tôi không muốn nói rằng nó xấu - không phải vậy. Rất nhiều dự án sử dụng nó và nó rất ổn định và mạnh mẽ, chưa từng nghe nhiều điều tồi tệ từ bất kỳ nhà phát triển nào. Tuy nhiên, như một vấn đề cá nhân, ý kiến chủ quan , "thiết kế" khiến tôi thất vọng.
SVN so với Git / Mercurial
Để nhắc lại nhận xét của tôi ở trên về việc SourceForge bị lỗi thời: Điều đó tất nhiên là hơi khắc nghiệt. Tuy nhiên tôi tin rằng SVN gây bất lợi cho các dự án nguồn mở. Trước hết, yêu cầu siêu dữ liệu kỳ lạ để bỏ qua các tập tin. Trên Git hoặc mercurial, bạn có một tệp có tên .gitignore hoặc .hgignore trong thư mục gốc của cây nguồn bao gồm danh sách các tệp / thư mục / mẫu cần bỏ qua. Không có phép thuật svn: bỏ qua siêu dữ liệu trong thư mục .svn. Điều này một mình thổi SVN ra khỏi nước cho tôi. Nếu tôi bắt đầu một dự án Visual Studio mới, tôi cần phải áp dụng siêu dữ liệu ma thuật đó, trong khi với Git / mercurial, tôi chỉ cần sao chép qua một tệp và được thực hiện với nó.
Sau đó, khả năng rẽ nhánh, vá và gửi yêu cầu kéo là tuyệt vời, đặc biệt là đối với các bản vá nhỏ / một lần.
Cuối cùng nhưng không kém phần quan trọng, SourceForge vẫn còn CÁCH quá phức tạp đối với sở thích của tôi. Nó không phải là một máy chủ xấu, nhưng nó thực sự cho thấy tuổi IMHO. Điều đó đang được nói, nó vẫn mạnh mẽ và có nhiều gương trên toàn thế giới. Ngoài ra Bug Tracker phức tạp hơn nhiều so với những cái khác.
Ngoài ra, nếu dự án của bạn vì một số lý do đòi hỏi các quy tắc đóng góp nghiêm ngặt (có thể có ý nghĩa, ví dụ như bảo vệ pháp lý để đảm bảo mã cam kết thực sự được đóng góp hợp pháp) thì một hệ thống truyền thống như SVN được lưu trữ trên SourceForge có thể hoạt động.
Chỉnh sửa: Không biết rằng SF cuối cùng đã phân phối lưu trữ. Như đã nói ở trên, nó mạnh mẽ nhưng không còn là 'đứa trẻ ngầu' nữa, và tôi thấy nó quá phức tạp.
TL; DR
Đối với bất kỳ dự án vừa và nhỏ nào, tôi đều giới thiệu GitHub, cho các dự án nhỏ nơi bạn muốn có một trang web đẹp cũng như tôi đi với CodePlex và cho các dự án riêng tư tôi sẽ đi với BitBucket. Đối với các dự án lớn yêu cầu trình theo dõi lỗi rất tinh vi, hàng tấn các tính năng bổ sung và trang web 'thực', hãy xem xét Source Forge.