GitHub ने 17 जून को बिना write access वाले users के एक साथ खुले PRs की संख्या सीमित करने वाला feature जारी किया। यह feature उन बातों के बाद आया कि AI द्वारा भारी मात्रा में बनाए जा रहे low-quality PRs से maintainers परेशान हो रहे हैं, और इसकी मांग 2016 से भी की जा रही थी।
इसलिए मैंने मापा कि वास्तविक repository queues में यह कितना filter करता है। Bots को हटाकर, केवल बिना write access वाले authors द्वारा खोले गए PRs गिने, और limit 3 रखने पर कितने PRs defer होते, यह calculate किया।
- huggingface/transformers — खुले PR 55 / authors 49 / limit 3 से defer होने वाले PR 1
- typescript-eslint — 28 / 24 / 1
- DIYgod/RSSHub — 26 / 23 / 1
- django/django — 79 / 59 / 7
- caddyserver/caddy — 58 / 43 / 7
- coollabsio/coolify — 86 / 68 / 11
2–13%।
कारण queue का आकार था। transformers में 55 PRs, 49 authors से आते हैं। coolify में 86 PRs के लिए 68 authors हैं। यह spam pattern नहीं है जहाँ एक व्यक्ति तीस PR खोलता है; बल्कि तीस लोग एक-एक PR खोलते हैं। Limit पहले वाले pattern को target करके बनाई गई है, जबकि वास्तविक queue दूसरी तरह की है।
इसका मतलब यह नहीं कि feature बेकार है। ऐसी repositories सच में हैं जहाँ एक account queue को spam से भर देता है, और पहले उनके पास बचाव का कोई तरीका नहीं था। लेकिन reviewers तक पहुँचने वाली मात्रा लगभग वैसी ही रहती है, और क्या पहले पढ़ना है यह तय करने का काम बचा रहता है।
साथ में एक और चीज मापी। Low-quality PRs को automatic बंद करने वाली action install करने वाली 167 repositories देखीं, तो जिन 30 repositories में queue active थी, उन सभी में pull_request_creation_policy all था। यह default value है, इसलिए मतलब यह भी है कि “किसी ने बदला नहीं”, लेकिन यह भी कि restrictions लगाने की सबसे ज्यादा motivation वाले group ने दरवाजा बंद नहीं किया, सिर्फ filter लगाया।
और उन 167 में से 126 repositories (75%) में खुले PRs 4 से कम थे। यानी “N जगहों ने slop filter लगाया” को “N जगहों पर flood आ रहा है” की तरह नहीं पढ़ना चाहिए। मैंने भी पहले ऐसा ही पढ़ा था, फिर मापकर सुधारा।
Measurement method और limitations linked document में हैं। Limit 3 मेरी assumption है (हर repository इसे अलग तरह से set करती है), और यह open queue snapshot है, इसलिए limit से रुककर कभी खुले ही नहीं ऐसे PRs दिखते नहीं — यह इस feature के मुख्य points में से एक भी है। Public PR list हो तो कोई भी इसे reproduce कर सकता है।
(Disclosure: यह measurement मेरे बनाए PR triage checker से निकला है। यानी मेरा हित जुड़ा है, इसे ध्यान में रखकर पढ़ें, और numbers repository-wise public PR lists से जैसे के तैसे reproduce किए जा सकते हैं।)
अभी कोई टिप्पणी नहीं है.