ग्रे बेकर ने डिपेंडेंसी अपडेट के दोहराए जाने वाले काम को Dependabot में बदला, जिसे GitHub ने ख़रीद लिया
ग्रे बेकर और हैरी मार ने डिपेंडेंसी अपडेट की दोहराई जाने वाली दिक़्क़त को Dependabot में बदला, 2017 में 15 से 50 डॉलर प्रति माह के प्लान बेचे, करीब 14,000 डॉलर की मासिक आवर्ती बिक्री तक पहुँचे, और 2019 में GitHub ने इस उत्पाद को ख़रीद लिया।
बार-बार दोहराया जाने वाला रखरखाव काम, जो GitHub द्वारा ख़रीदी गई सेवा बना
ग्रे बेकर (Grey Baker) ने हैरी मार (Harry Marr) के साथ मिलकर सॉफ़्टवेयर डिपेंडेंसी के अपडेट को अपने आप करने वाला उत्पाद Dependabot बनाया। बाहरी निवेश के बिना खड़ा किया गया यह कारोबार करीब 14,000 डॉलर की मासिक आवर्ती बिक्री तक पहुँचा, और 2019 में GitHub ने इसे ख़रीद लिया। यह ऐसा उदाहरण है जिसमें डेवलपर्स के रोज़मर्रा के रखरखाव काम को दो सह-संस्थापकों ने भुगतान वाली सेवा में बदला।
वह दोहराया जाने वाला काम, जिससे संस्थापक ख़ुद गुज़रा
बेकर पहले मैकिन्से (McKinsey) में रणनीति सलाहकार के तौर पर काम करते थे, और उसके बाद उन्होंने ख़ुद से प्रोग्रामिंग सीखी। इसके बाद भुगतान कंपनी गोकार्डलेस (GoCardless) में उन्होंने उत्पाद और इंजीनियरिंग का काम सँभाला, जहाँ उन्होंने वह दौर देखा जिसमें कर्मचारियों की संख्या छह से बढ़कर सौ से ऊपर हो गई। कंपनी छोड़कर साइकिल से दुनिया की यात्रा करने के बाद उन्होंने स्वास्थ्य क्षेत्र में कारोबार शुरू करने की कोशिश की, और इसी दौरान अपने जाने-पहचाने डेवलपमेंट क्षेत्र में साइड प्रोजेक्ट के रूप में Dependabot शुरू किया।
इस उत्पाद की शुरुआत उसी डिपेंडेंसी अपडेट के काम से हुई जिसे बेकर गोकार्डलेस में बार-बार करते थे। इसका पुराना रूप Bump गोकार्डलेस ने 2015 में बनाया था, जो लाइब्रेरी के नए संस्करण की जाँच करता, डिपेंडेंसी फ़ाइल बदलता और कोड में बदलाव सुझाने वाला पुल रिक्वेस्ट (PR) बनाता था। गोकार्डलेस की सार्वजनिक रिपॉज़िटरी में दर्ज है कि 2017 से Dependabot ने ज़्यादा तरह की सुविधाएँ देते हुए यही ज़रूरत पूरी की।
Dependabot ने इस काम को डेवलपमेंट टीमों के GitHub इस्तेमाल के ढंग से जोड़ दिया। जब कोई लाइब्रेरी अपडेट करने लायक मिलती, तो वह पुल रिक्वेस्ट बनाता और समीक्षा आसान करने के लिए बदलाव का इतिहास, रिलीज़ नोट और जुड़ी सुरक्षा जानकारी साथ रखता। डेवलपर अपनी आदत वाली कोड समीक्षा प्रक्रिया में ही बदलाव देखकर लागू कर सकता था। अपडेट का पता लगने से लेकर सुधार तैयार होने तक का दोहराया जाने वाला काम घटाना इस उत्पाद का मुख्य मूल्य था।
बेकर और मार अपनी बचत से गुज़ारा करते हुए गोकार्डलेस से Bump के बौद्धिक संपदा के अधिकार लेकर आए। उन्होंने क़रीब चार हफ़्तों में पहला परीक्षण संस्करण बनाया, और उसके बाद करीब एक महीने तक उसे और निखारा। पुराने रिपॉज़िटरी से आने वाले बदलाव के अनुरोध, मर्ज के टकराव, और ठुकराए गए अपडेट के दोबारा बन जाने की दिक़्क़तें भी हल करनी पड़ीं।
पहले उपयोगकर्ता, जिन्हें संस्थापक ख़ुद ढूँढने गए
GitHub मार्केटप्लेस में शुरुआती एंट्री के लिए कम से कम 250 उपयोगकर्ता चाहिए थे, जबकि Dependabot के पास सिर्फ़ 22 थे। दो दिन में तैयार किया गया प्रचार लेख Hacker News और Reddit पर डालने पर भी सिर्फ़ एक साइनअप आया।
बेकर GitHub पर उन पुल रिक्वेस्ट को खोजते थे जिनके शीर्षक में "update" हो, और उनके लेखक को अपना उत्पाद सुझाते थे। दिन में एक घंटा लगाकर वे दो-तीन साइनअप पा लेते थे, और संपर्क किए गए लोगों में से लगभग आधे साइनअप करते थे। उनका तरीक़ा यह था कि सामने वाले ने असल में जो हाथ का काम किया था, उसी को उत्पाद पेश करने का आधार बनाया जाए।
मार्केटप्लेस में शामिल होने के बाद साइनअप की रफ़्तार पहले से करीब दस गुना हो गई। GitHub पुराने बिल में Dependabot का शुल्क जोड़कर वसूलता था, और तब कमीशन बिक्री का 25% था। इस एंट्री ने ग्राहकों के आने और भुगतान की प्रक्रिया, दोनों को एक साथ बदल दिया।
2017 में किसी कंपनी के पाँच निजी रिपॉज़िटरी के लिए 15 डॉलर प्रति माह और असीमित रिपॉज़िटरी के लिए 50 डॉलर प्रति माह का शुल्क था। निजी इस्तेमाल और ओपन सोर्स के लिए यह मुफ़्त था, और अपने निजी प्रोजेक्ट से ख़ुश डेवलपर्स इसे अपनी कंपनी को सुझाने लगे।
दिसंबर 2017 के एक इंटरव्यू में बताया गया मासिक राजस्व 740 डॉलर था। पिछले महीने के संचालन ख़र्च 50 डॉलर थे, जिनमें ज़्यादातर होस्टिंग और ईमेल की लागत थी। साथ ही यह भी देखना चाहिए कि उस समय दोनों संस्थापक अपनी बचत से गुज़ारा कर रहे थे।
डेवलपर टूल बेचते समय सामने आने वाला भरोसे का सवाल
उत्पाद बढ़ने के बाद भी बेकर की सीधी बिक्री-कोशिश जारी रही। अक्टूबर 2018 में उन्होंने ओपन सोर्स फ़ोरम सॉफ़्टवेयर Discourse के समुदाय से संपर्क करके Dependabot अपनाने का सुझाव दिया। वे उदाहरण के तौर पर ख़ुद बनाया गया अपडेट पुल रिक्वेस्ट दिखाते थे और दो तरीक़े समझाते थे: सुरक्षा कमज़ोरी मिलने पर ही सुधार मिले, या आम वर्ज़न अपडेट भी मिलें। उन्होंने यह भी साफ़-साफ़ बताया कि किसी जाने-माने प्रोजेक्ट का इस्तेमाल करना Dependabot की पहचान बढ़ाने में मदद करेगा।
लेकिन सामने वाले की चिंता रिपॉज़िटरी तक पहुँच के अधिकारों को लेकर थी। Discourse की टीम ने पूछा कि क्या मूल रिपॉज़िटरी पर लिखने का अधिकार दिए बिना, कॉपी की गई रिपॉज़िटरी से पुल रिक्वेस्ट भेजना मुमकिन है। बेकर ने जवाब दिया कि उस समय के GitHub ऐप के अधिकार ढाँचे के कारण इसे आसानी से सपोर्ट नहीं किया जा सकता, और अपनाने की बातचीत टाल दी गई। यह बातचीत दिखाती है कि डेवलपर्स के लिए बनाए गए ऑटोमेशन उत्पाद में सुविधा के साथ-साथ माँगे गए अधिकारों का दायरा भी ख़रीद या अपनाने के फ़ैसले पर असर डालता है।
इस पूरी प्रक्रिया से गुज़रने के बाद Dependabot करीब 14,000 डॉलर की मासिक आवर्ती बिक्री तक पहुँचा। 1 जुलाई 2019 को प्रकाशित पॉडकास्ट Marketing Mashup के इंटरव्यू परिचय में बताया गया है कि बेकर ने कारोबार को इस पैमाने तक बढ़ाया और फिर GitHub को बेच दिया। यहाँ मासिक आवर्ती बिक्री का मतलब नियमित रूप से दोहराई जाने वाली आमदनी है, और यह संस्थापक की निजी आय या शुद्ध मुनाफ़े को बताने वाला आँकड़ा नहीं है।
GitHub की सुरक्षा सुविधाओं की ओर विस्तार
GitHub ने मई 2019 में Dependabot को ख़रीदने की घोषणा की। तब की आधिकारिक घोषणा में बताया गया कि डिपेंडेंसी की सुरक्षा कमज़ोरियों को हल करने का काम आसान बनाने के लिए Dependabot को ख़रीदकर जोड़ा जा रहा है। उस घोषणा में ख़रीद की रकम सार्वजनिक नहीं की गई थी।
GitHub के साथ काम के स्तर पर जुड़ाव साफ़ था। रिपॉज़िटरी में कोई कमज़ोर लाइब्रेरी मिलने पर Dependabot उसे ठीक करने वाला अपडेट पुल रिक्वेस्ट तैयार कर सकता था। सुरक्षा सुधार में वह संस्करण को कमज़ोरी दूर करने के लिए ज़रूरी सबसे कम स्तर तक बढ़ाता था, जिससे डेवलपर को जाँचने वाले बदलावों का दायरा घट जाता था। इस तरह Dependabot ने GitHub की कमज़ोरी पकड़ने वाली सुविधा में असल सुधार देने का हिस्सा जोड़ा।
ख़रीद के बाद Dependabot GitHub मार्केटप्लेस पर मुफ़्त उपलब्ध कराया गया। सह-संस्थापक हैरी मार ने 25 जुलाई 2019 को GitHub के आधिकारिक ब्लॉग पर बताया कि Dependabot के बनाए और मर्ज हुए पुल रिक्वेस्ट की कुल संख्या 10 लाख तक पहुँच गई थी। अप्रैल 2017 में पहला पुल रिक्वेस्ट मर्ज होने से लेकर करीब दो साल में यह आँकड़ा दिखाता है कि अपने आप तैयार किए गए अपडेट किस पैमाने पर असल प्रोजेक्टों में लागू हुए।
जून 2020 में आम वर्ज़न अपडेट की सुविधा भी GitHub में डिफ़ॉल्ट रूप से जोड़कर जारी की गई। उपयोगकर्ता रिपॉज़िटरी की कॉन्फ़िग फ़ाइल में पैकेज मैनेजमेंट का तरीक़ा और चलाने की अवधि बताकर अपडेट पुल रिक्वेस्ट पा सकता था। GitHub ने इस घोषणा में साफ़ किया कि Dependabot की सारी सुविधाएँ सभी रिपॉज़िटरी के लिए मुफ़्त हैं। अलग से शुल्क लेने वाली यह सेवा इस तरह GitHub की आम डेवलपमेंट सुविधा बन गई।
जब दोहराया जाने वाला काम प्लेटफ़ॉर्म की बुनियादी सुविधा बना
Dependabot की कारोबारी ताक़त इस बात में थी कि हर अपडेट पर दोहराया जाने वाला काम डेवलपर्स की मौजूदा समीक्षा प्रक्रिया के भीतर ही निपटा दिया जाए। अलग-अलग डेवलपमेंट टीमों के भुगतान वाले इस ऑटोमेशन ने GitHub की सुरक्षा सुविधाओं के साथ जुड़कर पूरे प्लेटफ़ॉर्म तक अपना दायरा बढ़ा लिया। यह ऐसा उदाहरण है जिसमें दो सह-संस्थापकों का बनाया छोटा रखरखाव उपकरण एक बड़े डेवलपमेंट माहौल का हिस्सा बन गया।