Nghi thức đổi tên của một ngã ba nguồn mở là gì?


29

Tôi muốn rẽ nhánh trên Github khung thử nghiệm java TestNG (giấy phép Apache 2) để tôi có thể thêm / thay đổi một số thứ nhỏ cho phù hợp với nhu cầu của mình.

Không chắc là tất cả các thay đổi của tôi sẽ được chấp thuận trong dự án chính hoặc người khác sẽ sử dụng ngã ba của tôi. Đây không phải là một cuộc cạnh tranh cho dự án chính.

Bây giờ, về mặt đặt tên, tôi muốn thay đổi tên tạo tác (testng-mycompany) hoặc phiên bản (6.8.mycompany) để không có sự nhầm lẫn với phiên bản chính thức trong kho lưu trữ maven của tôi. Điều này sẽ được coi là nghi thức nghèo? Nếu có, cách tiếp cận tốt nhất để phân biệt ngã ba của bạn là gì?


9
Xem thêm Dự án Forking về quy trình Githubgiao thức thẻ và nghi thức thẻ (hiện đang có câu hỏi của bạn và câu hỏi được liên kết).

Câu trả lời:


5

Ngã ba và làm điều xấu nhất / tốt nhất của bạn.

Phần mềm nguồn mở luôn hướng tới việc cho phép các cá nhân thích nghi, thay đổi và thách thức quy ước. Phần khó của việc từ bỏ một dự án là phát triển một cộng đồng mới xung quanh bạn tin vào những gì bạn đang làm.

Ví dụ: tôi có thể tải xuống nguồn cho Apache, thực hiện một vài sửa đổi và gọi nó là vấn đề lớn tiếp theo .. nhưng nếu không có ai khác lên máy bay thì tôi bị mắc kẹt khi bắt kịp hàng trăm tính năng mới và sửa lỗi được cung cấp bởi cộng đồng Apache cốt lõi.

Tham khảo: Trò chơi vương quyền.

Thay vì fork TestNG, việc viết các mô-đun / add-on cho nó lên trên Repo hiện tại có thể đơn giản hơn, theo cách đó bạn sẽ chỉ cần duy trì mã của riêng mình.

Ngoài ra, nếu bạn cảm thấy cần phải thay đổi TestNG thì có lẽ đơn giản đó là công cụ sai cho công việc.

[Khước từ, tôi chưa bao giờ nghe nói về TestNG cho đến bây giờ]


-1. Điều này không theo bất kỳ cách nào trả lời câu hỏi.
Jon Bentley

2

Các dự án nguồn mở được dự định là nâng cao. Điều tuyệt vời về các dự án nguồn mở là chúng khuyến khích sự hợp tác bên ngoài. Khi bạn quyết định rẽ nhánh một dự án, bạn chỉ cần nói rằng bạn đã chủ động tạo ra "hương vị" hoặc "diễn giải" của riêng bạn cho dự án. Nhiều đội sẽ kết thúc việc từ bỏ các dự án của riêng mình để mở rộng cơ sở của dự án cho nhiều mục đích.

Ví dụ: Webkit và Blink

Theo như cách đặt tên, bạn muốn càng rõ ràng càng tốt. Thực hành danh pháp cơ bản trong phát triển là khá mơ hồ.

Chuyển đến: "Quy ước đặt tên phiên bản" nào bạn sử dụng?

Nếu bạn muốn rẽ nhánh, bạn sẽ muốn nêu "Tên" của mình và sau đó truyền đạt chính xác phiên bản bạn đang sử dụng.

Tôi không thấy lý do để rẽ nhánh trừ khi bạn có kế hoạch đưa dự án theo hướng khác về cơ bản so với dự định. Tôi đã thấy rằng, trong hầu hết các trường hợp, các tính năng / sửa đổi bổ sung mà tôi sẽ đề xuất cung cấp một cơ hội học tập tuyệt vời từ cả hai hướng. Nếu có bất cứ điều gì tôi với Dave về ý tưởng tạo ra các mô-đun riêng biệt để thúc đẩy tính mô-đun trong khi vẫn giữ được tính toàn vẹn của dự án cốt lõi.

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.