कॅथेड्रल अँड बझार हा 1.998 मध्ये एरिक एस. रेमंड यांनी स्वतःच्या दृष्टीकोनातून व अनुभवावरून स्पष्टीकरण देण्याचा प्रयत्न केलेला मॅनिफेस्ट प्रकार आहे. लिनक्स व त्यासंबंधित प्रोग्राम्सची यशस्वी निर्मिती व उत्क्रांतीबद्दल त्याला काय समजले, विशेषत: सॉफ्टवेअर डेव्हलपमेंट मॉडेलमधील फरकांच्या दृष्टिकोनातून, ज्याला त्याने वैयक्तिकरित्या म्हटलेः कॅथेड्रल मॉडेल आणि बाझर मॉडेल.
आणि या प्रकाशनात, आम्ही मुक्त सॉफ्टवेअर चळवळीच्या विकसकांमध्ये इतके लोकप्रिय असलेल्या घोषणापत्रांचे विश्लेषण आणि सारांश प्रदान करू. जे वेबच्या बर्याच भागांमध्ये मुक्तपणे आणि प्रवेश करण्यायोग्य आहे, परंतु त्यामध्ये अधिक द्रुतपणे प्रवेश करण्यासाठी खालील वेब दुव्यावरून ते डाउनलोड केले जाऊ शकते: कॅथेड्रल आणि बाजार.
INTRODUCCIÓN
सांगितलेली सामग्री «कॅथेड्रल आणि बाजार azaar आम्हाला सॉफ्टवेअर अभियांत्रिकीच्या जगात“ विकासाच्या दोन पूर्णपणे भिन्न शैली असल्याचे दर्शविते., बझार मॉडेलच्या तुलनेत, लिनक्स वर्ल्डच्या अधिक नमुनेदार तुलनेत, व्यावसायिक सॉफ्टवेअरच्या जगात केलेल्या बर्याच घडामोडींना लागू असलेले कॅथेड्रल मॉडेल.
सॉफ्टवेअर डीबगिंग प्रक्रियेच्या स्वरूपाच्या विरुद्ध प्रारंभिक बिंदूंपासून ही 2 मॉडेल्स तयार केली आहेत यावर जोर दिलाआणि लिनुसचा नियम ज्याला संबोधित केले त्याबद्दल त्याच्या विशिष्ट सिद्धांताविषयी ज्याने पुढील गोष्टी सांगितल्या आहेत: "डोळ्यांना पुरेशी संख्या दिली तर सर्व त्रुटी अप्रासंगिक असतात" किंवा दुसर्या शब्दांत: "डोळ्यांच्या संख्येने, सर्व चुका क्षुल्लक असतात".
आणि त्यात हॅकर या शब्दावर जोर देण्यात आला आहे, जो माझ्या मते लेखकाने प्रोग्रामचा एक प्रकार समजून घेण्यास आणि कार्यक्षमतेने वापरण्यास सक्षम अशा उच्च स्तरीय वापरकर्त्याच्या रूपात व्यक्त केला आहे, आणि संपूर्ण वापरकर्ता समुदायासाठी कार्यक्षम फॉर्म आणि पदार्थाची दुरुस्ती किंवा सुधारणे शोधणे, सुचविणे किंवा अंमलबजावणी करणे.
इतर साहित्यात, हॅकर नावाचा शब्द किंवा संकल्पना संदर्भित करते:
«एखादा विशेषज्ञ, विशिष्ट विषय क्षेत्राबद्दल उत्कट, विशेषत: तंत्रज्ञानाचा क्षेत्र आणि ज्याचा हेतू सौम्य हेतूसाठी या ज्ञानाचा फायदा घेणे आहे. ती व्यक्ती, सामान्यत: ज्ञानाच्या क्षेत्रातील एक व्यावसायिक, जो ज्ञानाविषयी उत्कट असतो, नवीन गोष्टी शोधतो आणि शिकतो आणि ते कसे कार्य करतात हे समजून घेतात, प्रभावी सूचना आणि प्रस्तावांसह सुधारित करण्याच्या टप्प्यावर पोहोचतात आणि नेहमी हेतूने सामायिक ज्ञान किंवा अभ्यासाच्या ऑब्जेक्टमध्ये बिघाड किंवा खराब होणे टाळण्यासाठी.
मानवी ज्ञानाच्या सर्व क्षेत्रांमध्ये "हॅकर्स" असल्यामुळे ही एक अधिक सार्वत्रिक आणि वास्तविक संकल्पना आहे.
विकास
ज्यांनी अशा प्रकारचे साहित्य वाचले आहे त्यांच्यापैकी पुष्कळ लोक नक्कीच सहमत होतील की "लिनक्स विध्वंसक आहे" ही कल्पना तेथे व्यक्त केली गेली आहे. पण का?
कारण त्या क्षणापर्यंत ए “सुरुवातीपासूनच अधिक केंद्रीकृत आणि नियोजित दृष्टिकोन” वर आधारित प्रमाणित सॉफ्टवेअर विकास पद्धती किंवा मॉडेल्सची गुणा कारण सॉफ्टवेअर तयार करण्याच्या कृतीत असे काहीतरी होते जे "विशिष्ट गंभीर गुंतागुंत" होऊ शकते.
आणि युनिक्स जग अस्तित्त्वात असूनही, लहान साधने, वेगवान नमुना आणि उत्क्रांतीकरण प्रोग्रामिंगचा समावेश असला तरीही, लिनक्स अंतर्गत फ्री सॉफ्टवेयर डेव्हलपमेंट तत्वज्ञानाच्या उदयामुळे हे प्रकरण परिष्कृततेच्या दुसर्या स्तरावर गेले.
तर खासगी सॉफ्टवेअर डेव्हलपमेंटच्या जगात हे “शांत आणि आदरणीय” पद्धतीने केले गेले, जसे एक कॅथेड्रल बांधले गेले आहे, फ्री सॉफ्टवेयर डेव्हलपमेंट (लिनक्स) च्या जगात हे "उत्साहपूर्ण मार्गाने आणि एकाधिक एजंट्स (पथ) आणि दृष्टिकोन (प्रस्ताव) सह केले गेले", जसे आपण एका मोठ्या बाजारात होता.
हा महान जाहीरनामा आम्हाला तेथे व्यक्त केलेल्या कल्पनांना कवटाळण्यासाठी अनेक जागा देतो, जे फ्री सॉफ्टवेयर डेव्हलपमेंट मॉडेलच्या दृष्टीने आहेतः
प्रीमिस # 1
सॉफ्टवेअर मधील सर्व चांगल्या नोकर्या डेव्हलपर त्याच्या स्वत: च्या वैयक्तिक समस्येचा शोध घेण्याचा प्रयत्न करीत आहेत.
जे निर्विवाद सत्य आहे कारण फ्री सॉफ्टवेअर डेव्हलपमेंटमध्ये काम करणारे बरेच लोक सामान्यत: वैयक्तिक समस्येचे निराकरण करण्याच्या आवश्यकतेमुळे किंवा सामूहिक किंवा गटामुळे सुरू होतात, किंवा हळू आणि / किंवा पुनरावृत्ती पद्धतीने आधीपासून अंमलात आणलेल्या प्रक्रियेस अनुकूलित करणे, जे बहुतेकदा यात सहभागी झालेल्यांचा वेळ आणि प्रयत्न जास्तीत जास्त करण्याचा प्रयत्न करीत थकवणारा आणि / किंवा कंटाळवाणा ठरतो.
प्रीमिस # 2
काय चांगले लिहायचे ते चांगले प्रोग्रामर जाणतात. सर्वात चांगले काय माहित आहे जे पुनर्वितरित करा आणि पुन्हा करा.
कोणत्याही प्रोग्रामरला हे माहित असते की जेव्हा एखादा प्रोग्राम किंवा अनुप्रयोग विकसित करण्याचा विचार केला जातो तेव्हा स्क्रॅचपासून प्रारंभ करणे काहीही वाईट किंवा अनावश्यक नसते. तथापि, बरेच लोक जे यास प्रारंभ करीत आहेत आणि या बाबतीत इतरांना आधीच माहिती आहे अशा सर्वांना हे चांगलेच ठाऊक आहे की कधीकधी पुन्हा "व्हील चा शोध लावणे" फारसे कार्यक्षम नसते, परंतु फक्त ते ऑप्टिमाइझ करणे आणि आपल्या स्वतःच्या आवश्यकतानुसार अनुकूल करणे चांगले आहे. असे म्हणायचे आहे की, आमच्या स्वतःच्या सॉफ्टवेअर डेव्हलपमेंटचे निराकरण करण्यासाठी आम्हाला संबंधित असलेल्या क्षेत्रातील इतर तज्ञांकडील सर्व संभाव्य कोडचे पुनर्लेखन आणि आत्मसात करणे चांगले आहे.
प्रीमिस # 3
"कमीतकमी एकाकडे जाण्याबद्दल विचार करा - आपण हे सर्व काही करून समाप्त कराल."
एका चांगल्या सॉफ्टवेअर डेव्हलपरला त्यांच्या घडामोडींचे वापरकर्ते काय म्हणतात किंवा सुचवतात किंवा सुचवतात याविषयी तपशीलवार कसे ऐकावे हे माहित असणे आवश्यक आहे, कारण प्रोग्राम आधीपासून कार्यरत आहे, कार्यशील असूनही, अगदी काहीतरी मोठे होऊ शकते, जे उत्तर हरवले आहे, अ कार्यशील राक्षस जो प्रत्येकासाठी सर्वकाही करतो आणि त्यामधून काहीतरी आनंददायी नाही. म्हणून परत मुळांकडे जाणे, गमावलेल्या वापरकर्त्यांना परत जिंकणे, नवीन कार्ये जोडा, अनावश्यक काढून टाकणे, प्रोग्रामला लहान, अधिक विशिष्ट आणि सामान्य बनविणे ऐकणे नेहमीच एक चांगली पद्धत आहे.
प्रीमिस # 4
आपल्याकडे जर योग्य दृष्टीकोन असेल तर, अडचणी दर्शवल्यास आपल्याला सापडेल.
वृत्ती आणि वेळेत चांगला बदल म्हणजे प्रत्येक प्रोग्रामर किंवा सॉफ्टवेअर विकसकास त्यांच्या वर्तमान किंवा नवीन घडामोडींमध्ये मूलगामी बदल होऊ शकतो ज्याचा अर्थ असा होतो की त्यांच्या उत्पादनांच्या वापरकर्त्यांसाठी वेळ, पैसा किंवा सोयीचे नवीन फायदे आहेत. स्वत: ला योग्य दिशेने एक चांगले लक्षण सादर करीत असलेल्या समस्या सोडविण्यासाठी नवीन मार्ग शोधत रहा.
प्रीमिस # 5
जेव्हा एखादा प्रोग्राम आपल्याला स्वारस्य देत नाही, तेव्हा आपला शेवटचा कर्तव्य एका स्पर्धकाच्या यशस्वी व्यक्तीकडे पास करणे आवश्यक आहे.
बर्याच प्रोग्रामर किंवा सॉफ्टवेअर डेव्हलपर, तसेच इतर तंत्रज्ञांसाठी, नवीन प्रकल्पांना नवीन वेळ समर्पित करण्याची इच्छा असणे सामान्य नाही. परंतु मुक्त सॉफ्टवेअरच्या जगात आधार हा दांडी पास करणे आहे, असे बरेच लोक आहेत ज्यांना त्यांच्या आधीपासून सोडून दिलेल्या उत्पादनांच्या विकासासह पुढे जाणे आवडेल, ज्यासाठी त्यांनी कोणालाही स्वत: साठी किंवा त्यांच्यासाठी प्रोग्राम हॅक (सुधारित) करण्याची परवानगी दिली पाहिजे प्रोग्रामच्या समुदाय वापरकर्त्यांचा फायदा.
प्रीमिस # 6
आपल्या वापरकर्त्यांकडे कोलेबलेटर म्हणून वागवणे हे एक कार्यक्रम निश्चितपणे सुधारित करणे आणि परिणामकारकतेने कमी करणे सोपे आहे.
मुक्त सॉफ्टवेअरच्या विकासात "विनामूल्य" चा अर्थ बर्याच वेळा "विनामूल्य" म्हणून केला जातो, म्हणून अनेक प्रोग्रामर त्यांच्या विकासातील अन्य विकसकांना किंवा प्रगत वापरकर्त्यांशी जुळवून, त्यांना चालू ठेवण्यासाठी किंवा इतरांसाठी सुरू ठेवण्यासाठी विना वेतन आणि फाडणे टाळण्यासाठी एकत्र गट तयार करतात. त्यांना, भविष्यातील कोड नवकल्पनांच्या विकासात "क्रेडिट्स" प्राप्त करण्याच्या बदल्यात आणि भविष्यातील घडामोडींचा गैरवापर होऊ नये म्हणून औपचारिकरित्या काही परवानाधारकांचा समावेश असल्याचे सुनिश्चित केले.
प्रीमिस # 7
लवकरच सोडवा. आता सुरू करा. आणि आपल्या वापरकर्त्यांची यादी करा.
प्रोप्रायटरी सॉफ्टवेअर डेव्हलपमेंटच्या जगासारखे नाही, विनामूल्य सॉफ्टवेअरमध्ये बरेचदा असे घडते की बरेच आणि वेगवान चांगले आहे. वापरकर्ते आणि विकासक जे सामान्यत: प्रोग्राममध्ये प्रोग्राम वापरतात आणि विकसित करतात आणि त्यांच्या शंका, सूचना, प्रस्ताव, तक्रारी आणि / किंवा दाव्यांशी संवाद साधण्यासाठी परस्पर संवाद साधतात, त्वरित ज्ञानाचा वेगवान आधार होऊ शकतो. विकासाच्या परिपक्व टप्प्याकडे लक्ष देणारा कार्यक्रम
प्रीमिस # 8
परीक्षार्थी आणि सहयोगींचा एक विस्तृत व्यापक आधार द्या, सर्व समस्या स्पष्टपणे ओळखल्या जातील आणि त्यांचे निराकरण काही जणांना मान्य असेल.
वाचकाला असा निष्कर्ष देऊन साहित्य संपते, बझार मॉडेलवर आधारित सॉफ्टवेअर डेव्हलपमेंट पद्धत खूप प्रभावी आहे. सॉफ्टवेअर डेव्हलपर वापरकर्त्यांना त्यांच्या प्रोग्रामबद्दल जितकी अधिक सामर्थ्य, स्वातंत्र्य किंवा ज्ञान देते, ते केवळ सामूहिक फायद्याच्या उद्देशाने कुशल कल्पना किंवा उपयुक्त बदलांमध्ये योगदान देऊ शकतात.
आणि हे सुखदपणे सामग्रीच्या पुढील उतारामध्ये व्यक्त केले गेले आहे:
"मला वाटते, कॅथेड्रल आणि बाजाराच्या शैलींमध्ये मूलभूत फरक आहे. प्रोग्रामिंगकडे एक कॅथेड्रल ज्या पद्धतीने पाहतो त्यानुसार चुका आणि विकासातील समस्या कपटी, खोल आणि विघटित घटना आहेत. ते काढले गेले आहेत या आत्मविश्वासाने, कमी संख्येने समर्पित लोकांकडून छाननी करण्यासाठी महिने लागतात. म्हणूनच नवीन आवृत्त्या रिलीझ होण्यासाठी लागणारा बराच काळ आणि अतूट निराशा जेव्हा इतकी प्रतीक्षा केली होती की ती परिपूर्ण नसते तेव्हा अनुभवली.
बाजार मॉडेलच्या प्रकाशात, असे मानले जाते की चुका सामान्यत: किरकोळ बाब असतात किंवा कमीतकमी, काही हजार समर्पित सहयोगकर्त्यांनी योग्य आणि अचूकतेच्या आस्थेने पाहिल्या की त्या त्या ऐवजी लवकर झाल्या. प्रत्येक नवीन आवृत्तीच्या आसपासचा अन्य मार्ग. म्हणूनच आणखी निराकरणे मिळविण्यासाठी आपण वारंवार आवृत्त्या सोडत रहाता आणि एक फायदेशीर दुष्परिणाम म्हणून आपण दररोज एकदा गोंधळ केला तर कमी होणे कमी होईल. "
निष्कर्ष
वैयक्तिकरित्या, बाज़ार-प्रकार मॉडेल अंतर्गत मुक्त सॉफ्टवेअर विकास क्षेत्रातील माझ्या लहान अनुभवामुळे मला पुढील निष्कर्ष निघतात:
- वापरकर्त्यांना एक अमूल्य संसाधन म्हणून मानले पाहिजे आणि उत्पादनाच्या विकासात त्यांच्या सहकार्यासाठी अमूल्य सहयोगी म्हणून सर्वोत्तम बाबतीत.
- प्रत्येक कल्पना चांगली किंवा शोधण्यासारखी असते कारण कधीकधी कमीतकमी संशय घेणे हा विकासासाठी एक चांगला उपाय किंवा सुधारणा असू शकते.
- हे चांगले किंवा संभाव्य आहे की मूळ कल्पना विभाजित होते, विस्तारते किंवा मूळ संकल्पनेपासून दूर सरते, परंतु जे महत्वाचे आहे ते म्हणजे आपण सेवा देऊ, सर्व्ह करू किंवा मदत करू इच्छित असलेल्या वापरकर्त्याच्या बाजाराच्या दृष्टीने एखाद्याचे लक्ष कसे असावे.
- कार्यक्षम होण्यासाठी आणि फैलावमुळे श्रमांचे नुकसान टाळण्यासाठी.
- सर्वोत्कृष्ट म्हणजे एक छोटा, थेट, सोपा, परंतु कार्यक्षम कोड जो समुदायाद्वारे योग्य म्हणून कौतुक केले जाण्यासाठी व्यवस्थापित करतो.
- वापरकर्त्यांच्या समुदायासाठी प्रोग्रॅम आधीच परिपक्व आहे, जेव्हा यापुढे आणखी काही नसते, तेव्हा जोडणे नेहमी विचारात घेण्याची चांगली शक्यता असते.
- कोणताही प्रोग्राम वापरला जाऊ शकत नाही (काही प्रमाणात किंवा संपूर्णपणे) मूळ कल्पना न केलेल्या कार्यांमध्ये पुन्हा वापरला जाऊ शकतो.
- वापरकर्त्याच्या डेटाच्या वापराच्या गोपनीयतेसाठी सर्व सॉफ्टवेअरने संबंधित परवाना आणि सुरक्षितता उपाय करणे आवश्यक आहे.
- सुरवातीपासून प्रारंभ करणे आवश्यक नाही, एखाद्याने आमच्या कल्पनाशक्तीप्रमाणेच काहीतरी विकसित केले आहे.
- आपल्या आवडीच्या गोष्टीवर आपण कार्य केलेच पाहिजे, मालकीची भावना विकसित करण्याच्या टोकापर्यंत पोहोचल्याशिवाय आपण ज्या विकासासाठी स्वत: ला मुक्त सॉफ्टवेअरमध्ये समर्पित केले आहे त्याद्वारे आंतरिक अंतर्भूत असलेल्या युनियनची भावना निर्माण करण्यासाठी आपल्याला उत्कट भावना असणे आवश्यक आहे. तो.
- विकसक आणि वापरकर्त्यांमधील संप्रेषणाची उत्कृष्ट आणि वारंवार साधने असणे आवश्यक आहे (जेणेकरून सहयोगी), जेणेकरून कार्य द्रुतगतीने प्रवाहित होईल आणि प्रभावीपणे बदलू शकेल.
मला आशा आहे की आपल्याला ही माहिती उपयुक्त वाटली असेल आणि सापडली असेल, कारण "द कॅथेड्रल अँड बाजार" वाचन हे जे काही मोठे किंवा लहान असले तरीही कोणत्याही विनामूल्य सॉफ्टवेअर डेव्हलपमेंटचा प्रोग्राम करणार्या सर्वांसाठी अनिवार्य संदर्भ आहे.
छान सारांश / मत, मी फक्त code कोडसह मॉनिटर of इतकी प्रतिमा काढून टाकतो की ती कोणत्याही गोष्टीवर विचारात येत नाही
सिस्टम्स डेव्हलपमेंटच्या समस्येसाठी मला ते योग्य वाटले आणि त्यांना काढून टाकणे यापुढे योग्य होणार नाही परंतु आपल्या निरीक्षणाबद्दल धन्यवाद!
उत्कृष्ट सारांश आणि समानता.
आपल्या छान आणि सकारात्मक टिप्पणीबद्दल बायरोन धन्यवाद.
छान प्रयत्न करा, या महत्त्वपूर्ण सूचनाबद्दल अभिनंदन. मला वाटते की "देवाच्या राज्यात" सर्व काही विनामूल्य (विनामूल्य असेल) असेल ... अन्यथा विकसकांना विध्वंसकांनी शहीद किंवा वधस्तंभावर खिळले जातील, जे ज्यांना समजत नाही किंवा समजून घेऊ इच्छित नाही त्यांनी आम्हाला आवश्यक आहे "सीझरचे काय आहे ते सीझरला द्या आणि जे देवाचे आहे ते देवाला द्या»… ग्रेच्युटी (नि: शुल्क) निसर्गामध्ये सूर्यप्रकाश किंवा आपण श्वास घेतलेल्या हवेसारखी दिव्य आहे ... स्वातंत्र्य आवश्यक आहे, परंतु सध्या अशा प्रकारच्या दु: खाच्या मार्केटमुळे ते दूषित झाले आहे. मालकीचे सॉफ्टवेअर
ग्रीटिंग्ज, एडुआर्डो डी त्रिनिदाद. आपल्या टिप्पणी आणि योगदानाबद्दल धन्यवाद.