सॉफ़्टवेयर लाइसेंसिंग और ओपन सोर्स के संदर्भ में, "फोर्किंग" एक मौजूदा सॉफ़्टवेयर प्रोजेक्ट का एक नया और विशिष्ट संस्करण बनाने की प्रक्रिया को संदर्भित करता है, जो इसके मूल स्रोत कोड को आधार के रूप में उपयोग करता है। यह अभ्यास डेवलपर्स को मूल परियोजना को प्रभावित किए बिना, उनकी विशिष्ट आवश्यकताओं या लक्ष्यों के साथ संरेखित करने के लिए सॉफ़्टवेयर को संशोधित करने, विस्तारित करने और अनुकूलित करने में सक्षम बनाता है। सहयोग, नवाचार और अनुकूलन योग्य सॉफ़्टवेयर समाधानों के लिए अपने अंतर्निहित समर्थन के कारण फोर्किंग ओपन सोर्स समुदाय का एक अभिन्न अंग बन गया है।
फोर्किंग तब होती है जब डेवलपर्स एक सॉफ्टवेयर प्रोजेक्ट के मुख्य विकास पथ से अलग होने का निर्णय लेते हैं, विभिन्न डिजाइन विकल्पों या उद्देश्यों को आगे बढ़ाने के लिए एक अलग शाखा बनाते हैं। ये शाखाएँ, या "काँटे", या तो अस्थायी हो सकती हैं, परिवर्तनों को मुख्य परियोजना में पुनः एकीकृत करने के इरादे से, या स्थायी, जिससे एक विशिष्ट और स्वतंत्र परियोजना की स्थापना हो सके। फोर्क्स को दो प्राथमिक श्रेणियों में वर्गीकृत किया जा सकता है:
- हार्ड फोर्क: इस प्रकार का फोर्क मूल सॉफ्टवेयर प्रोजेक्ट से एक स्थायी और असंगत विभाजन बनाता है, जिसके परिणामस्वरूप दो स्वतंत्र प्रोजेक्ट एक सामान्य कोडबेस साझा करते हैं। कठिन कांटे आमतौर पर तब उत्पन्न होते हैं जब डेवलपर समुदाय के भीतर भविष्य के विकास दिशाओं या लक्ष्यों के संबंध में महत्वपूर्ण असहमति उत्पन्न होती है। हार्ड फोर्क का एक प्रसिद्ध उदाहरण 2017 में बिटकॉइन (बीटीसी) से क्रिप्टोकरेंसी बिटकॉइन कैश (बीसीएच) का निर्माण है।
- सॉफ्ट फ़ोर्क: दूसरी ओर, एक सॉफ्ट फ़ोर्क मुख्य प्रोजेक्ट से एक अस्थायी विभाजन है, जिसका उद्देश्य अंततः मुख्य प्रोजेक्ट में वापस विलय करने से पहले नई सुविधाओं या सुधारों पर सहयोग करना है। प्राथमिक कोडबेस में एकीकृत होने से पहले सॉफ्ट फोर्क अक्सर नए विचारों और नवाचारों का परीक्षण करने का एक सुरक्षित और प्रभावी साधन के रूप में उभरते हैं।
यह ध्यान रखना महत्वपूर्ण है कि ओपन सोर्स लाइसेंसिंग मॉडल फोर्किंग के अभ्यास में महत्वपूर्ण भूमिका निभाता है। ओपन सोर्स लाइसेंस डेवलपर्स को सॉफ्टवेयर प्रोजेक्ट के सोर्स कोड तक पहुंचने, संशोधित करने और पुनर्वितरित करने की स्वतंत्रता प्रदान करते हैं, यह सुनिश्चित करते हुए कि फोर्क्स को कानूनी रूप से स्थापित और बनाए रखा जा सकता है। इस प्रकार फोर्किंग ओपन सोर्स सॉफ्टवेयर विकास का एक महत्वपूर्ण घटक है, जो डेवलपर्स को अपने स्वयं के दृष्टिकोण और उद्देश्यों की पूर्ति के लिए मौजूदा परियोजनाओं को अनुकूलित करने और निर्माण करने के लिए सशक्त बनाता है।
सॉफ्टवेयर विकास परिदृश्य के भीतर, फोर्किंग ने नवाचार को आगे बढ़ाने, विकास प्रक्रिया में तेजी लाने और अनुकूलन योग्य सॉफ्टवेयर समाधानों की व्यापक उपलब्धता को सक्षम करने में महत्वपूर्ण भूमिका निभाई है। उदाहरण के लिए, लिनक्स ऑपरेटिंग सिस्टम को कई बार फोर्क किया गया है, जिसके परिणामस्वरूप कई वितरण (डिस्ट्रोस) हुए हैं जो विभिन्न उपयोग के मामलों, उद्योगों और उपयोगकर्ता प्राथमिकताओं को पूरा करते हैं। लिनक्स वितरण का यह पारिस्थितिकी तंत्र विविध आवश्यकताओं को संबोधित करने और सॉफ्टवेयर विकास में समावेशी विकास वातावरण को बढ़ावा देने के साधन के रूप में फोर्किंग की शक्ति को प्रदर्शित करता है।
बैकएंड, वेब और मोबाइल एप्लिकेशन के निर्माण की दिशा में अग्रणी no-code विकास समाधान के रूप में AppMaster प्लेटफॉर्म आधुनिक सॉफ्टवेयर विकास पारिस्थितिकी तंत्र में फोर्किंग के महत्व को स्वीकार करता है। जबकि AppMaster मुख्य रूप से अपने सहज दृश्य डिज़ाइन टूल का उपयोग करके नए एप्लिकेशन बनाने पर ध्यान केंद्रित करता है, बिजनेस+ और एंटरप्राइज़ सदस्यता ग्राहक अपनी परियोजनाओं के स्रोत कोड पैकेज प्राप्त कर सकते हैं और स्वतंत्र विकास पथों को आगे बढ़ाने के लिए आवश्यकतानुसार फोर्किंग प्रथाओं को अपना सकते हैं।
बैकएंड अनुप्रयोगों के लिए उत्पन्न गो (गोलंग) स्रोत कोड या वेब अनुप्रयोगों के लिए Vue3 फ्रेमवर्क और JS/TS कोड, या मोबाइल अनुप्रयोगों के लिए कोटलिन और Jetpack Compose या SwiftUI कोड का लाभ उठाकर, उपयोगकर्ता ऐसे फोर्क बना सकते हैं जो विशिष्ट आवश्यकताओं या उद्देश्यों को पूरा करते हैं। , AppMaster के no-code वातावरण के दायरे से बाहर। यह लचीलापन AppMaster ग्राहकों को फोर्किंग प्रथाओं के लाभों का उपयोग करने में सक्षम बनाता है, साथ ही प्लेटफ़ॉर्म की no-code क्षमताओं द्वारा प्रदान किए गए तीव्र अनुप्रयोग विकास से भी लाभान्वित होता है।
संक्षेप में, फोर्किंग सॉफ्टवेयर लाइसेंसिंग और ओपन सोर्स संदर्भ में एक महत्वपूर्ण अभ्यास है जो डेवलपर्स को मूल स्रोत कोड का लाभ उठाकर मौजूदा सॉफ्टवेयर परियोजनाओं के नए संस्करण बनाने की अनुमति देता है। यह नवाचार को बढ़ावा देता है, विकास प्रक्रिया को गति देता है, और यह सुनिश्चित करता है कि सॉफ़्टवेयर समाधानों को विशिष्ट आवश्यकताओं या उद्देश्यों को पूरा करने के लिए अनुकूलित किया जा सकता है। AppMaster प्लेटफॉर्म समकालीन सॉफ्टवेयर विकास में फोर्किंग के महत्व को स्वीकार करता है, ग्राहकों को जेनरेटेड सोर्स कोड पैकेज प्रदान करता है, जिससे उन्हें जरूरत पड़ने पर फोर्किंग प्रथाओं के माध्यम से स्वतंत्र विकास पथ अपनाने में सक्षम बनाया जाता है।