Ngày 6/8 GitHub thêm một thiết lập nhỏ và không hào nhoáng: chủ sở hữu tổ chức giới hạn được số pull request đang mở mà một người dùng không có quyền ghi được phép có cùng lúc.
Nghe như việc dọn dẹp nội bộ. Nhưng nó xuất hiện đúng vào năm mà người bảo trì mã nguồn mở ngập trong các đóng góp do máy sinh ra, và trong bối cảnh đó thì đây là tính năng "đúng chỗ ngứa" nhất GitHub ra mắt trong một thời gian dài.
Nó làm gì
Giới hạn áp cho người dùng không có quyền ghi — nói cách khác là cộng tác viên bên ngoài, không phải đội của bạn. Ai chạm hạn mức phải đóng hoặc merge một pull request cũ mới mở được cái mới.
Bạn đặt một lần tại Organization Settings > Moderation Tools > Interaction Limits, và nó áp nhất quán cho cả tổ chức. Cách GitHub diễn đạt là áp một chính sách ở quy mô lớn và giảm gánh nặng quản trị cho người bảo trì nhiều repository — đó cũng chính là mô tả trung thực về vấn đề nó giải quyết.
Vì sao điều này quan trọng lúc này
Trước đây mở một pull request luôn tốn của người đóng góp một thứ gì đó: đọc codebase, hiểu quy ước, viết thay đổi. Chính chi phí ấy giữ cho số lượng tỉ lệ thuận với công sức, và khả năng rà soát của người bảo trì được cân theo mức đó.
Agent xóa bỏ chi phí ở một phía và giữ nguyên chi phí ở phía kia. Một người giờ có thể tạo ra trong một buổi chiều nhiều pull request trông có lý hơn số mà người bảo trì rà nổi trong một tuần — và "trông có lý" mới là từ khóa: một PR do máy viết mà sai thì mất nhiều thời gian để từ chối hơn một PR dở rõ ràng, vì bạn phải đọc kỹ mới biết.
Hạn mức không phán xét chất lượng, và đúng vì thế nên nó hiệu quả. Nó chỉ đặt trần cho lượng chú ý mà một người đóng góp có thể chiếm cùng lúc, không ai phải phán đoán về động cơ của ai.
Chỗ nó không giúp được
Đây là công cụ kiểm duyệt, không phải bộ lọc chất lượng, và nên nói rõ giới hạn của nó.
- Không đụng tới người có quyền ghi, nên không giải quyết gì với lượng PR phát sinh từ chính đội bạn
- Giới hạn số PR đang mở cùng lúc, không phải tổng số bài gửi — người đóng góp cứ đóng rồi mở tiếp vẫn tiếp tục được
- Không nói gì về chất lượng; một PR xuất sắc và một PR rác được đếm như nhau
Chọn con số nào
GitHub không quy định sẵn, và mức phù hợp phụ thuộc vào cách dự án của bạn thực sự nhận đóng góp. Điểm khởi đầu hợp lý là nhìn vào cộng tác viên thật: một người thực sự gắn bó thường có bao nhiêu PR đang mở? Đặt hạn mức cao hơn con số đó một khoảng thoải mái, bạn chặn được làn sóng mà không làm phiền những người bạn muốn giữ.
Rồi quan sát. Nếu hạn mức không bao giờ chạm tới, nó chẳng tốn gì. Nếu liên tục chạm, bạn vừa biết được một điều đáng biết về lượng đóng góp đổ vào dự án.