Tại sao một số dự án lớn, như Git và Debian, chỉ sử dụng danh sách gửi thư mà không phải là trình theo dõi vấn đề?


65

Trình theo dõi lỗi cho bất kỳ dự án có kích thước phù hợp nào có vẻ như không có chút trí tuệ đối với tôi - nó giúp việc tổ chức hàng trăm hoặc hàng nghìn vấn đề thực sự dễ dàng, không có vấn đề va chạm hoặc bị lẫn lộn.

Vì vậy, khi tôi thấy một số dự án thực sự lớn, như Git, sử dụng danh sách gửi thư làm phương pháp chính để phối hợp bảo trì và phát triển, tôi đã bị thổi bay một chút. Ví dụ:

  • Git - Trang cộng đồng :

    ... Báo cáo lỗi nên được gửi đến danh sách gửi thư này.

  • Hệ thống theo dõi lỗi Debian , theo Wikipedia:

    ... Tính năng độc đáo của nó là nó không có bất kỳ hình thức giao diện web nào để chỉnh sửa các báo cáo lỗi - tất cả các sửa đổi được thực hiện thông qua email.

Nhiều trình theo dõi lỗi hiện đại có tích hợp rất tốt với email (bạn có thể nhận được nhận xét hoặc thông báo về các lỗi bạn đang xem hoặc được chỉ định cho bạn), cũng như các hệ thống kiểm soát phiên bản (cam kết có thể được đánh dấu là giải quyết vấn đề, v.v. .). Phần lớn việc này sẽ phải được thực hiện thủ công với danh sách gửi thư và bạn nhận được vô số email về các lỗi mà bạn không quan tâm.

Vì vậy, những lợi thế chính của danh sách gửi thư so với trình theo dõi lỗi dựa trên web là gì? Tại sao một số dự án lớn chỉ sử dụng một danh sách gửi thư?


2
Vâng, không, tôi đồng ý với bạn, Git sử dụng danh sách gửi thư :) Điều tôi đang nói là bạn đang đưa nó vào "một số dự án thực sự lớn" và tôi chỉ nghĩ rằng nếu bạn làm điều đó bạn nên cung cấp thêm một chút ví dụ cho những dự án thực sự lớn. Nếu không, câu hỏi được đưa ra là "Git sử dụng danh sách gửi thư, tại sao vậy?" trong trường hợp đó, câu trả lời của Jorg W Mittag phù hợp hơn ...
Shivan Dragon 26/03/13

1
Hrm, tôi đã có ấn tượng rằng có nhiều ... Debian sử dụng một hệ thống dựa trên thư , mặc dù phức tạp hơn một danh sách gửi thư. Ok, nhưng điểm chính là 'những lợi thế của việc sử dụng danh sách gửi thư so với trình theo dõi lỗi là gì?' Trừ khi câu trả lời là "không có gì cả, các nhà phát triển git chỉ là những người lười biếng".
ness101

@ naught101: tại sao bạn bị thổi bay khi nhìn thấy điều đó? Debian không ổn định có thể được cài đặt và sử dụng mà không thấy bất kỳ khai thác root từ xa nào cần vá và không cần khởi động lại trong sáu tháng một cách dễ dàng. Đó là phiên bản không ổn định của Debian. Tôi đã khóa các máy chủ Debian đã đạt được 4 chữ số ngày hoạt động (không phải là một khai thác gốc từ xa duy nhất yêu cầu khởi động lại ảnh hưởng đến thiết lập của tôi trong khoảng thời gian đó). Những kẻ này có thể không sử dụng mốt công nghệ mới nhất, nhưng rõ ràng họ đang làm đúng. Tôi sẽ từ bỏ trình theo dõi lỗi web để ổn định Debian bất cứ lúc nào.
Cedric Martin

