माइक्रोसॉफ्ट द्वारा गिटहब (GitHub) के अधिग्रहण के बाद, कई डेवलपर्स अपने कोड को होस्ट करने के लिए विकल्प तलाश रहे हैं। माइक्रोसॉफ्ट (और कई अन्य विशाल कंपनियों) की एक सिद्ध टेक्नोलॉजी/साइट्स/प्रोडक्ट्स को खरीदकर अपनी पहुंच बढ़ाने की आदत है। स्काइप (Skype) एक उदाहरण है, और अब गिटहब भी है।
हालांकि, इसके गिटहब अधिग्रहण की खबर समुदाय के लिए ठंडे पानी के छींटे जैसी थी। जबकि मैं व्यक्तिगत रूप से कभी गिटहब को पसंद नहीं करता था और इसे एक उपयोगिता आपदा मानता हूं, यह बड़ी मात्रा में ओपन सोर्स प्रोजेक्ट्स को होस्ट करने के लिए गो-टू डेस्टिनेशन था। एकाधिकार शायद ही कभी स्वस्थ होता है, और गिटहब का (आसन्न) अंत इसे एक बार फिर साबित करता है।
सौभाग्य से, आपके लिए चुनने के लिए बहुत सारे अन्य वर्जन कंट्रोल सिस्टम हैं। उनमें से सभी में गिटहब की सभी कार्यक्षमता नहीं है, लेकिन आपको उनके लिए क्या चाहिए इस पर निर्भर करते हुए, विकल्प काफी अच्छे हैं। यदि आप गिटहब से स्विच करने वाले उन डेवलपर्स में से एक हैं, तो हम यहां कुछ विकल्प सूचीबद्ध करेंगे - वे सभी सेल्फ-होस्टेड हैं क्योंकि आप अपने कीमती कोड पर किसी और पर भरोसा नहीं करना चाहते, है ना?
1. गिटलैब (GitLab)
गिटहब के गलत हाथों में जाने से पहले भी, गिटलैब एक काफी लोकप्रिय विकल्प था। अब मुझे उम्मीद है कि यह बहुत अधिक ध्यान आकर्षित करेगा। गिटलैब ओपन सोर्स है, और इसका कोर एडिशन मुफ़्त है। सशुल्क वर्जन भी हैं; वे $4 प्रति यूज़र प्रति माह से शुरू होते हैं। यह योजना, परीक्षण, पैकेजिंग, और रिलीज़ कार्यक्षमता के साथ एक पूर्ण DevOps लाइफसाइकल टूल है। यह विकी और इश्यू-ट्रैकिंग सुविधाओं के साथ भी आता है। आप गिटलैब को इन-हाउस या क्लाउड में तैनात कर सकते हैं।
2. गॉग्स (Gogs)
यदि दर्द रहित इंस्टॉलेशन आपकी सर्वोच्च चिंता है, तो आपके लिए गॉग्स से बेहतर कुछ नहीं है। यह विंडोज, लिनक्स, मैक, और रास्पबेरी पाई के लिए रेडी-टू-यूज़ बाइनरीज़ के साथ आता है, लेकिन आप इसे किसी भी अन्य प्लेटफॉर्म पर इंस्टॉल करने के लिए गो (Go) का उपयोग भी कर सकते हैं जहां गो चलता है। गॉग्स हल्का और तेज़ है, और भले ही इसमें बड़े महंगे सूट की सभी विशेषताएं नहीं हैं, यह विकी, बग ट्रैकिंग, वर्जन कंट्रोल, आदि के साथ आता है।
3. ट्रैक (Trac)
यदि आप एक मिनिमलिस्टिक गिटहब विकल्प की तलाश में हैं तो ट्रैक (Trac) एक बढ़िया विकल्प है। अनिवार्य रूप से, ट्रैक सॉफ्टवेयर डेवलपमेंट प्रोजेक्ट्स के लिए एक एन्हांस्ड विकी और इश्यू-ट्रैकिंग सिस्टम है। वर्जन कंट्रोल के लिए यह गिट और सबवर्जन (Subversion) का उपयोग करता है, लेकिन यह एक दर्जन अन्य के साथ भी काम कर सकता है (जैसे मर्क्यूरियल, पेरफोर्स, आदि)। अपनी अच्छी रिपोर्टिंग कार्यक्षमता के साथ, ट्रैक एक अच्छा विकल्प है यदि आपको प्रोजेक्ट्स की प्रगति को नियमित रूप से और बारीकी से मॉनिटर करना है।
4. गिटबकेट (GitBucket)
गिटबकेट (GitBucket) स्काला (Scala) में लिखा गया एक गिटहब क्लोन है। इसमें सूची के अन्य ऐप्स जितनी विशेषताएं नहीं हैं। वास्तव में, इसका मुख्य लाभ गिटहब के समान होना है। दूसरे शब्दों में, यदि आप गिटहब को याद करने लगते हैं, तो आप हमेशा गिटबकेट का सहारा ले सकते हैं। इसकी विशेषताओं में रिपॉजिटरी व्यूअर, इश्यू ट्रैकिंग, पुल रिक्वेस्ट, और एक विकी शामिल हैं। आप प्लगइन्स की मदद से इसकी कार्यक्षमता बढ़ा सकते हैं, लेकिन उनसे बहुत अधिक उम्मीद न करें।
5. मर्क्यूरियल (Mercurial)
इस सूची के अन्य सॉफ़्टवेयर के विपरीत, मर्क्यूरियल (Mercurial) गिटहब से पूरी तरह से अलग है क्योंकि यह गिट सर्वर का उपयोग नहीं करता है, हालांकि आप अपने मर्क्यूरियल डेटा को गिट ऑब्जेक्ट्स में परिवर्तित कर सकते हैं। मर्क्यूरियल गिटहब का एकमात्र नॉन-गिट सर्वर विकल्प नहीं है - कई अन्य वर्जन कंट्रोल सिस्टम हैं, जैसे पेरफोर्स, सबवर्जन, आदि, जिनका उपयोग आप अपने सोर्स कोड को मैनेज करने के लिए कर सकते हैं।
मैंने मर्क्यूरियल को शामिल किया क्योंकि यह अच्छा है, क्रॉस-प्लेटफॉर्म है, और एक टन एक्सटेंशन के साथ आता है। इसके अलावा, मेरे कई दोस्त, जिन्होंने गिटहब और मर्क्यूरियल दोनों का उपयोग किया है, कहते हैं कि मर्क्यूरियल उपयोग करने में बहुत आसान है। मुझे इसका डिस्ट्रिब्यूटेड आर्किटेक्चर भी पसंद है। सुविधाओं के संदर्भ में, कोर इंस्टॉल दिमाग उड़ाने वाला नहीं है, लेकिन लगभग किसी भी चीज़ की कल्पना के लिए एक्सटेंशन हैं।
गिटहब के साथ या बिना, जीवन चलता रहता है। गिटहब के लिए बहुत शोक न मनाएं - यह अच्छी बात हो सकती है कि यह अब माइक्रोसॉफ्ट के स्वामित्व में है। यह इसके विकल्पों के विकास को प्रोत्साहित करेगा, और मुझे विश्वास है कि उनमें से कुछ आज हमारे द्वारा ज्ञात गिटहब से बेहतर बन जाएंगे।