2010-01-07 35 views
7

Tôi hiện có một vài ứng dụng nguồn đóng mà tôi đã phát triển để tìm hiểu một công nghệ cụ thể hoặc thử nghiệm với một kỹ thuật lập trình. Kết quả là, tôi có một số phần mềm hữu ích cho người khác và tôi đã có sẵn một cách tự do, nhưng ở định dạng nguồn đóng.Tìm kiếm lời khuyên để tham gia một dự án mã nguồn mở

Một số người dùng phần mềm đã hỏi liệu tôi có sẵn lòng đi nguồn mở với phần mềm để họ có thể đóng góp cho nó hay không. Tôi là tất cả vì nó, nhưng chưa từng có kinh nghiệm làm việc trên các dự án nguồn mở, ít nhiều bắt đầu từ một dự án.

Lý tưởng nhất là tôi bị ướt chân bằng cách đóng góp cho dự án hiện tại trước, nhưng tôi không muốn quell nhiệt tình của những tình nguyện viên này bằng cách trì hoãn quá lâu. Vì vậy, tôi sẽ giả mạo trước một chút một cách mù quáng.

Điều tôi đang tìm kiếm là một khóa học gặp sự cố trong việc quản lý dự án nguồn mở cho người nào đó vừa mới bắt đầu trên bản nhạc này.

Vì vậy, hãy để tôi cụm từ này như là một câu hỏi:

lời khuyên nào bạn có cho một người nào đó khởi động dự án nguồn mở đầu tiên của họ?
Tôi cũng quan tâm đến các đề xuất cho sách/liên kết mà bạn cho rằng sẽ hữu ích

+0

Tôi không phải là chuyên gia nhưng tôi đã tìm thấy thông tin về Tập đoàn CodePlex của Google. http://groups.google.com/group/codeplex-foundation –

Trả lời

5

Bạn có hai lựa chọn quan trọng để làm cho ban đầu.

Trước hết bạn nên sử dụng giấy phép nào? Có dozens of Open Source licences, nhưng về cơ bản nó có thể tóm tắt cho dù bạn muốn copyleft (GPL/AGPL) hoặc không copyleft (BSD, MIT, Apache) và điều đó phụ thuộc vào mục tiêu của riêng bạn.

Thứ hai, bạn cần chọn hệ thống kiểm soát phiên bản và giả sử bạn sẽ không tự lưu trữ nó, nhà cung cấp. Điều này có hiệu quả là sự lựa chọn giữa Subversion hoặc một trong các hệ thống điều khiển phiên bản được phân phối (Git, Mercurial, Bazaar, v.v.). DVCS có thể giúp bạn quản lý những đóng góp từ những người khác dễ dàng hơn nếu bạn không muốn cho họ viết quyền truy cập vào kho lưu trữ chính của bạn.

Lựa chọn VCS sẽ ảnh hưởng đến lựa chọn máy chủ của bạn và ngược lại vì hầu hết các nhà cung cấp chỉ cung cấp một VCS. Một nhà cung cấp cũng sẽ lưu trữ một trang web và/hoặc wiki cho bạn sẽ là lý tưởng. Hầu hết sẽ cung cấp một số loại theo dõi vấn đề thô sơ và có thể danh sách gửi thư. Bạn cũng có thể nhận danh sách gửi thư từ Librelist.

Tôi khuyên bạn nên xem GitHub hoặc Launchpad. Tôi không đặc biệt quan tâm đến Google Code hoặc Sourceforge. Không có gì chống lại Subversion, tôi chỉ không thích UI của họ.

Nếu bạn muốn dự án của mình trở nên phổ biến và điều đó có thể không quan trọng đối với bạn, bạn sẽ phải quảng bá nó. Bạn có thể đăng ký nó với OhlohFreshmeat. Viết các bài viết blog về dự án của bạn và gửi chúng đến các trang web như RedditDZone sẽ tăng khả năng hiển thị. Cũng nên nhớ rằng Jeff đang cung cấp free advertising on StackOverflow for Open Source projects.

Dù sao, miễn là bạn có kho lưu trữ nguồn công cộng và trang web để mọi người tải xuống phần mềm, chỉ cần viết mã và phần còn lại sẽ theo.

1

Một số trang web lưu trữ mã thực hiện rất nhiều công việc quản lý cho bạn. Họ cung cấp giấy phép, họ xử lý phiên bản (trong một số trường hợp) và rõ ràng là họ xử lý kho lưu trữ.

nhìn vào các trang web này:

+3