2
@CedricMartin: Tôi biết, tôi đồng ý. Theo dõi lỗi danh sách gửi thư rõ ràng hoạt động đầy đủ cho một số nhóm, nhưng đối với tôi, nó vẫn có vẻ ít dễ dàng hơn so với trình theo dõi lỗi. Mặc dù tôi đã nghĩ rằng, đối với các nhà phát triển dự án cốt lõi, sự khác biệt có vẻ rất nhỏ: họ tuân theo hầu hết mọi thứ đang diễn ra. Nhưng đối với những người mới đến, một danh sách gửi thư gần như không thể tìm ra, vì vậy không có cái nhìn tổng quan đơn giản nào về thể dục dự án. Trình theo dõi lỗi cho phép người dùng / nhà phát triển mới nhanh chóng tìm ra cách một dự án đang di chuyển và có được ý tưởng về loại cải tiến nào được coi là quan trọng bởi nhóm nòng cốt.
nè 101

Greg Kroah-Hartman đảm nhận việc này vì nó liên quan đến Hạt nhân Linux như một phần của cuộc thảo luận này . Cụ thể: " KHÔNG có cách nào mà mô hình github / gerrit / gitorious hoàn toàn hoạt động đối với kernel. Thang đo mà chúng tôi làm việc ở một mức độ hoàn toàn khác so với các công cụ đó có thể xử lý. ... Thực sự không có gì khác biết cách xử lý 10000 bản vá mỗi 2 tháng, trong một bản phát hành ổn định, với đánh giá ngang hàng, với hơn 3000 nhà phát triển, ngoài những gì chúng tôi làm ngày hôm nay. "
ness101

Câu trả lời:


45

Tùy chọn bạn quan sát có vẻ như là kết quả tự nhiên của khuyến nghị được nêu rõ trong Tiêu chuẩn mã hóa GNU . Nó gợi ý để báo cáo lỗi qua email, như bạn có thể thấy trong trích dẫn bên dưới (Tôi đã đánh dấu đậm phần trực tiếp giải quyết các quan sát của bạn):

4.7.2 --help

--helpTùy chọn tiêu chuẩn sẽ xuất tài liệu ngắn gọn về cách gọi chương trình, trên đầu ra tiêu chuẩn, sau đó thoát thành công. Các tùy chọn và đối số khác nên được bỏ qua một khi điều này được nhìn thấy và chương trình không nên thực hiện chức năng bình thường của nó.

