उपयोगकर्ता डेटा की देखभाल पर: NeoVim ने Vim की undo फ़ाइलें हटवा दीं
Neovim की persistent undo feature में किए गए एक बदलाव ने मौजूदा undo-history फ़ाइलों, जिनमें Vim द्वारा बनाई गई फ़ाइलें भी शामिल थीं, को overwrite या delete कर दिया, जिससे कुछ उपयोगकर्ताओं ने वर्षों का edit history खो दिया। टिप्पणीकार इस पर बहस करते हैं कि क्या यह आधुनिक और open source software में “duty of care” की गहरी कमी को दर्शाता है, और legal disclaimers तथा “free gift” rhetoric की तुलना उपयोगकर्ताओं की उस उचित अपेक्षा से करते हैं कि tools चुपचाप data नष्ट नहीं करेंगे। यह चर्चा backward compatibility, नैतिक बनाम कानूनी जिम्मेदारी, और व्यापक रूप से इस्तेमाल होने वाले free tools के maintainers पर भरोसा करने वाले लोगों के प्रति उनकी कितनी देखभाल होनी चाहिए, जैसे प्रश्नों तक फैल जाती है.
Neovim का persistent undo परिवर्तन और डेटा हानि
- Neovim ने tree-sitter, LSP, आदि के लिए byte-level change events का समर्थन करने हेतु अपने persistent undo फ़ाइल फ़ॉर्मेट को बदला।
- पुराने फ़ॉर्मेट की undo फ़ाइल मिलने पर Neovim उसे माइग्रेट या अनदेखा करने के बजाय हटा कर उसकी जगह नई फ़ाइल बना देता है।
- यदि Vim और Neovim को एक ही
undodirसाझा करने के लिए कॉन्फ़िगर किया गया हो, तो इससे Vim का undo इतिहास भी नष्ट हो जाता है; डिफ़ॉल्ट रूप से उनकी directories अलग होती हैं, इसलिए टकराव केवल साझा config में होता है। - कुछ लोगों का कहना है कि Neovim को अलग filename/dir इस्तेमाल करना चाहिए था, पुरानी फ़ाइलों को अनदेखा करना चाहिए था, या कम से कम चेतावनी देनी चाहिए थी या बैकअप लेना चाहिए था; जबकि दूसरों के अनुसार यह मूलतः खराब फ़ॉर्मेट के लिए एक उचित breaking change है।
देखभाल का दायित्व बनाम “यह free software है”
- एक पक्ष: free/open-source software होने पर भी उपयोगकर्ता डेटा को चुपचाप नष्ट न करने का नैतिक दायित्व होता है, खासकर ऐसे डेटा का जो किसी दूसरे program ने बनाया हो; disclaimers और licenses नैतिक ज़िम्मेदारियों को समाप्त नहीं करते।
- विपरीत दृष्टिकोण: बिना वेतन काम करने वाले maintainers पर license से आगे ऐसा कोई दायित्व नहीं है; अगर आपको अलग behavior चाहिए, तो योगदान दें, fork करें, या उसे इस्तेमाल न करें।
- कई लोग legalistic बचावों को खारिज करते हैं: “AS IS” होने से liability सीमित हो सकती है, लेकिन प्रतिष्ठा या आलोचना से सुरक्षा नहीं मिलती।
- बहुतों को लगता है कि Neovim का यह चुनाव, और शिकायतों पर उसकी शुरुआती रक्षात्मक प्रतिक्रिया, user-respecting software में व्यापक गिरावट का प्रतीक है।
उपयोगकर्ता अपेक्षाएँ, undo semantics, और workflows
- कुछ लोगों के लिए persistent undo crash या accidental quit के लिए एक हल्का safety net है, न कि long-term history store; उनका तर्क है कि इसे backup के रूप में इस्तेमाल करना misuse है और सही रूप से VCS/backups का उपयोग होना चाहिए।
- दूसरे ध्यान दिलाते हैं कि इस feature का नाम सचमुच “persistent undo” है और इसे history संरक्षित करने के रूप में documented किया गया है; उनके workflows हफ्तों या महीनों तक फैले थे और वे चुपचाप deletion से हैरान रह गए।
- data location को लेकर बहस है: कुछ लोग दावा करते हैं कि
~/.cacheमें undo inherently ephemeral है; दूसरे point out करते हैं कि Neovim docs इसे state के अंतर्गत रखते हैं, और किसी भी स्थिति में app ने खुद इसे delete करना चुना।
Vim बनाम Neovim और विकल्प
- कुछ लोगों को Vim पर टिके रहने का औचित्य मिला हुआ लगता है, क्योंकि इसमें stability और long-term backwards compatibility है।
- दूसरे कहते हैं कि Neovim ने बेहतर defaults, async plugins, और modern IDE-like features दिए, और progress के लिए breaking changes स्वीकार्य हैं।
- कई लोग अन्य editors (Helix, ki, local history वाले IDEs) या बस versioning के लिए Git/etckeeper/backup scripts इस्तेमाल करने का सुझाव देते हैं।
राजनीतिक / सामाजिक drama side-thread
- चर्चा का एक हिस्सा Neovim के एक polarizing figure के quote के उपयोग और बाद में उसे हटाने, तथा “platforming” extremist political views के आरोपों पर चला जाता है।
- टिप्पणीकार इस बात पर बँटे हैं कि यह बढ़ा-चढ़ाकर किया गया “mob” व्यवहार है या projects द्वारा endorsement करने वाले लोगों को लेकर एक वैध चिंता है।