Danh sách kiểm tra để bắt đầu một dự án nguồn mở [đã đóng]


50

Để bắt đầu một dự án nguồn mở không chỉ là đưa ra mã nguồn trên một số kho lưu trữ công cộng và sau đó hài lòng với điều đó. Bạn nên có tài liệu kỹ thuật (bên cạnh người dùng), thông tin về cách đóng góp, v.v.

Nếu tạo một danh sách kiểm tra những việc quan trọng cần làm, bạn sẽ bao gồm những gì trên đó?


1
+1 Câu hỏi hay. Tôi có thể giới thiệu: gawande.com/the-checklist-manifesto
JeffO

2
Tôi giới thiệu cuốn sách của Karl Fogel (một trong những tác giả lật đổ gốc) Sản xuất phần mềm nguồn mở - cách chạy dự án phần mềm miễn phí thành công Đó là một cuốn sách O'Reilly.
Michael

Sản xuất phần mềm nguồn mở của Karl Fogel sẽ giúp bạn điều đó. Cuốn sách có sẵn hoàn toàn trực tuyến.
Coyote21

Câu trả lời:


34

Điều quan trọng nhất là:

  • sử dụng dự án cho mình và đưa nó vào trạng thái hữu ích nơi bạn thích sử dụng nó. hãy chắc chắn rằng dự án hoạt động và hữu ích.

Những điều tôi ưu tiên hàng đầu là:

  • có một đơn giản "nó là gì?" trang web có liên kết đến một số diễn đàn thảo luận (cho dù email hoặc trò chuyện) và kho lưu trữ mã nguồn
  • hãy chắc chắn rằng mã biên dịch và thường hoạt động, không thực hiện các bản vá đang thực hiện hoặc nửa lừa trên nhánh chính phá vỡ mọi thứ, bởi vì sau đó công việc của người khác sẽ bị gián đoạn
  • đặt tệp giấy phép vào kho lưu trữ mã với giấy phép nổi tiếng và đánh dấu chủ sở hữu bản quyền (có thể là bạn hoặc công ty của bạn). không bỏ sót giấy phép, tạo nên giấy phép hoặc sử dụng giấy phép tối nghĩa.
  • có hướng dẫn về cách đóng góp, nói trong tệp HACKING hoặc đưa vào README của bạn. Điều này nên bao gồm nơi gửi các bản vá, cách định dạng các bản vá, quy tắc thụt mã, bất kỳ quy ước quan trọng nào khác của dự án
  • có hướng dẫn về cách báo cáo lỗi
  • hữu ích trong danh sách gửi thư hoặc bất cứ diễn đàn nào của bạn

Sau những ưu tiên đó tôi sẽ nói:

  • tài liệu (điều này giúp bạn tiết kiệm công việc trong danh sách gửi thư ... hãy tạo Câu hỏi thường gặp từ danh sách bài đăng của bạn là một khởi đầu đơn giản)
  • cố gắng thực hiện mọi thứ theo cách "bình thường" (không phát minh ra hệ thống xây dựng của riêng bạn hoặc sử dụng một số lạ, không sử dụng thụt lề 1 không gian, nói chung là không gây khó chịu vì nó thêm đường cong học tập)
  • quảng bá dự án của bạn. tiếp thị tiếp thị tiếp thị. Bạn cần một số blog và trang web tin tức và những thứ tương tự để che chở bạn, và sau đó khi mọi người tỏ ra thích thú, bạn cần nói chuyện với họ và chắc chắn rằng họ sẽ làm cho nó hoạt động và nhìn vào các bản vá của họ. Có thể đề cập đến dự án của bạn trong các diễn đàn cho các dự án liên quan.
  • luôn luôn xem xét và chấp nhận các bản vá càng nhanh càng tốt cho con người. Ngay lập tức là hoàn hảo. Hơn một vài ngày và bạn đang mất rất nhiều người.
  • luôn trả lời email về dự án nhanh nhất có thể.
  • tạo ra một bầu không khí chào đón / tích cực / vui vẻ. đừng là một thằng ngốc nói xin vui lòng và cảm ơn bạn và đưa ra lời khen ngợi. xua đuổi bất kỳ kẻ ngốc nào xuất hiện và bắt đầu đầu độc cộng đồng. cố gắng gặp gỡ trực tiếp mọi người khi bạn có thể và hình thành trái phiếu.

Còn vấn đề pháp lý tiềm ẩn thì sao? Làm thế nào để đảm bảo rằng việc triển khai không vô tình chứa một thuật toán được cấp bằng sáng chế?
Den

Thật không thể xác định điều đó, thật không may. Đưa ra một đoạn mã không có cách nào để biết thuật ngữ tìm kiếm nào bạn cần để tìm (các) bằng sáng chế có liên quan, đó là một lý do khiến bằng sáng chế phần mềm là một vấn đề như vậy. Đôi khi bạn biết có một bằng sáng chế áp dụng, nhưng tôi chưa bao giờ nghe nói về một cách để tự tin rằng có không phải là một bằng sáng chế áp dụng. Khó để chứng minh một tiêu cực. Bằng sáng chế là một chủ đề đủ lớn mà có lẽ họ nên là câu hỏi của riêng họ ...
Havoc P

17

Đối với người mới bắt đầu, Hạ thấp rào cản để vào , điều này có nghĩa là:

  • làm cho nó dễ dàng để cài đặt,
  • làm cho nó dễ dàng để sửa đổi,
  • làm cho nó dễ dàng để tìm thấy dự án của bạn,
  • chỉ cần làm mọi thứ bạn muốn làm dễ dàng.

Làm sao?

  • Đưa ra câu trả lời cho mọi câu hỏi bạn có thể nghĩ trong tài liệu của mình,
  • Tạo một hệ thống xây dựng dễ sử dụng,
  • Làm sạch mã của bạn, không ai thích làm việc với mã spaghetti,
  • Làm một cái gì đó mà mọi người có nhu cầu.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.