Gần cuối ‘--help’đầu ra của tùy chọn, vui lòng đặt các dòng cung cấp địa chỉ email cho các báo cáo lỗi , trang chủ của gói (thông thường ‘http://www.gnu.org/software/pkg’và trang chung để được trợ giúp sử dụng các chương trình GNU. Định dạng phải như sau:

    Report bugs to: mailing-address
    pkg home page: <http://www.gnu.org/software/pkg/>
    General help using GNU software: <http://www.gnu.org/gethelp/>

Bạn có thể đề cập đến các danh sách gửi thư và trang web thích hợp khác.

Ngược lại, ưu tiên trên phản ánh sự chấp nhận phổ biến của email như một hình thức giao tiếp điện tử. Bất kỳ người dùng đọc --helptin nhắn như đề xuất ở trên được cho là dễ dàng hiểu phải làm gì nếu họ gặp lỗi - việc gửi thư rất dễ dàng.

Trình theo dõi vấn đề có thể (và tôi nghĩ ) tốt hơn cho nhà phát triển làm việc trong dự án, nhưng đối với đối tượng rộng hơn sẽ khó trình bày và giải thích cách sử dụng nó, đặc biệt là tính đến sự đa dạng và khác biệt giữa các hệ thống theo dõi vấn đề khác nhau .

Một dự án có thể sử dụng Bugzilla, một dự án khác sẽ gắn bó với JIRA, thứ ba với ... GNATS , v.v., v.v. Không có cách nào để trình bày tất cả "sở thú" này theo cách chuẩn và thống nhất như

Report bugs to: mailing-address


Lưu ý ở trên không có nghĩa là các dự án không nên sử dụng theo dõi vấn đề trong nội bộ . Như đã giải thích trong một câu trả lời xuất sắc cho câu hỏi liên quan ,

Trình theo dõi lỗi của bạn là để thuận tiện cho bạn chứ không phải cho khách hàng của bạn. Nếu bạn không thể bận tâm đến vấn đề điện thoại hoặc email của họ và tự nhập nó, bạn nghĩ họ cảm thấy thế nào?

Bạn cần có thể nhập các vấn đề và gán chúng theo cách thủ công cho khách hàng ...


3
Câu trả lời chính xác! Email được biết đến nhiều hơn so với trình theo dõi vấn đề và dễ hiểu hơn (điều này không có nghĩa là tất cả mọi người "được" email: P)
Andres F.

21
Ngoài ra, lời khuyên rằng GNU là xưa, cách lớn hơn web và trackers vấn đề dựa trên web.
Ross Patterson

@RossPatterson Tôi đã nghĩ vậy. Nhưng có vẻ như nó không cũ hơn web, vì nó chứa một loạt các URL ...
naught 101

6
@gnat: Một phần chính của câu trả lời được liên kết trở nên tuyệt vời là phần "nếu nó dễ dàng với bạn, bạn có thể nhập loại điều đó ngay tại đó" . Đó là chìa khóa cho nhiều dự án nguồn mở, vì không có tài trợ cho hỗ trợ qua điện thoại. Danh sách gửi thư là một cách tắt đối với tôi với tư cách là người dùng báo cáo lỗi, vì tôi không muốn phải đăng ký phản hồi. Với trình theo dõi lỗi, tôi có thể thấy rằng sự cố tôi gặp phải trong hệ thống và có thể quay lại và tìm kiếm nó sau, và xem liệu nó có được cập nhật không. Điều này là khó khăn với một danh sách gửi thư, trừ khi có một trình theo dõi danh sách dựa trên web thực sự tốt, thường không phải là trường hợp.
ness101 30/03/13

1
@ naught101 Nó có thể không cũ hơn Web nhưng nó chắc chắn cũ hơn các trình theo dõi trên web
sakisk

30

Cụ thể với Git, có một lý do lịch sử đơn giản: Git được bắt đầu bởi tin tặc Linux cho tin tặc Linux và nó sử dụng mô hình và công cụ phát triển giống như chính Linux. Tuy nhiên, Linux cũ hơn WWW, vì vậy, khi Linux được khởi động, đơn giản là không có trình theo dõi vấn đề dựa trên web, vì không có web!

Do đó, cộng đồng Linux đã phát triển các công cụ và quy trình làm việc cực kỳ hiệu quả để xử lý các báo cáo lỗi và đánh giá mã qua email, và không có lý do gì để họ vứt bỏ tất cả công việc đó và bắt đầu lại từ đầu khi họ bắt đầu dự án Git.


3
Tôi nghĩ rằng WWW đi trước Linux. Nhẹ nhàng. Cả hai đều được thực hiện rất nhiều cùng một lúc và bởi các nhóm người khác nhau; nó đã không thực sự cho đến giữa những năm 90 hoặc đã cất cánh.
Donal Fellows

6
Ok, nhưng kernel linux hiện có trình theo dõi lỗi: bugzilla.kernel.org . Rõ ràng đó không phải là một rào cản lớn như vậy.
nè 101

7
-1 Git trẻ hơn nghiêm trọng so với web. Vintage 2005. Có rất nhiều bộ theo dõi vấn đề tại thời điểm đó, bao gồm cả Bugzilla. Linus không thích theo dõi vấn đề, và lời nói của anh ấy là luật trong môi trường đó.
Ross Patterson

6
@RossPatterson - Ông nói Linux cũ hơn web chứ không phải Git. Tôi không nghĩ bình luận của bạn biện minh cho một cuộc bỏ phiếu vì về cơ bản bạn đã lặp lại những gì anh ấy nói.
beatgammit

2
@tjameson Về nhận thức, bạn đã đúng. Trở lại trung tính.
Ross Patterson

17

Đối với Git:

Có một số cuộc thảo luận trong danh sách gửi thư nơi mọi người đề xuất sử dụng một số loại trình theo dõi lỗi. Những sáng kiến ​​này dường như đã bị xì hơi, vì vậy lý do Git không sử dụng trình theo dõi lỗi có lẽ chỉ đơn giản là hầu hết những người đóng góp không thấy nó hữu ích.

Trong một bài đăng trên danh sách gửi thư , Junio ​​C Hamano (người bảo trì của Git) đã tóm tắt lý do tại sao anh ta cảm thấy trình theo dõi lỗi không hữu ích lắm. Tôi không muốn bao gồm toàn bộ bài viết (nó khá dài), nhưng nó sôi nổi lên:

  • Nếu bạn chỉ tìm kiếm thông tin về các vấn đề đã được giải quyết, việc tìm kiếm tài liệu lưu trữ danh sách cũng hoạt động cũng như tìm kiếm trình theo dõi lỗi.
  • Nếu bạn báo cáo một lỗi chính hãng và mọi người muốn chăm sóc nó, danh sách này cũng hoạt động tốt.
  • Nếu không ai quan tâm đến việc xử lý một vấn đề, nó sẽ rơi vào các vết nứt, ngay cả trong một trình theo dõi lỗi.
  • Trình theo dõi lỗi sẽ là một hệ thống nữa cần được bảo trì, kiểm tra các lỗi mới thường xuyên, đã sửa các lỗi đã được sửa, v.v., tóm lại, làm thêm để có ít lợi ích.

5
Câu trả lời tốt, nhưng tôi sẽ cho rằng điểm thứ 3 của bạn là một nhược điểm lớn của email: Nếu một lỗi khó sửa và các nhà phát triển hiện tại lười biếng, nó sẽ bị chôn vùi nhiều hơn đáng kể so với mục trong trình theo dõi vấn đề. Điều này có thể có nghĩa là một số lỗi không bao giờ được sửa, đơn giản là vì mọi người không biết chúng ở đó
TheLQ 28/03/13

1
@TheLQ: Đúng. Tuy nhiên, rõ ràng đó là một rủi ro mà một số dự án sẵn sàng chấp nhận. Và công bằng mà nói, git là một phần mềm khá chắc chắn, thậm chí không có trình theo dõi lỗi.
sleske

1
@TheLQ: Không phải một trang web đơn giản đề cập đến tất cả các lỗi đã biết (Và các chủ đề liên quan của họ) sẽ giải quyết điều đó? Một cái gì đó tương tự như thế này ngoại trừ liên kết trỏ đến chủ đề lưu trữ.
Xin chào thế giới

1
@HelloWorld: Vâng, đó sẽ là một trình theo dõi vấn đề (đơn giản). Và cũng giống như một trình theo dõi vấn đề, ai đó sẽ phải quản lý nó ...
sleske

Có cách nào tốt để nhận một bản sao ngoại tuyến của email đã được gửi đi trong khi tôi không phải là người đăng ký không?
PSkocik

6

Debian không sử dụng trình theo dõi lỗi, giao diện mặc định của nó là email. Và nó là thuận tiện. Lucas Nussbaum, Trưởng dự án Debian hiện tại, đã đăng một vài ngày trước :

debbugs là phần mềm đằng sau Hệ thống theo dõi lỗi của Debian (BTS). Nó cũng được sử dụng bởi dự án GNU. Mặc dù thường được coi là kiểu cũ, nó có một số tính năng độc đáo, chẳng hạn như theo dõi trạng thái lỗi trong từng phiên bản và nhánh của gói) hoặc khả năng thực hiện tất cả các tương tác qua email, giúp thao tác rất dễ dàng ngoại tuyến hoặc trong môi trường kết nối kém.

