आंद्रेसेन होरोविट्ज़ ने इस हफ्ते गिटहब में 100 मिलियन डॉलर के निवेश की घोषणा की। आप पूरे वेब पर कमेंट्री और अटकलें पढ़ सकते हैं कि गिटहब पैसे के साथ क्या करेगा, क्या यह आंद्रेसेन होरोविट्ज के लिए एक अच्छा निवेश था और क्या इतने बड़े निवेश को लेना GitHub के लिए एक अच्छी बात है।
लेकिन बिल्ली GitHub क्या है और डेवलपर्स इसके बारे में इतने उत्साहित क्यों हैं? आपने सुना होगा कि GitHub एक कोड शेयरिंग और प्रकाशन सेवा है, या यह प्रोग्रामर्स के लिए एक सोशल नेटवर्किंग साइट है। दोनों कथन सत्य हैं, लेकिन न तो यह स्पष्ट करते हैं कि GitHub विशेष क्यों है।
GitHub के दिल में Git है, लिनक्स निर्माता लिनस टोरवाल्ड्स द्वारा शुरू किया गया एक ओपन सोर्स प्रोजेक्ट है। GitHub के एक ट्रेनर मैथ्यू मैकुलॉ बताते हैं कि Git, अन्य संस्करण नियंत्रण प्रणालियों की तरह, परियोजनाओं के संशोधन और प्रबंधन करता है। हालाँकि यह ज्यादातर कोड के लिए उपयोग किया जाता है, मैककुल्फ का कहना है कि Git का उपयोग किसी अन्य प्रकार की फ़ाइल, जैसे कि वर्ड डॉक्यूमेंट या 85% प्रोजेक्ट को प्रबंधित करने के लिए किया जा सकता है। इसे दस्तावेज़ के प्रत्येक मसौदे के लिए फाइलिंग सिस्टम के रूप में सोचें।
Git के कुछ पूर्ववर्तियों, जैसे CVS और सबवर्सन, के पास परियोजना से जुड़ी सभी फाइलों का एक केंद्रीय “भंडार” है। मैकुलॉ बताते हैं कि जब कोई डेवलपर परिवर्तन करता है, तो वे परिवर्तन सीधे केंद्रीय भंडार में किए जाते हैं। Git जैसी वितरित संस्करण नियंत्रण प्रणालियों के साथ, यदि आप एक ऐसी परियोजना में बदलाव करना चाहते हैं जिसे आप अपने स्वयं के सिस्टम के लिए पूरे भंडार की प्रतिलिपि बनाएँ। आप अपनी स्थानीय प्रतिलिपि में अपने परिवर्तन करते हैं, फिर आप केंद्रीय सर्वर में परिवर्तन की “जांच” करते हैं। मैकुलॉ का कहना है कि यह और अधिक बारीक बदलावों को साझा करने के लिए प्रोत्साहित करता है क्योंकि जब भी आप बदलाव करते हैं तो आपको हर बार सर्वर से जुड़ना पड़ता है।
Contents
एक्सेस कंट्रोल
GitHub एक Git रिपॉजिटरी होस्टिंग सेवा है, लेकिन यह अपनी कई विशेषताओं को जोड़ती है। जबकि Git एक कमांड लाइन टूल है, GitHub एक वेब-आधारित ग्राफिकल इंटरफ़ेस प्रदान करता है। यह एक्सेस कंट्रोल और कई सहयोग सुविधाएँ भी प्रदान करता है, जैसे कि हर परियोजना के लिए विकी और बुनियादी कार्य प्रबंधन उपकरण।
GitHub की प्रमुख कार्यक्षमता “फोर्किंग” है – एक उपयोगकर्ता के खाते से दूसरे में रिपॉजिटरी की प्रतिलिपि बनाना। यह आपको एक प्रोजेक्ट लेने में सक्षम बनाता है, जिसे आपने अपने खाते के तहत लिखा और संशोधित नहीं किया है। यदि आप अपने द्वारा साझा किए जाने वाले परिवर्तन करते हैं, तो आप मूल स्वामी को “पुल अनुरोध” नामक एक अधिसूचना भेज सकते हैं। तब उपयोगकर्ता एक बटन पर क्लिक करके, अपने रेपो में पाए गए परिवर्तनों को मूल रेपो के साथ मर्ज कर सकता है।
ये तीन विशेषताएं – कांटा, पुल अनुरोध और मर्ज – क्या गीताभ को इतना शक्तिशाली बनाते हैं। कोड स्कूल का ग्रीग पोलाक (जो सिर्फ ट्रिप्टिट नामक एक वर्ग लॉन्च किया गया) बताता है कि गिटहब से पहले, यदि आप एक ओपन सोर्स प्रोजेक्ट में योगदान करना चाहते थे, तो आपको प्रोजेक्ट के सोर्स कोड को मैन्युअल रूप से डाउनलोड करना था, अपने परिवर्तनों को स्थानीय रूप से करना, बदलाव की सूची बनाना। एक “पैच” और फिर परियोजना के अनुचर को पैच ई-मेल करें। अनुचर को तब इस पैच का मूल्यांकन करना होगा, संभवतः एक कुल अजनबी द्वारा भेजा गया था, और यह तय करना था कि परिवर्तनों को मर्ज करना है या नहीं।
यह वह जगह है जहां नेटवर्क प्रभाव GitHub में एक भूमिका निभाने के लिए शुरू होता है, पोलाक बताते हैं। जब आप पुल अनुरोध सबमिट करते हैं, तो प्रोजेक्ट का अनुरक्षक आपकी प्रोफ़ाइल देख सकता है, जिसमें GitHub पर आपके सभी योगदान शामिल हैं। यदि आपका पैच स्वीकार किया जाता है, तो आपको मूल साइट पर क्रेडिट मिलता है, और यह आपके प्रोफ़ाइल में दिखाई देता है। यह एक फिर से शुरू है जो अनुरक्षक को आपकी प्रतिष्ठा निर्धारित करने में मदद करता है। GitHub पर जितने अधिक लोग और परियोजनाएं हैं, बेहतर विचार चित्र एक परियोजना अनुचर को संभावित योगदानकर्ताओं का मिल सकता है। पैच भी सार्वजनिक रूप से चर्चा की जा सकती है।
आइजैक श्लिटर
यहां तक कि उन रखवाले के लिए भी, जो GitHub इंटरफ़ेस का उपयोग नहीं करते हैं, GitHub योगदान प्रबंधन को आसान बना सकता है। खुले स्रोत के विकास मंच Node.js. के अनुचर आइजैक श्लिटर कहते हैं, “मैं वैसे भी पैच डाउनलोड करने, या कमांड लाइन से मर्ज बटन से विलय करने के लिए समाप्त होता हूं।” “लेकिन GitHub एक केंद्रीकृत स्थान प्रदान करता है जहां लोग पैच पर चर्चा कर सकते हैं।”
प्रवेश के अवरोध को कम करने से खुले स्रोत के विकास में बाधा आती है, और युवा परियोजनाओं को बढ़ने में मदद मिलती है। “Node.js यह GitHub के बिना आज नहीं होगा,” Schlueter कहते हैं।
इसके सार्वजनिक ओपन सोर्स रिपोजिटरी का सामना करने के अलावा, GitHub उद्यमों के लिए अपने सॉफ़्टवेयर के निजी रिपॉजिटरी और ऑन-प्रिमाइसेस इंस्टेंसेस भी बेचता है। ये समाधान स्पष्ट रूप से GitHub के नेटवर्क प्रभाव का पूर्ण लाभ नहीं उठा सकते हैं, लेकिन वे सहयोग सुविधाओं का लाभ उठा सकते हैं। यह कैसे GitHub पैसा बनाता है, लेकिन यह इस बाजार में अकेला नहीं है।
Atlassian ने 2010 में BitBucket नामक एक प्रतियोगी का अधिग्रहण किया। और इस साल के शुरू में Atlassian ने Stash को लॉन्च किया, जो एक ऐसा उत्पाद है जो आपको BitBetet / GitHub- शैली की विशेषताओं के साथ निजी, ऑन-प्रिमाइसेस Git रिपॉजिटरी की मेजबानी करने में सक्षम बनाता है। कंपनी बग ट्रैकर जीरा और विकी कॉन्फ्लुएंस जैसे डेवलपर सहयोग उपकरण भी बेचती है। 2010 में Accel Partners से फंडिंग में $ 60 मिलियन लेने वाले Atlassian की प्रतियोगिता से यह समझाने में मदद मिल सकती है कि GitHub ने फंडिंग के इस दौर को क्यों लिया, और कंपनी के लिए कुछ संभावित भविष्य के निर्देशों पर संकेत दिया। उदाहरण के लिए, श्लिटर का कहना है कि GitHub का मुद्दा ट्रैकिंग फीचर अंततः कुछ परियोजनाओं के लिए JIRA के साथ प्रतिस्पर्धा कर सकता है।
पैसा निजी और ऑन-प्रिमाइसेस होस्टिंग में हो सकता है, लेकिन प्यार सार्वजनिक रिपॉजिटरी में है। शायद सबसे महत्वपूर्ण, GitHub कोड उदाहरण के लिए अलेक्जेंड्रिया की लाइब्रेरी बन गया है। चूँकि Git परिवर्तन की बारीक रिकॉर्डिंग को प्रोत्साहित करता है, प्रोग्रामर, वे पूर्ण रूप से शुरुआती या विशेषज्ञ हो सकते हैं, दुनिया के कुछ महानतम डेवलपर्स के चरणों का पता लगा सकते हैं और पता लगा सकते हैं कि उन्होंने कांटेदार समस्याओं को कैसे हल किया। लेकिन अगर GitHub कभी भी अलेक्जेंड्रिया की लाइब्रेरी के रूप में एक ही भाग्य को पूरा करने के लिए थे, तो यह दुनिया भर में इतने सारे डेवलपर्स लैपटॉप पर वितरित उन सभी स्थानीय कांटे से पुनर्निर्माण किया जा सकता है। भले ही यह निवेश कैसे काम करता हो, यह GitHub टीम को पीछे छोड़ने के लिए एक विरासत का नरक है।