दर्शन (Philosophy)
- हम dwm, dmenu, st जैसे उच्च-गुणवत्ता वाले सॉफ़्टवेयर विकसित करने वाला एक समुदाय हैं, और सरलता, स्पष्टता, मितव्ययिता (Simplicity, Clarity, Frugality) को अपने मूल मूल्यों के रूप में मानते हैं
- हम IT उद्योग में व्यापक रूप से फैले अनावश्यक रूप से जटिल, त्रुटिपूर्ण और धीमे सॉफ़्टवेयर की वास्तविकता का विरोध करते हैं
- हमारे प्रोजेक्ट्स का लक्ष्य इस प्रवृत्ति के विपरीत जाना, और चीज़ों को सरल, न्यूनतम तथा उपयोग में आसान बनाए रखना है
- हमारे प्रोजेक्ट्स का लक्ष्य-समूह अनुभवी कंप्यूटर उपयोगकर्ता और विशेषज्ञ हैं
- हमारा मानना है कि अधिकांश व्यावसायिक सॉफ़्टवेयर और ज़्यादातर open source प्रोजेक्ट्स ग़ैर-विशेषज्ञों और सामान्य उपयोगकर्ताओं के लिए बनाए जाते हैं, इसलिए अनुभवी उपयोगकर्ताओं की उपेक्षा होती है
- इसके विपरीत, हम मानते हैं कि अनुभवी उपयोगकर्ताओं का बाज़ार लगातार बढ़ रहा है, और उन्नत उपयोगकर्ता अपने काम करने के तरीके के अनुसार सर्वोत्तम समाधान खोज सकते हैं
- सरल और सुरुचिपूर्ण सॉफ़्टवेयर डिज़ाइन करना कहीं अधिक कठिन है
- लेकिन विश्वसनीयता और रखरखाव के लिए यह कीमत चुकानी ही पड़ती है
- minimalism बनाए रखने से तर्कसंगत और हासिल किए जा सकने वाले लक्ष्य निर्धारित किए जा सकते हैं
- हम minimalism और स्पष्टता बनाए रखने का प्रयास करते हैं
घोषणापत्र (Manifest)
- कई डेवलपर्स लंबा कोड लिखने को उपलब्धि समझने की भूल करते हैं
- लेकिन सिर्फ़ कोड की मात्रा अधिक होने से सॉफ़्टवेयर की गुणवत्ता बेहतर हो ही जाए, ऐसा नहीं है
- आगे बढ़ते जाने पर ऐसा लग सकता है कि कौशल बढ़ रहा है, लेकिन यह केवल भ्रम है
- कई डेवलपर्स कोड की गुणवत्ता की परवाह नहीं करते और केवल इस बात से संतुष्ट हो जाते हैं कि कुछ चल रहा है और मानो समस्या हल हो गई हो
- यदि यह तरीका जारी रहे, तो समय के साथ बहुत बड़ी मात्रा में कोड, पूरी तरह टूटी हुई कोड संरचना, और खामियों से भरी सिस्टम डिज़ाइन बचती है
- इसका कारण विकास प्रक्रिया में वैचारिक स्पष्टता और अखंडता की कमी है
- कोड की जटिलता अक्षम और असंगत सॉफ़्टवेयर को जन्म देने का मूल कारण है
- जटिल कोड के कारण performance में गिरावट, resource की बर्बादी और security vulnerabilities पैदा होती हैं
- इसका एकमात्र समाधान पूरे प्रोजेक्ट को छोड़कर उसे शुरुआत से फिर से लिखना है
- समस्या यह है कि उच्च-गुणवत्ता वाला code rewrite लगभग कभी नहीं होता
- कई डेवलपर्स कोड की मात्रा पर गर्व करते हैं, और यह भ्रम पाल लेते हैं कि वे जटिलता को समझ चुके हैं, इसलिए rewrite की ज़रूरत नहीं है
- वे खुद को प्रतिभाशाली समझते हैं, और जटिल सॉफ़्टवेयर को आदर्श लक्ष्य मान बैठते हैं
- महान विचार सरलता है। महान सॉफ़्टवेयर भी सरलता है
- सरलता Unix दर्शन का केंद्र है
- जितनी अधिक code lines हटाई जाती हैं, उतनी ही बड़ी प्रगति होती है; कोड जितना घटता है, डेवलपर उतना ही अधिक कुशल होता है और सॉफ़्टवेयर उतना ही बेहतर बनता है
2 टिप्पणियां
यह तो पूरी तरह जोश से भरा हुआ घोषणापत्र है hahaha शानदार है
Hacker News राय
Suckless के Stali Linux FAQ का मुझ पर बड़ा असर पड़ा था। उन्होंने Linux के लिए पूरी तरह statically linked user space बनाया था
dwm और dmenu की वजह से मेरा desktop 10 साल से लगभग बदला नहीं है। minimalism से मिलने वाली स्थिरता मुझे बहुत पसंद है
यह बात समझ में नहीं आती कि for loop में initial declaration का इस्तेमाल न करने को क्यों कहा जाता है। variadic macros ठीक हैं, लेकिन for(int i = 0...) को बहुत जटिल मानना समझ से बाहर है
मैं minimalism को अपना सकता हूँ, लेकिन हर चीज़ के लिए इसकी ज़रूरत नहीं होती
Suckless की coding philosophy खूबसूरत है। काश हर software इसी philosophy से लिखा जाता। लेकिन window manager और X-menu इसके सबसे अच्छे उदाहरण नहीं हैं
community का drama बेवकूफ़ी है। मैं software philosophy से प्यार करता हूँ इसलिए ये tools इस्तेमाल करता हूँ। लेखक की निजी मान्यताओं या राजनीतिक झुकाव से मुझे फ़र्क नहीं पड़ता
कई terminals को परखने के बाद, मैं फिर से st fork पर लौट आया। इसे कई सालों से इस्तेमाल कर रहा हूँ, और यह stable है और bug-free है
यह philosophy परफ़ेक्ट नहीं है, लेकिन reliable software बनाने के लिए सबसे नज़दीकी approach है। complexity को काबू में रखना सबसे मुश्किल और सबसे ज़रूरी काम है
surf, WebKit2/GTK+ पर आधारित एक simple web browser है। यह websites दिखा सकता है और links follow कर सकता है
dwm को source code edit करके customize किया जाता है, इसलिए binary packages बनाना बेमानी है। इसका user base छोटा और elitist है
Suckless तो चाहिए, लेकिन asynchronous और सब कुछ कर सकने वाला software भी चाहिए। मैं ऐसे apps ढूंढ रहा हूँ जो कई apps के single-threaded सहयोग वाले तरीके से काम करें
इनका मौजूद होना अच्छा है। ये जो करते हैं उसके लिए मैं आभारी हूँ। लेकिन मुझे थोड़ा-बहुत असुविधाजनक software पसंद है। BSPWM का configuration ठीक-ठाक है, लेकिन C code को फिर से compile करना हद से ज़्यादा है