Phần cuối cùng là một tính năng giết người ở đây - chỉ cần xếp hàng các báo cáo đó trong hàng đợi thư địa phương cho đến khi bạn xuống máy bay!


4
  • Giữ trẻ 9 tuổi.
  • Không cần phải tạo một tài khoản riêng cho mỗi diễn đàn.
  • [nhỏ] Trải nghiệm người dùng nhất quán trên các danh sách gửi thư khác nhau và đường cong học tập bằng không khi đăng ký vào danh sách mới.
  • Hoạt động ngoại tuyến. bạn có thể kết nối Internet và tải xuống một loạt thư, sau đó đi bộ đường dài, viết thư trả lời trong khi tận hưởng thiên nhiên của mẹ và gửi chúng sau.
  • Cho phép mã hóa thư và / hoặc ký thông qua GPG.
  • Phân cấp - Nếu diễn đàn gặp sự cố, bạn vẫn có một bản sao, nó cũng chống lại sự giả mạo, một người điều hành / hacker xấu xa không thể dễ dàng giả mạo những gì bạn đã nói. Không ai có thể hoàn tác lịch sử.
  • Cho phép các bộ lọc, thư mục và tất cả các tính năng tổ chức nâng cao của ứng dụng Email.
  • "Thông báo đẩy" - bạn có thể để ứng dụng Email của mình mở và nhận thông báo về các phản hồi mới.
  • Một nơi để thống trị tất cả - không cần phải nhảy giữa các trang web khác nhau.
  • Miễn nhiễm với tất cả các lỗ hổng bảo mật liên quan đến web (html / javascript / tiêm, v.v.)
  • Không phình to - Không có huy hiệu, chữ ký di chuyển ưa thích, quảng cáo, đèn hiệu web, bloascript javascript. Tất cả đều đơn giản và đến mức - thảo luận.
  • Ít gánh nặng máy chủ hơn thiết lập LAMP.