Codeplex là một dự án của Microsoft và nếu bạn muốn có cộng đồng nguồn mở, bạn nên tránh điều đó. Codeproject luôn luôn đánh tôi như một chút spam và flash-quảng cáo, và sourceforge đã đi xuống dốc. Chọn một giấy phép là dễ dàng, đủ để làm một mình mà tôi nghĩ rằng một là tốt hơn phục vụ bằng cách sử dụng một trang web như GitHub hoặc Gitorious. Tôi đặc biệt thích tính năng bình luận của Gitorious trực tiếp trên các dòng mã trong phiên bản khác: http://blog.gitorious.org/2009/11/06/awesome-code-review/ – HostileFork

+0

@Hostile Fork: GitHub cũng có nhận xét đánh giá mã theo dòng. –

+1

@ Dan Dyer: Ah, tôi hiểu ... không được phơi bày một tính năng, mặc dù (bạn phải di chuột trong một không gian vô hình). Tốt để biết! Tuy nhiên, ưu tiên chính của tôi đối với gitorious là bởi vì nó là nguồn mở để bạn có thể chạy nó trên mạng nội bộ của riêng bạn ... – HostileFork

1

Các rất tối thiểu mà bạn cần phải làm là gửi các mã như một zip, với một giấy phép phù hợp tập tin. Bạn có thể làm điều đó tại Google Code - nó thực sự dễ sử dụng. Đối với giấy phép nào, bắt đầu bằng giấy phép không hạn chế như MIT (Mã Google có tất cả các văn bản giấy phép) - bạn luôn có thể cấp phép lại sau, miễn là bạn chưa chấp nhận bất kỳ cập nhật nào.

Đối với sách/liên kết, hãy xem Producing Open Source Software - nó không hoàn hảo, nhưng tôi không biết bất cứ điều gì tốt hơn.

+1

Tôi không đồng ý rằng bạn nên chọn giấy phép không hạn chế và sau đó hạn chế nó sau.Điều đó có thể xảy ra như là cơ hội, và nhìn vào những gì đã xảy ra với ExtJS khi họ được chuyển từ LGPL sang GPL. Chọn một cái gì đó như Affero GPL để bắt đầu và sau đó nới lỏng nó (với LGPL, MIT, bất cứ điều gì) là trên bảng, bất kể bạn có chấp nhận các bản cập nhật từ người khác hay không. – HostileFork

+0

Tôi không đồng ý. AGPL là một giấy phép khủng khiếp. Và hãy nhớ rằng, những người đã sử dụng mã theo giấy phép MIT (hoặc bất kỳ điều gì) có thể tiếp tục làm như vậy - các giấy phép không thể bị thu hồi đơn phương. –

+0

... và tôi đặc biệt không đồng ý rằng các dự án mã nguồn mở nên gửi mã của họ dưới dạng tệp ZIP thay vì sử dụng DVCS hiện đại (hoặc tồi tệ nhất, lật đổ!) – HostileFork

3

Nếu bạn đã quen thuộc với VCS (Hệ thống kiểm soát phiên bản), bạn sẽ ổn. Tôi khuyên bạn nên www.github.org để lưu trữ các kho lưu trữ, và có thể tại một số điểm một trang web để nói về ứng dụng. Github rất hay vì nó giúp mọi người dễ dàng đóng góp mã. Nó rất đơn giản, mặc dù git có một chút đường cong học tập.

Và sau đó, một cách để giao tiếp! Một danh sách gửi thư .. Có thể googlewave .. Có thể là một diễn đàn.

+1

Một thay thế cho github là bitbucket. Nó sử dụng Mercurial mà là một chút thay thế thân thiện hơn cho git. Cả hai đều là các trang web/công cụ tuyệt vời. Chỉ là một FYI. – dlamotte

2

Tôi không có bất kỳ lời khuyên cá nhân nào, nhưng tôi thấy video sau rất thú vị. Đó là một hồi ức về trải nghiệm của một số nhân viên của Google và những bài học họ đã học được trong khi quản lý các dự án nguồn mở của họ.

Làm thế nào dự án mã nguồn mở Survive độc ​​Số người (Và Bạn có thể quá) https://www.youtube.com/watch?v=Q52kFL8zVoM

2

Đừng bỏ lỡ sách điện tử tuyệt vời từ Karl Fogel, Producing Open Source Software có sẵn miễn phí trực tuyến.

+1

Có một cuốn sách để viết phần mềm thương mại có sẵn không? –

Các vấn đề liên quan