Tôi đã tự hỏi tại sao hầu hết các dự án Ubuntu sử dụng Launchpad.net thay vì GitHub cho hệ thống theo dõi lỗi và kiểm soát phiên bản. Có một lý do cụ thể là tại sao Ubuntu sử dụng launchpad (và do đó bzr
) không?
Tôi đã tự hỏi tại sao hầu hết các dự án Ubuntu sử dụng Launchpad.net thay vì GitHub cho hệ thống theo dõi lỗi và kiểm soát phiên bản. Có một lý do cụ thể là tại sao Ubuntu sử dụng launchpad (và do đó bzr
) không?
Câu trả lời:
Danh sách này chứa các lý do tại sao nó không sử dụng trước đó và tại sao nó không nên di chuyển ngay bây giờ
Lauchpad đã sử dụng chợ được phát triển từ lâu. Github không tồn tại vào thời điểm đó (như Robin nói) Launchpad được ra mắt vào năm 2004 và Github vào năm 2008
Github không phải là nguồn mở. Gitorious sẽ là một lựa chọn tốt hơn trong trường hợp này. Tôi biết Launchpad ban đầu không phải là FOSS, nhưng nó được phát hành sau
Ban đầu Github không có nhiều tính năng mà Launchpad có, như các đội. Github không có hệ thống xây dựng tích hợp với nó, như PPA
Nhiều dự án trong Launchpad sử dụng rất nhiều chức năng "Yêu cầu hợp nhất" có hỗ trợ rất cơ bản trong Github. Nó được gọi là "Pull request" nhưng Launchpad có các tính năng tốt hơn và chi tiết hơn Github
Bug Tracker của Github bên cạnh vô dụng. Dự án thú cưng của tôi cho một trình theo dõi lỗi có thể hữu ích hơn
Launchpad được sở hữu bởi Canonical và họ trả tiền cho các nhà phát triển. Họ có toàn quyền kiểm soát sản phẩm của họ.
Github sử dụng Git để theo dõi các bản phát hành bằng cách sử dụng các nhánh và thẻ. Trong Launchpad, sử dụng bzr cũng có tính năng này, nhưng Launchpad thực thi rõ ràng điều này bên ngoài hệ thống kiểm soát nguồn. Điều này sẽ dễ dàng hơn một chút đối với những người phải xử lý các phiên bản nhưng không muốn đào sâu vào mã nguồn.
Chỉ cần một lưu ý nhỏ: Github so với Launchpad và git vs. bzr là một chủ đề tôn giáo. Tôi muốn tránh xa cuộc thảo luận bất tận này. Tôi sử dụng phù hợp với trường hợp sử dụng.
Tôi đoán câu trả lời đơn giản là Launchpad thực hiện rất nhiều thứ mà các hệ thống khác không có (và điều này thậm chí còn đúng hơn khi Ubuntu bắt đầu sử dụng Launchpad).
Vài ví dụ:
Mặc dù lưu trữ mã là một tính năng quan trọng của Launchpad, nhưng nó không phải là tính năng duy nhất và nó không phải là tính năng đầu tiên mà Ubuntu sử dụng.
Đối với các dự án ngược dòng liên quan đến Ubuntu, có những lợi ích khi sử dụng cùng hệ thống với chính Ubuntu. Chỉ cần một ví dụ là theo dõi lỗi trong cả bối cảnh ngược dòng và đóng gói.
Tôi thực sự nghĩ rằng nó giống như "tại sao họ sử dụng bzr, và do đó launchpad"? Canonical đã đầu tư tiền và con người để phát triển bzr và tiền thân của nó, rất lâu trước khi GitHub tồn tại, và có lẽ họ không muốn vứt bỏ tất cả chuyên môn và đầu tư tích lũy đó ngay bây giờ. Thật vậy, baz đã được bắt đầu trước khi git tồn tại.
Ngoài ra, với Launchpad được kiểm soát bởi họ, họ có thể dễ dàng thêm các tính năng có ý nghĩa với họ - trong khi GitHub thậm chí không phải là nguồn mở và chắc chắn không nằm trong tầm kiểm soát của họ!
Zed Shaw đã đề cập đến chủ đề này rất tốt trong một bài đăng trên blog gần đây, Launchpad so với Github / SysAdmin so với Coder .
Tôi thấy bài đăng trên blog này bởi lvh đặt câu hỏi đơn giản, "Tại sao mọi người ghét launchpad nhiều như vậy?" Đó là điều mà tôi cũng băn khoăn cho đến khi tôi bắt đầu mày mò với việc giả mạo NetBSD pkgsrc và đi nghiên cứu các nhà quản lý gói khác nhau. Khi tôi đi qua tất cả các trình quản lý gói khác nhau, cuối cùng tôi nhận ra rằng sự khác biệt giữa Launchpad và Github thực sự là sự khác biệt giữa Quản trị viên hệ thống và Nhà phát triển phần mềm.
Tôi hoàn toàn không đồng ý với các đánh giá của anh ấy về các tính năng của Launchpad ngoài quản lý mã. Là một nhà phát triển, tôi thích cách xem repo của Github hơn, nhưng trình theo dõi lỗi của Launchpad vượt xa, vượt xa so với Github.