Một nhược điểm của danh sách gửi thư xuất hiện trong tâm trí là các diễn đàn được chia thành các danh mục và danh mục con trong khi danh sách gửi thư thì không. Điều này có thể được mô phỏng bằng cách chia danh sách gửi thư thành nhiều danh sách gửi thư và sau đó người dùng có thể sử dụng các bộ lọc phù hợp để đặt từng thư với thư mục tương ứng (Mỗi thư mục là một danh mục). Trong các diễn đàn web, điều này là tự động.


Tại sao mọi người cứ khăng khăng tạo các phiên bản dựa trên web để theo dõi các vấn đề (BTW câu hỏi này không phải là về tất cả mọi thứ ) được thảo luận trong một câu hỏi khác: Yêu cầu người dùng viết báo cáo lỗi hữu ích và hữu ích "Báo cáo lỗi trực tuyến có thể chỉnh sửa là cách hiệu quả nhất để dạy người dùng cải thiện ... "
gnat

Cảm ơn bạn. Nhưng điều này có biện minh cho một downvote? Chủ đề chính của câu trả lời này là những ưu điểm của ML và nó trả lời câu hỏi ban đầu khá tốt. Tôi đã loại bỏ các "diễn đàn web" rant.
Xin chào thế giới

2
Nhược điểm được đề cập trong câu trả lời này về cơ bản ngăn cản tôi gắn bó với hầu hết các danh sách thư dev. Họ gửi qua tất cả mọi thứ , vì vậy sau khi báo cáo lỗi, tôi thường hủy đăng ký chỉ hai tuần sau đó. Bugtrackers giải quyết tốt vấn đề này bằng cách cho tôi đăng ký các báo cáo lỗi cụ thể.
Roman Starkov

6
Sửa chữa: giữ cho 25 tuổi ra. Chỉ gần đây tôi mới biết làm thế nào những danh sách gửi thư đó hoạt động để đóng góp cho một số dự án thực sự . Và tôi ghét nó!!
Ciro Santilli 心 心

2
"Không cần tạo một tài khoản riêng cho mỗi diễn đàn." - thường để ngăn chặn thư rác, bạn cần đăng ký danh sách. Nhưng điều đó đăng ký vào tất cả các email. Vì vậy, bạn cần đăng ký VÀ từ chối 'spam' VÀ thêm yêu cầu để giữ bạn trong CC hoặc TO. So với một bugzilla thì còn nhiều việc phải làm.
Maciej Piechotka
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.