| ▲ | Installing NeoVim caused original Vim undo files to be deleted(unsung.aresluna.org) |
| 256 points by jandeboevrie 2 hours ago | 206 comments |
| |
|
| ▲ | jeremyjh 32 minutes ago | parent | next [-] |
| This story has no references that support the author's version of events, but it does appear to be substantially true that: 1. The change would break undo history, for both Neovim and Vim. 2. This means Neovim would delete data created by a different program, on another user's computer. 3. This was known before the feature was released. 4. They did it anyway. I don't think there can really be any post-hoc justification of this. https://github.com/neovim/neovim/pull/13973#issuecomment-789... |
| |
| ▲ | dtech a minute ago | parent | next [-] | | The data is stored in ~/.cache which has the contract that it user-wide cached data, which also means it can be deleted without severely impacting programs. It seems the author has too high expectations of this feature, or vim is using an incorrect path to store this is they want to make it available more reliably | |
| ▲ | Insanity 12 minutes ago | parent | prev | next [-] | | I switched from Vim to NeoVim this year, after about 15 years on Vim. Not withstanding this incident, I would say that on the whole it has been a good experience with Neovim. (I didn’t actually ever use the persistent undo functionality in vim. Guess because of VCS it’s less needed for my use-case). | |
| ▲ | ludicrousdispla a few seconds ago | parent | prev | next [-] | | maybe they tried to undo the change, but were not able to | |
| ▲ | loeg 12 minutes ago | parent | prev [-] | | It was ostensibly necessary for other, arguably more important features. Persistent undo maybe just isn't that important? I certainly don't use it nearly as much as the author seems to. |
|
|
| ▲ | gavinhoward 2 hours ago | parent | prev | next [-] |
| As a Neovim user, this stopped me dead with painful realization: I may have suffered the same thing but didn't realize it. There was a time when I could not undo something, and it was after a Neovim upgrade. Unlike Dr. Chisnall, I started my editor journey on Neovim, so it wasn't a transition that bit me. However, if the format of the persistent undo file is unstable, and Neovim just deletes it when it doesn't recognize the previous format, then it seems conceivable (to me) that an upgrade after changing the format would delete the file too. Ouch. This is making me think about getting off of Neovim. Yes, FOSS comes as-is, but if there's an alternative... |
| |
| ▲ | cdmckay 32 minutes ago | parent | next [-] | | It’s such an odd design decision. I could see ignoring the old undo data or warning before discarding it but just silently wiping it is so user hostile it’s hard to comprehend. | |
| ▲ | antonkochubey 27 minutes ago | parent | prev [-] | | Sorry for my ignorance, but what is the usefulness of undo persistence after a IDE restart? Don't you normally save your changes and finish a piece of work before exiting an DE? Edit: some great examples in the replies here, thanks! Perhaps I should start using it in editors that support it, never gave it a thought before. | | |
| ▲ | jeremyjh 23 minutes ago | parent | next [-] | | The whole point of undo is that you realize you made a mistake later. If you've done that after you've saved your changes and exited the program, you'd have no expectation of undo still working unless you've enabled this feature. It doesn't matter whether or not you can think of a reason you would want to enable it, but it should be pretty trivial to do so. Once you've enabled it, it should work. | |
| ▲ | schmichael 13 minutes ago | parent | prev | next [-] | | The reason why this feature is particularly useful in vi-likes is because they are not IDEs. I hop in and out of vi all day long. Depending on the task I might create a new tab, run a command in vi, or exit vi to run it. Vi’s appeal is that it is “just” an editor and your terminal and workstation form your un-integrated development environment. | |
| ▲ | drfloyd51 20 minutes ago | parent | prev | next [-] | | The article gave 2 examples. I can give some as well. IDE crashes. Computer reboots at an undesired time. Even if my work is saved, I am not “finished”. I would like my undo history to extend before file / open time. | |
| ▲ | traverseda 22 minutes ago | parent | prev | next [-] | | I often use it to edit system config files, often on embedded devices where I don't have my git credentials setup, or on servers. In these cases we're already not in an ideal world, I don't have good reliable version control or change management in place. In those less-than-ideal worlds, having proper undo history is nice. | |
| ▲ | prerok 21 minutes ago | parent | prev | next [-] | | Most apps don't have it, so you might not be used to it, but have you never wished that you could undo the changes you made after you restarted the program? Moreover, the vim history tracking is amazingly advanced. It's almost like a mini version control system. I highly recommend getting to know it. | |
| ▲ | dezgeg 22 minutes ago | parent | prev [-] | | If your session / computer crashes, for one. |
|
|
|
| ▲ | RVuRnvbM2e 9 minutes ago | parent | prev | next [-] |
| Undo files and persistent undo are not meant to work that way. They are just persistent across process restarts. That's all. They live in ~/.cache which is defined as "user-specific non-essential (cached) data". Despite this user's impressive résumé, they simply misunderstood the feature. |
| |
| ▲ | freehorse a few seconds ago | parent [-] | | What did OP misunderstand? I am not sure how and where their understanding of "persistent undo" is different from "persistent across process restarts"? |
|
|
| ▲ | sdcfgy an hour ago | parent | prev | next [-] |
| I've used vim since the first time it appeared in Debian repos. I have been told a thousand times that NeoVim is better, more modern and solves many (conveniently never cited) issues. I just ignored it and carried on. Feeling terribly vindicated at this point as it's a feature I use regularly and have no idea that it would be an issue in NeoVim. |
| |
| ▲ | kps 44 minutes ago | parent | next [-] | | I've used vi and nvi and (now) vim, and tried neovim, but :! is broken and “Conform to POSIX vi” is one of their “Non-goals”. | |
| ▲ | mahboi 35 minutes ago | parent | prev | next [-] | | I've never used NeoVim because Vim has been good enough. | |
| ▲ | WesolyKubeczek an hour ago | parent | prev | next [-] | | I used neovim because it felt way faster by default. I think treesitter runs circles around what classic vim is using to highlight syntax. That said, I never used both beyond basics, thus no horror stories either. | | |
| ▲ | sdcfgy an hour ago | parent [-] | | I haven't noticed any performance issues in vim to start with. It was fast on a 75MHz pentium for me. The syntax highlighting, same. No issues. I don't always use that though because I can't be bothered to set up anything much past the basic config. | | |
| ▲ | flohofwoe 40 minutes ago | parent | next [-] | | IIRC vim became really slow with the combination of large source files (thousands of lines of code) and language server plugins (e.g. code completion and live error squiggles). | | |
| ▲ | sdcfgy 21 minutes ago | parent | next [-] | | I had a C program that was a single file 140,000 lines long back then. No issues. | |
| ▲ | WesolyKubeczek 24 minutes ago | parent | prev [-] | | I was using vim-enhanced as red hat-based distro installed it. No customization. No customization of nvim either. I often use vim or nvim on disposable machines, so persistent undo is something very low on my list of things I want. |
| |
| ▲ | everforward an hour ago | parent | prev [-] | | At one point vim lacked asynchronous plugins. If a plugin was running a builder or linter it locked the editor up (from what I recall). That fell apart when people wanted vim to do some more modern IDE kind of things like all the “… on save” stuff (build on save, test, lint, etc). I think LSP support is native in neovim as well. I believe vim merged asynchronous plugin support a while back though, so I’m not sure how different they really are anymore. | | |
| ▲ | sdcfgy 20 minutes ago | parent [-] | | That seems like solving the wrong problem. Just run make from another terminal... | | |
|
|
| |
| ▲ | debo_ an hour ago | parent | prev | next [-] | | *vimdicated | |
| ▲ | alphabeta3r56 an hour ago | parent | prev [-] | | If one really needs an undo in today's day and age, use git. | | |
| ▲ | leobuskin an hour ago | parent | next [-] | | It’s two different dimensions in this case. VCS doesn’t preserve your local history (in JetBrains’ terms) of changes (and it wasn’t meant to by design) | |
| ▲ | sdcfgy 20 minutes ago | parent | prev | next [-] | | I don't use git. I actually have something still using RCS. | |
| ▲ | 0xbadcafebee 38 minutes ago | parent | prev [-] | | Someone didn't read the part about wanting a humane interface |
|
|
|
| ▲ | BarbaryCoast 30 minutes ago | parent | prev | next [-] |
| According to the rev history for VIM, persistent undo arrived in version 7.3, released in 2010. So Chisnall may have used it since 2000, but he didn't have persistent undo for at least two of the books he wrote. And it means it wasn't "maintained for almost 20 years", it's at best 16. But it is a nice feature. I do that by using version control. I have it hooked to my editor so that "save" is "check in". Now I have persistent, versioned, copies of all my states independent of whatever tools I happen to be using. |
| |
| ▲ | loeg 6 minutes ago | parent | next [-] | | Keep in mind NeoVim forked in 2014, too. | |
| ▲ | drfloyd51 13 minutes ago | parent | prev [-] | | Type A. Type B. Save. Type C. Save. How do you get back to state “A” using git? You do not have all your states available. |
|
|
| ▲ | natbennett 2 hours ago | parent | prev | next [-] |
| I was also a very early user of Neovim. The way I personally remember it being positioned was “Vim, but with breaking changes.” |
| |
| ▲ | tmp_throwaway_q an hour ago | parent [-] | | Yeah, this hasn't been a problem since forever (or at least I haven't noticed). They had to break the undo file format a while ago to actually work correctly for byte-level buffer change events (very important for tree sitter and other plugins listening for buffer changes). The undo file format is versioned, too, so it's not just YOLO'd; Neovim has since forever returned an error saying there's a version incompatibility. The outrage here doesn't make a lot of sense to me. The original author of this post (on Mastodon) appears to have a bone to pick with Neovim since it's "platforming white supremacists"? I couldn't figure out what this meant. Some sort of internet drama I guess. | | |
| ▲ | mikestew an hour ago | parent [-] | | The “drama” was linked in TFA: https://github.com/neovim/neovim.github.io/issues/501 | | |
| ▲ | oefrha 40 minutes ago | parent | next [-] | | Feels like opal drama all over again, more than a decade later. Why is the ruby community so uniquely toxic, whichever side you’re on. (Yes I’m aware neovim isn’t a ruby community, but the drama is once again centered on a ruby personality.) | |
| ▲ | tmp_throwaway_q an hour ago | parent | prev | next [-] | | Gotta be honest, this seems like making a mountain out of a molehill. Yeah, DHH is an awful person. His endorsement was removed from the page pretty quickly, but of course not fast enough to avoid the social media mob handing down their verdict upon the thankless maintainers. I sympathize with the Neovim developer in that thread, the driveby Github commenters with seemingly no other involvement in the project are some of the least well-socialized people alive. | | |
| ▲ | manvillej an hour ago | parent [-] | | To be fair, it’s not hard to say “white supremacy is bad and I’m not cool with it” It took me only 10 seconds to write. | | |
| ▲ | tmp_throwaway_q 44 minutes ago | parent [-] | | It's also hard to stay cool and agree with the mob dogpiling you over (tbh) a triviality. Anyone who's had to have difficult conversations in the real world knows that. I'm not going to expect people to respond in the best way to such things (easy to project this expectation when you're an anonymous name in the crowd, though). |
|
| |
| ▲ | wongarsu an hour ago | parent | prev [-] | | tl;dr: the website showed the quote “Full-screen Neovim looks cool as hell!” by some programmer with political views. After initial pushback it eventually got removed | | |
| ▲ | elektronika 35 minutes ago | parent [-] | | > programmer with political views It's dishonest to downplay what his "political views" entail. He compared the removal of minorities to pest extermination. > When wolves get out of control, you shoot them. When gypsies take over public spaces, you deport them. | | |
| ▲ | wongarsu 6 minutes ago | parent | next [-] | | In my view the core of the "drama" is about whether quoting an unpolitical statement of a person endorses the person as a whole, including their political views. The maintainer who originally responded to the github issue clearly thinks that it does not. The reporter and Twitter mob think that it does Whether we disagree with his political views (I hope so) and how political a project like neovim is would be questions to answer once agreement on the first question is reached | |
| ▲ | s1artibartfast 23 minutes ago | parent | prev [-] | | What seems to be the problem with that? If illegal migrants are ruining your city, you should enforce the law. Its not rocket science I got Streisanded into reading some of his quotes and they dont seem that bad. | | |
| ▲ | db48x 11 minutes ago | parent [-] | | The people who say that he is racist or fascist don’t believe that immigration can be illegal. That is, they believe that all migration should be allowed all of the time, and that successful countries should not be allowed to keep people out. |
|
|
|
|
|
|
|
| ▲ | dlisboa 2 hours ago | parent | prev | next [-] |
| > the attitude that just because something is a persistent file on your filesystem that contains data that you might want is no reason for their program not to delete it meant they had no concept of a duty of care to their users. That's the wrong way to look at it. NeoVIM has a different concept of care for their users. They're optimizing for another kind of care, more in line with modern expectations, which VIM did not care about (hence the fork). It's not better or worse, just different. This same article could've been written about how VIM has no native LSP integration or autocomplete and they don't have duty or care for their users. |
| |
| ▲ | pdonis 2 hours ago | parent | next [-] | | Deleting important data without warning is not the same as not providing a feature users might want. | | |
| ▲ | luma an hour ago | parent | next [-] | | There is a flip side to this - is vim encrypting this data it keeps forever? If I delete something I consider sensitive, I might unwittingly be recording that presumed-deleted piece of data to my user profile somewhere to be deleted never. | | | |
| ▲ | crote 11 minutes ago | parent | prev [-] | | It's a feature most software doesn't even have, and it is off-by-default. If you rely on your undo history to store "important data", you are doing something horribly wrong - to the level of storing your critical emails in the Trash folder. Persistent undo exists to recover from an accidental write-and-quit mid-session nuking some stuff you really didn't intend to delete. If you care about its contents beyond a handful of hours, you either need to adopt proper version management, or start making backups. Reading the PR the change was needed because the old undofile format was fundamentally broken. They considered making an undofile-upgrade mechanism, but it would've caused more issues that it would've solved. In other words: stuck between a rock and a hard place. A duty of care also means occasionally having to break things to make it better, or else you end up being stuck with spacebar heating[0] forever. As a user it does suck, but that's the price you have to pay for using actively-developed software. [0]: https://xkcd.com/1172/ |
| |
| ▲ | jeremyjh an hour ago | parent | prev | next [-] | | It is insane that people are defending behavior that is clearly abhorrent just because they like the software. Are the claims even true? If they are, you should be updating your opinions about the person writing this software. | | |
| ▲ | oh_my_goodness 3 minutes ago | parent | next [-] | | Sci-fi premise. Somewhere [1] there is a message board where developers are free openly embrace their feelings of dislike and disdain toward users. On that board, silently deleting a user's files is obviously justified. What would be out of line is complaining about software silently deleting user files. [1] Galaxy far away. | |
| ▲ | dlisboa 42 minutes ago | parent | prev | next [-] | | Insane? Abhorrent? Relax for a second. Get some perspective. | | |
| ▲ | jeremyjh 29 minutes ago | parent [-] | | My perspective is that the Neovim maintainer implemented a change that would delete data created by another program on other people's computers. They knew this would happen in advance, and it was done anyway. |
| |
| ▲ | kebman 21 minutes ago | parent | prev [-] | | From Cambridge Dictionary: ```markdown abhorrent /əbˈhɒr(ə)nt/ Abhorrent is an adjective that means morally very bad, hateful, or causing strong disgust and loathing. ``` I realise that this causes strong disgust and loathing in you, but can you please expand upon how it's morally very bad to prioritise speed and ease of use over undelete capability in Neovim? Are you unable to make backups or use Git? |
| |
| ▲ | lokar 39 minutes ago | parent | prev [-] | | All they had to do was pick a different file name | | |
| ▲ | dlisboa 34 minutes ago | parent [-] | | True. But it’s not like they planned some vengeance against the VIM backup file. People are making it sound like this is a huge company with a product and not a grouping of curious people with a couple hours of free time on a Sunday. Most likely they never thought about it, then it broke, then it was not impactful enough to fix on their free time compared to other stuff. | | |
|
|
|
| ▲ | gchamonlive 36 minutes ago | parent | prev | next [-] |
| Am I missing something? Are people using persistent undo as backup? This seems however more like of a documentation and UX problem. Neovim should warn and ask before deleting old undo files, or at least back them up, but it's not neovim's fault if people don't use reliable backup and versioning systems. Relying on persistent undo for this is kind of a self inflicted wound. Use the proper tools for the job. Saying that neovim developers "had no concept of a duty of care to their users" is really disrespectful. All you have to do is use neovim's Lua API, it's overflowing with care, you just need to go look. |
| |
| ▲ | sdorf 18 minutes ago | parent | next [-] | | I've always assumed that undo history is ephemeral in any application I use, other than maybe an application where history is first-class in a timeline like Fusion360. I'm surprised to hear that people rely on it being persistent. | | |
| ▲ | gchamonlive 12 minutes ago | parent [-] | | Persistent undo is useful, but when it's unavailable or corrupted for me it's like "oh too bad", and then I read things like this I get horrified by the workflows people adapt in order to avoid learning how to use the available tools properly. Seriously, it's just vim, borg and git... |
| |
| ▲ | drfloyd51 10 minutes ago | parent | prev | next [-] | | Not using it as a backup strategy. But it doesn’t matter. Vim has a feature, persistent undo. People are using it for whatever reason. Under your blessing or not. A different app, neovim, broke vim’s feature. They don't get a pass because you disagree with an imagined use case. | | |
| ▲ | gchamonlive 7 minutes ago | parent [-] | | Yeah, they could have done better, but to say they "had no concept of a duty of care to their users"... Isn't it a bit much? |
| |
| ▲ | whatevaa 26 minutes ago | parent | prev [-] | | https://xkcd.com/1172/ Seems so. As smart as keeping tabs open in browser instead of using bookmarks, but "workflow". | | |
|
|
| ▲ | skybrian 2 hours ago | parent | prev | next [-] |
| Software developers do sometimes make promises to their users, but I think these promises ought to be explicit rather than assumed. You can't simply assume a "duty of care" and expect that other people will understand them the same way you do. (Or rather, you can, but you will likely be disappointed.) |
|
| ▲ | modeless 30 minutes ago | parent | prev | next [-] |
| Today it's the work of a moment to get a coding agent to change the format of a file for you. I guess the point of this story is supposed to be like the famous Van Halen brown M&Ms contract clause. But the world is changing fast and I think it makes sense to start taking more ownership of your own computing experience, especially when the software you use is open source. If you don't like it, have an agent change it! You don't need to convince a maintainer of anything. |
| |
| ▲ | asveikau 20 minutes ago | parent [-] | | More like in the LLM era, people are disrespecting the user and not sweating these details with ever increasing velocity. It isn't good. This story is about software being a slow, deliberate process where a lack of gatekeeping can lead to data loss. This is the type of problem which is getting worse. |
|
|
| ▲ | utopcell 14 minutes ago | parent | prev | next [-] |
| While I agree with the article's point, we should note that collisions do not happen out of the box because Neovim defaults undodir to $XDG_STATE_HOME/nvim/undo/ (~/.local/state/nvim/undo/), while Vim defaults to storing .un~ files alongside the edited file or inside ~/.vim/undo/. Data loss only occurs if both editors are configured to share an undo directory or save inline .un~ files. |
|
| ▲ | carterschonwald 28 minutes ago | parent | prev | next [-] |
| duty of care is kinda absent in too much of software engineering. its painfully missing in recent anthropic models because of the broken value framework they use for ethics. but broadly: i currently have the stance that text gen language models should prioritize users wellbeing rather than model orovider liability |
|
| ▲ | recursivedoubts 2 hours ago | parent | prev | next [-] |
| They are open source developers, giving away free software as a gift. There is no duty here. We can speak, respectfully, of how important backwards compatibility is to us, and ask nicely for them to give more of their time to support it when their free sodftware isn't backwards compatible. Perhaps we can even offer to help implement it. But they have no duty to do so or to "care" for their users. (They have already demonstrated they care for their users, btw, by giving them free software.) EDIT: I missed an important part of the story, which is that they mutated existing files in a non-backwards compatible manner. That should have been avoided, I understand where the (secondary) author is coming from now. |
| |
| ▲ | rlue 2 hours ago | parent | next [-] | | The argument is that developers have a duty not to arbitrarily delete data on your system that you may have relied on that was produced by another program just because they’d like to replace it with something in their own format. I don’t care if you’re volunteering your time; if you build something whose implied purpose and success depends on other people using it, you emphatically have a duty to those people not to silently destroy stuff that was there before your software was. | | |
| ▲ | pdonis an hour ago | parent [-] | | It's worth pointing out that vim is not "another program" as far as Neovim is concerned. It's an earlier version of the same program. Neovim is a fork of vim, not a totally different editor that happens to share part of a name. | | |
| ▲ | goodmythical an hour ago | parent | next [-] | | Forking creates new programs. If I fork chromium, I do not get to claim that I am a chromium maintainer. Vim and Neovim are two seperate programs. | | |
| ▲ | SigmundA an hour ago | parent [-] | | So maybe it should have two different undo files so both can be run side by side? | | |
| ▲ | jeremyjh an hour ago | parent [-] | | Exactly and I think it does this by default now, but I have not checked. |
|
| |
| ▲ | jeremyjh an hour ago | parent | prev [-] | | It absolutely is another program, I can tell this because it has a different name. To run it I type "nvim" instead of "vim". I use different config files to control its behavior. I install a different package on my system when I want to use it on a new computer. |
|
| |
| ▲ | pdonis 2 hours ago | parent | prev | next [-] | | > giving away free software as a gift Even a gift comes with an implicit promise that it will do no harm. Deleting important data of yours without warning is harm. | | |
| ▲ | timschmidt an hour ago | parent [-] | | This gift comes with the following clauses listed plainly in the license file: 7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
| | |
| ▲ | InsideOutSanta an hour ago | parent | next [-] | | It's genuinely mind-blowing to me that software can do something obviously bad, someone can point it out, and then someone will link to the license file to say they have the right to do it. That's such an obvious category mistake that I'm not sure how to respond. It almost feels like a bad-faith interpretation of Wichary's original point. | | |
| ▲ | timschmidt an hour ago | parent [-] | | Equally mindblowing that folks feel someone hacking on open source software has an obligation to do anything the way they feel it needs to be done when the whole point is that anyone gets to do more or less what they want with the code. You can't have both. | | |
| ▲ | retsibsi 27 minutes ago | parent | next [-] | | They get to do more or less what they want with the software, and others get to say more or less what they want about that. What's wrong with deciding they've crossed a line, being bothered by that, and warning others? Nobody's trying to get the law involved, or maliciously retaliate against them, or anything like that. | |
| ▲ | InsideOutSanta 18 minutes ago | parent | prev | next [-] | | I published my comment for free, and yet you are criticizing it. | |
| ▲ | ryandrake 8 minutes ago | parent | prev | next [-] | | I think you are objecting to OP’s “duty of care” wording which could be interpreted as suggesting a legal obligation. Nobody in this thread is really arguing that open source developers have a legal obligation to do this and to not do that. We are just saying they should do this and should not do that. | |
| ▲ | nikanj 17 minutes ago | parent | prev | next [-] | | "My software ran rm -rf / but it's GPL so sucks to be you" | |
| ▲ | Chris2048 19 minutes ago | parent | prev [-] | | > has an obligation to do anything the way they feel it needs to be done > anyone gets to do more or less what they want with the code so if the software had explicitly installed a root kit, you'd say the same? If you give out free soup, you get to poison it too? |
|
| |
| ▲ | jstanley an hour ago | parent | prev | next [-] | | I don't think anyone is looking for legal remedies, this is not the right layer. | | |
| ▲ | timschmidt an hour ago | parent [-] | | Is some part of: "Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE." Unclear? The fact that it's part of a license does not make it a legal-system-only warning. The software might eat your dog, and feed your homework. Run it at your own risk, and be prepared to submit patches or fork it to make it behave the way one prefers. | | |
| ▲ | jeremyjh an hour ago | parent | next [-] | | Is the fact that we are not discussing legal remedies in this thread unclear? | |
| ▲ | _vertigo an hour ago | parent | prev | next [-] | | This is one of the most exhausting (and frankly, exhausted) recurring arguments that comes up over and over again on HN. Some bit of open source software does something bad or unwanted which causes people point out that it shouldn't do that bad thing. In this case, not even "the authors of this software should be held liable for the software doing the bad thing", just, "Hey, the right thing to do would be to update the software to not do the bad thing." Why does this always lead a zillion people to come out of the woodwork to point at licenses and warnings or whatever? Like, yes, there's a warning. Your software having a warning doesn't mean people can't criticize you and your software for doing bad thing. Your software license does not give you immunity from criticism or from people saying you should change your software. No, you don't have to change the software. Yes, other people are within their rights to fork the software themselves. But they can also point out that they told you that your software was doing the bad thing and you didn't fix it or change it, and that as a result they don't like you or your software or both — whatever. Nothing at all wrong with that. | | |
| ▲ | timschmidt 8 minutes ago | parent | next [-] | | I actually think you framed it really well. No parties involved have any particular obligations to each other. Nor should there be expectations otherwise without support. It sucks to lose data, everyone knows that, and no one wants it. And identifying things which can be improved is important. I stop at expecting someone else to do something because I want them to. | |
| ▲ | jeltz 41 minutes ago | parent | prev [-] | | Such a disclaimer does not even remove all legal liability, it just reduces it. |
| |
| ▲ | mikestew an hour ago | parent | prev [-] | | The software might eat your dog, and feed your homework Sure, and when it does we can say “this piece of shit ate my dog, and the authors of the software have no concept of a duty of care to their users”. And no amount of “well, axually…” is going to make any difference. I have a hard believing someone is copy-pasting a license file in good faith in response. | | |
| ▲ | timschmidt an hour ago | parent [-] | | Most open source software is written by individuals who aren't paid for the effort, and are solving their own problems. Presuming that they feel an obligation to the folks who download and use their work for free seems... bold. If my neighbor mows my lawn for free, I'm not going to complain about his workmanship. If I want the job done a particular way, the solution is to do it myself, or pay someone to do it the way I like. | | |
| ▲ | leoc 21 minutes ago | parent | next [-] | | Suppose that you build a childrens' slide in your front garden. You put up a big sign saying "Consider using my slide! https://neovim.io/ Here are several wonderful things about it. It's free for everyone!" in your yard. Underneath in smaller letters you add "[No liability]". You also put up noticeboard ads for your free kids' slide in neighbourhood shopping malls https://launchpad.net/ubuntu/+source/neovim https://wiki.archlinux.org/title/Neovim . Unfortunately, when you built the slide, you left sharp metal edges and corners sticking far up on the inside, reaching into the path of the user. No reasonably competent and diligent metalworker or slide-maker would have failed to notice these major flaws or failed to understand the serious danger they represented. Several neighbourhood children use the slide and receive serious gashes to the legs, arms or face, and have to go to the hospital. Even assuming that your no-liability small print somehow had you free and clear legally, do you believe that your behaviour would have been ethically and morally above all criticism? Do you think that "should have read the small print!" or "can't I build what I like in my own front yard?!" would have you covered? Do you think that your family and friends would agree? | |
| ▲ | retsibsi 17 minutes ago | parent | prev | next [-] | | > If my neighbor mows my lawn for free, I'm not going to complain about his workmanship. If I want the job done a particular way, the solution is to do it myself, or pay someone to do it the way I like. I think this is a decent analogy, but it works better the other way. If my neighbour offers to mow my lawn, I accept, and then he destroys the flower bed adjacent to the lawn, I will be upset, and I will have every right to complain about what he did. If he reacts by blithely dismissing my concern, then I certainly have the right (and arguably the obligation) to warn others that they should think twice about accepting his offers of gardening assistance. Some expectations reasonably go without saying; "don't destroy my flower bed when mowing my lawn" is one, and IMO "don't destroy my data without a clear warning and a chance to back out" is another, though of course we might disagree about exactly where this does and doesn't apply. | |
| ▲ | rdiddly 23 minutes ago | parent | prev | next [-] | | If my neighbor mows my lawn for free, and in the process mows my flower garden down, things change a bit though don't they. That is a closer analogy. In that case I am going to complain, and maybe also tell everybody he's careless and not to let him near their lawns. | |
| ▲ | tikhonj an hour ago | parent | prev [-] | | If my neighbor mows my lawn and ruins my whole garden, I'd definitely complain. (And if I were in the neighbor's shoes, I'd feel awful about it and try to fix things.) |
|
|
|
| |
| ▲ | bunderbunder an hour ago | parent | prev | next [-] | | There's a long literary tradition of representing contracts as a tool of villainy. Signing them is generally treated as a Faustian bargain. This is a great example of why. Most humans have a sense, deep down, that contracts often exist to bridge the gulf between the ethically defensible and the legally defensible. It's hard to imagine that any sane person who is just looking to use a popular editor would read some broad limitation of liability language like the above, and interpret it to mean, "By the way, we intend to quietly delete certain files created by a competing fork of this project whenever we find them." It's true that contracts with liability limitation clauses like this are an absolute necessity in this day and age. But there's also a non-legal principle of mutual respect that is absolutely necessary to a healthy open source community. | | |
| ▲ | timschmidt an hour ago | parent [-] | | > It's hard to imagine that any sane person who is just looking to use a popular editor would read some broad limitation of liability language like the above, and interpret it to mean, "By the way, we intend to quietly delete certain files created by a competing fork of this project whenever we find them." Forks of projects trodding all over each others files is one of the more common problems that has happened, historically. Prior to the major efforts around freedesktop.org around configuration standardization, it was quite common. It'd be one of the first things I looked for when switching to a fork. | | |
| ▲ | bunderbunder 31 minutes ago | parent [-] | | I’m not saying it doesn’t happen. I’m saying it shouldn’t be defended as good. It’s a defect. And in this particular incarnation it’s a defect that directly clashes with fundamental Free Software principles such as personal digital sovereignty. I also suspect that few people actually believe it’s ok and these legalistic defenses are more about circling the wagons. How many people would defend Microsoft if a new Office version automatically and quietly stripped edit history from documents that were originally created by other versions? Would we be hunting for limited liability clauses in their EULA to defend the design decision? |
|
| |
| ▲ | jeremyjh an hour ago | parent | prev [-] | | I am never going to use any software you have written. |
|
| |
| ▲ | zbentley an hour ago | parent | prev | next [-] | | “Here, take this car, it’s free!” “Ow, the gas pedal is actually a bear trap.” “Why are you complaining? It’s free!” | | |
| ▲ | k6hkUZtLUM an hour ago | parent | next [-] | | This is a very apt analogy. If you give someone a car (or sell it cheap) and you know there is a problem with the car, then it is your duty to tell them. "Hey, I've been having trouble with the breaks they need to be pumped. Be careful about that." | |
| ▲ | dima55 an hour ago | parent | prev [-] | | Then you don't take the car. Why is this confusing? | | |
| ▲ | leoc an hour ago | parent | next [-] | | That's not how liability works, not either morally or (IANAL) legally. | |
| ▲ | jstanley an hour ago | parent | prev | next [-] | | Because you didn't find out it was a bear trap until after you stepped on it? | |
| ▲ | InsideOutSanta an hour ago | parent | prev | next [-] | | Ah, yes. The old story of the one-footed man who didn't take the car. | |
| ▲ | Espressosaurus an hour ago | parent | prev | next [-] | | Well I would feel slightly irate if I had to find out about the bear trap before I decide I don’t want the car. | |
| ▲ | mcphage an hour ago | parent | prev | next [-] | | That’s fine, you can leave the car, but you’ve already lost your foot. Why do you find this confusing? | |
| ▲ | WesolyKubeczek an hour ago | parent | prev [-] | | You discover it’s a bear trap not before you try to pull out from the parking lot. |
|
| |
| ▲ | layer8 2 hours ago | parent | prev | next [-] | | A duty, like a responsibility, can be something you feel or choose for yourself. The fact that the maintainers of some software don’t feel it is a perfectly good argument for not using that software. There is no necessary connection to compensation or transactional thinking. | |
| ▲ | bsoqk 2 hours ago | parent | prev | next [-] | | If I give away food I have a duty not to poison you. It doesn’t matter you didn’t pay for it. | | |
| ▲ | thih9 2 hours ago | parent | next [-] | | Others are eating it and are fine, chances are you’re allergic. Fortunately all ingredients are listed, you can check - or even modify the recipe yourself. | | |
| ▲ | Chris2048 11 minutes ago | parent [-] | | > Fortunately all ingredients are listed How does this translate to the vim situation? | | |
| ▲ | retsibsi 4 minutes ago | parent [-] | | The point would be that it's open source. And "chances are you're allergic" translates to "your use case / expectations are unusual". But in my opinion the analogy doesn't hold well at all, because destroying a persistent undo file without warning is pretty obviously incorrect and unexpected behavior. |
|
| |
| ▲ | ToucanLoucan 2 hours ago | parent | prev | next [-] | | It's not poison, it's a broken feature. And you have the source code. Fix it if you like. | | |
| ▲ | pdonis an hour ago | parent [-] | | Sure, and then have it break again the next time upstream pushes a change. Or have something else break because upstream doesn't care about breaking things that I'm relying on. The only way to "fix" this from a source code perspective would be to fork Neovim. |
| |
| ▲ | Grombobulous 2 hours ago | parent | prev [-] | | Software isn’t food. | | |
| ▲ | pdonis 2 hours ago | parent | next [-] | | So software that deletes important data of yours without any warning is ok because at least it isn't poisoning you? | | |
| ▲ | brookst an hour ago | parent [-] | | If you have to twist things so far that intent doesn’t matter, something’s wrong. | | |
| ▲ | jeremyjh an hour ago | parent [-] | | According to TFA, it was completely intentional that they deleted someone’s data that had been created with a different program. Otherwise they would have acknowledged it was a bug. I do not know if this is true, only that it is what TFA claims. | | |
| ▲ | Grombobulous 43 minutes ago | parent [-] | | It’s not great that Neovim destroyed/replaced files that aren’t clearly under its purview. They should have probably also made the consideration that a lot of Neovim users are going to be migrating from Vim. Maybe if they’re making their own persistent undo standard, use different file naming conventions. That said, as a fork of Vim, maybe the Neovim authors are at least partially reasonable in assuming that you’re not running multiple forks of Vim that could then potentially conflict with each other. It just sucks that they never really thought of a migration path for this particular feature. |
|
|
| |
| ▲ | bigstrat2003 an hour ago | parent | prev | next [-] | | Yes, everyone is aware of that. The parent poster was bringing up the example of food to demonstrate that our society does not agree that giving something away for free doesn't mean you have no obligation as to potential adverse effects of the thing. | | |
| ▲ | Grombobulous an hour ago | parent | next [-] | | Analogies like this don’t work when comparing against heavily regulated industry. Neovim being free software is a lot different than United Airlines giving me a free flight or my doctor giving me a free consultation. It’s very true that you can go to civil court and make a claim that a business or individual harmed you. If you do that with Neovim the judge is going to pretty quickly read bullet point #7 of the Apache 2.0 license, you’re going to struggle to prove any kind of mal-intent, you’re going to tell the judge that you paid $0 for the software, and you’ll be pretty quickly sent along your way with no damages awarded. | | |
| ▲ | TheOtherHobbes an hour ago | parent [-] | | Only in the sense there's no explicit legal responsibility. Do you really believe developers have exactly zero moral responsibility to their users? None at all? Really? Would you still believe that if you found the developers of ssh deliberately included a backdoor for hackers, or neovim was uploading everyone's code to the NSA? | | |
| ▲ | Grombobulous an hour ago | parent [-] | | I never said developers have no responsibility. Let’s not escalate. Now we are talking about actively malicious software versus a bug or design flaw. This issue with Neovim sounds like less than ideal design, or a bug, or both, not some kind of intentional affront to users. |
|
| |
| ▲ | Ekaros an hour ago | parent | prev [-] | | That is why software should have very large liability for anything software they release do? Say your software due to bug destroys some document. Surely you should pay damages caused by such bug even if quite high? |
| |
| ▲ | bsoqk 2 hours ago | parent | prev [-] | | You must feel clever completely missing the point on purpose like that. | | |
| ▲ | InsideOutSanta an hour ago | parent | next [-] | | "Your analogy is false because the two things you are comparing are not literally the same, dear sir!" is such a classic Internet discussion trope that it must have a name. If it doesn't, can I please name it? Maybe Perfect Analogy Fallacy? | | |
| ▲ | Grombobulous an hour ago | parent [-] | | But they couldn’t be further from different. You have to have a health inspector visit your kitchen just to sell food at all. You need affirmative permission from the government to sell food. | | |
| ▲ | InsideOutSanta 15 minutes ago | parent [-] | | The original analogy was not about selling food: > If I give away food I have a duty not to poison you. It doesn’t matter you didn’t pay for it. If I invite you to eat at my house, there is no health inspector and no government. I'm just giving you free food. Would you agree that I have a duty not to poison you in that case? |
|
| |
| ▲ | Citizen_Lame an hour ago | parent | prev | next [-] | | This guy you are arguing with is classic troll, he does it on every topic. Just ignore and don't reply. | | |
| ▲ | jeltz an hour ago | parent [-] | | Yeah, people like him is what the doenvote button is intended for. |
| |
| ▲ | Grombobulous 2 hours ago | parent | prev [-] | | Food is one of the more heavily regulated industries out there. Most other general business types are less regulated than food. |
|
|
| |
| ▲ | jeremyjh an hour ago | parent | prev | next [-] | | They wrote this software with the explicit intention of offering it to other people to use. Their program deleted data created with a different program, on someone else’s computer. If they have no sense of duty that would preclude doing that, no one should use their software. | |
| ▲ | rwmj 2 hours ago | parent | prev | next [-] | | This is absolutely true. On the other hand, if there's Vim, Neovim, emacs, MS Word, Google Docs etc and some treat me with respect and others do not, that might affect my choice of which software to use. | |
| ▲ | Snarwin 2 hours ago | parent | prev | next [-] | | Sure. And likewise, users who care about backwards compatibility have no duty to do anything for the Neovim developers--they can simply use a different editor that suits their preferences. | | |
| ▲ | JacobKfromIRC an hour ago | parent [-] | | Is there a good way to avoid programs like this in general? | | |
| ▲ | boredumb an hour ago | parent [-] | | You buy software that includes a commercial license that guarantees data retention | | |
| ▲ | jeltz an hour ago | parent [-] | | So that answer us no because such software does virtually not exist. |
|
|
| |
| ▲ | TheOtherHobbes an hour ago | parent | prev | next [-] | | "Behold my glorious generosity, which eclipses your petty meaningless little data!" This is the extreme version of "I enjoy coding but I hate users." It may be legally valid in absolute technical terms, but I'm going to take a lot of persuading that it's a healthy attitude. | |
| ▲ | gozzoo 2 hours ago | parent | prev | next [-] | | > They are open source developers, giving away free software as a gift. There is no duty here. But actually there is! They didn't start from scratch. They took another very successfull and beloved project with the promise "to make it better". There is some promise here and the duty not to make it worse. | | |
| ▲ | margalabargala an hour ago | parent | next [-] | | "Better" is subjective. They made it better...for themselves. Then gave it away so people who share their opinion, had the opportunity to choose to use it. | | |
| ▲ | macintux 11 minutes ago | parent [-] | | > Then gave it away so people who share their opinion, had the opportunity to choose to use it. How many neovim users were made aware that the software would proactively delete their decade-long file history? |
| |
| ▲ | owebmaster 2 hours ago | parent | prev | next [-] | | It would be really surprising if they could make it better for literally every user. The perpetual undo is just better handled by git. | |
| ▲ | brookst 2 hours ago | parent | prev [-] | | And this obligation lasts… for the rest of their lives? |
| |
| ▲ | ryandrake an hour ago | parent | prev | next [-] | | HN commenters constantly mistake “what I should do” with “what I am obligated to do.” Nobody is saying open source developers are legally mandated to be careful with user data. We are saying they should. There’s no need to haul out the license and put our lawyer hats on here. One can be within one’s legal rights and still be wrong. | |
| ▲ | bestouff 2 hours ago | parent | prev | next [-] | | Sure. And nobody has a duty to use it.
This user states that (s)he doesn't want to use an editor that doesn't care for its users. I don't blame anyone here. | |
| ▲ | novia 2 hours ago | parent | prev | next [-] | | If people can be upset when llms delete a file, we can be upset when an open-source project deletes a file. | |
| ▲ | xboxnolifes an hour ago | parent | prev | next [-] | | Ill remember this when I distribute malware. | | |
| ▲ | sdcfgy an hour ago | parent [-] | | To be fair some malware has a better support and care experience than some open source software. The malware actively encourages you to contact them to pay the ransom. The open source software, no such luck. |
| |
| ▲ | xbar 2 hours ago | parent | prev | next [-] | | Oh my. This set of principles is appropriate for malware. | | |
| ▲ | manvillej 2 hours ago | parent [-] | | If you don’t like how it works, go build your own. | | |
| ▲ | jeltz an hour ago | parent [-] | | I already build software where I hold myself to a higher standard than malware, so not sure I get your point. Why not strive for a better world with good software? | | |
| ▲ | manvillej 30 minutes ago | parent [-] | | Your suggestion that it is malware is misleading. Malware is “any software intentionally designed to harm, disrupt, or steal data from computers”. I sincerely doubt that was the author’s intention. Everyone in open source is trying to write good software and the definition of good is subjective depending on overall design, features, ease of use, quality, and performance. If an open source project is missing a feature, go build it. If the project maintainers don’t want it, fork the project. Be the change you want to see in the world. That’s the beauty of open source. | | |
| ▲ | Chris2048 3 minutes ago | parent [-] | | > If an open source project is missing a feature, go build it. > Be the change you want to see in the world. The feature being: don't delete my data belonging by another program? It's kind of too late once deleted isn't it? And now even that other program cannot use the data either. |
|
|
|
| |
| ▲ | diego_moita an hour ago | parent | prev | next [-] | | > giving away free software as a gift. There is no duty here. By that logic, if Facebook gives away their services for free then they don't have the duty to protect their user's privacy and mental health? | |
| ▲ | mindslight an hour ago | parent | prev | next [-] | | By your reasoning, a doctor who volunteers to provide free care to people has no duty of care to those patients. This is patently absurd - ethics and norms are a large part of what constitutes a professional. And for what it's worth, I have flagged your comment for the inevitable pointless bickering it has precipitated. While applying reductionist frameworks and seeing where they lead is a necessary part of an individual's path to understanding, please avoid pushing ignorant assertions ("there is no duty here") as if they might constitute well reasoned truths. | |
| ▲ | sdcfgy an hour ago | parent | prev | next [-] | | There is not a duty but there is an image and quality issue. Something many open source projects suffer from and should not. And even mentioning that results in "fork it if you're not happy" which immediately turns everyone off who's had to maintain a fork to fix a minor issue in something before. And anyone who can't fork it is being told to go to hell. Everyone needs to quite frankly get off their high horse, crank the ego down and listen to users. Because you're damaging open source with the attitude. 30 years ago, things were better. They got a lot worse, particularly since github appeared. | |
| ▲ | yipinwong 2 hours ago | parent | prev [-] | | You spewing bs like the left-pad dev who removed it from NPM a decade ago crashing everything. Yes, OSS can start with just a passion without a duty, but as the scale grows you have a duty to make sure it does not have adverse effect. If you don't like the duty, just make it die by building it crappy like VIM does. |
|
|
| ▲ | linsomniac 2 hours ago | parent | prev | next [-] |
| >I deleted something from this file, maybe last week Don't forget time travel: `:earlier 7d` |
|
| ▲ | jurf an hour ago | parent | prev | next [-] |
| To be the devil’s advocate here, I think Vim needs less backwards compatibility, not more. In the sanctifying of “muscle memory” it completely stopped innovation, to the point of slowly drifting to obscurity. Of the over a hundred students I taught when I helped out in uni, basically no one wanted to learn it, despite my enthusiasm. And I sympathise. As I get older, I slowly grow more and more distaste for software that does not respect my time enough to give me properly-crafted defaults. Vim, in the age of modern editors, cannot compete. Not without 20 plugins with conflicting shortcuts and its self-imposed cliff of a learning curve. And I’m saying this from a place of love; I’ve been using Vim (at least as a VSCode extension) every day for the last 10 years. But it never really grew up to the promise that the “Vim Creep” essay [1] gave me. [1]: https://web.archive.org/web/20190227031109/https://www.norfo... :wq |
| |
| ▲ | mahboi 36 minutes ago | parent | next [-] | | Vim is always going to be obscure because it's not obvious from looking at it how you use it. Muscle memory is the entire point. You don't need to change any keybinds, and I don't. I did feel discouraged to learn it at first because the people introducing it to me were doing pointlessly fancy things in it, some combination of custom keybinds and scripts to mass edit files. As for default plugins, it'd be neat if they curated a set of optional ones, but nothing should be preinstalled. | | |
| ▲ | jurf 9 minutes ago | parent [-] | | I dream of a Vim that would embrace colours and Unicode and can better communicate modes and context. I dream of a Vim that wóuld guide and teach me how to use it, so that it does not scare away people because they can’t close it. I dream of a Vim that embraces the needs of editing contemporary programming languages and fills in its UX gaps correspondingly (changes single to double quotes, anyone? Function argument order?). I dream of a Vim with native Git gutters. I dream of a Vim with sane default leader commands. I dream of a Vim where I see line numbers by default. I dream of a Vim where “Y” is consistent with other commands. I dream of a Vim that detects correct indentation by default. And that can visualise whitespace. I dream of a Vim where Ctrl+V does not have an assigned action that looks like it blocks input. I dream of a Vim that experiments with keyboard ergonomics, not just mnemonics. I dream of a Vim where quintuple-tapping Escape is not a habit I subconsciously form why learning it. I dream of a Vim I stumble on people discovering and exploring, and not have to persuade people for months just to try it. |
| |
| ▲ | 0xbadcafebee 24 minutes ago | parent | prev [-] | | The simpler and less contentious way to adopt innovations is to make a new tool with the innovation. For example, you might like https://helix-editor.com/ | | |
|
|
| ▲ | spamizbad an hour ago | parent | prev | next [-] |
| "Vibe shift" is all the rage these days but one area where it's most apparent is modern software. People of Raskin's vintage had a very humanist approach to computing. The mentality was very much an outgrowth of the cultural revolution of the 60s. Computer usage should be joyful rather than toiling. The computer should help you. It should make you feel good about what you create. That stands in stark contrast today, where things are more hostile. Not just in terms of "Dark patterns", or writing off user needs for the sake of expediency... but even the way we talk about technology today. You need to use X, do Y or you're "not going to make it" / "escape the permanent underclass". It's bleak. I recently restored a vintage Macintosh SE I picked up at VCF Midwest and despite its limitations that machine was an absolute JOY to use despite its limitations and nearly 40 years of age. This was a machine and software designed by Raskin's contemporaries and it shows. |
| |
| ▲ | creata an hour ago | parent | next [-] | | > but even the way we talk about technology today. You need to use X, do Y or you're "not going to make it" / "escape the permanent underclass". It's bleak. That's just how people market things these days, preying on desperation and fear of missing out. It's not how normal humans talk, I hope. | |
| ▲ | ryandrake an hour ago | parent | prev [-] | | Software’s purpose is clearly shifting from “what’s good for the user” to “what’s good for the developer.” Instead of enabling me, software now seeks to lock me in. Instead of making my life easier, software decisions are made based on what makes developers’ jobs easier. Instead of being careful with my data, software now comes with giant legal terms that allow developers to be utterly careless with it. Software is now designed primarily to funnel money to the developer, not to bring joy to the user. And look at this article’s HN discussion. Many people indignantly defending it. “It’s open source. If you don’t like it deleting your data, don’t use it!” |
|
|
| ▲ | neuodev an hour ago | parent | prev | next [-] |
| Awkwardly speaking, Microsoft Word is a great example of a program that appreciates backward compatibility. |
|
| ▲ | fooblaster 2 hours ago | parent | prev | next [-] |
| How does one use persistent undo in vim? |
| |
| ▲ | fooblaster 2 hours ago | parent [-] | | Talk about poor duty of care to users... been using him for 20 years and I have to enable it in my vimrc to take effect. So stupid. Why would I want this to be off? Such amazing design... " Enable persistent undo
set undofile | | |
| ▲ | layer8 an hour ago | parent | next [-] | | It’s somewhat important for privacy reasons that the feature is opt-in. I don’t know if that’s the reason historically, but I wouldn’t want a text editor to persistently store a copy of everything I type without my consent. It’s almost like a keylogger. Making privacy-sensitive features opt-in is a form of duty of care as well, to avert harm from the user. | | |
| ▲ | phoghed 42 minutes ago | parent [-] | | Edit history in JetBrains being on by default saved my bacon a few times over the years. |
| |
| ▲ | oblio an hour ago | parent | prev [-] | | Emacs and Vim are basically like that. They have very vocal and entrenched users that basically no defaults can be changed lest the single Amiga user will start a huge uproar. And since they don't really have a BDFL or commercial pressure, they can be super detached even from standards or expectations that appeared 40 years ago. Neovim was basically a reaction to that, for Vim, where they updated defaults to stuff basically every Unix editor since 2005 has. |
|
|
|
| ▲ | ProofHouse 28 minutes ago | parent | prev | next [-] |
| VIM should be in the title here as well |
|
| ▲ | bethekidyouwant an hour ago | parent | prev | next [-] |
| That’s why I stopped getting all those swap file messages every time I opened vim… |
|
| ▲ | mindslight 2 hours ago | parent | prev | next [-] |
| Continuing the analogy - rather than a relationship that might even possibly include a duty of care, the relationship of the modern surveillance industry (Faceboot, Google, etc) to its "users" is that of arms manufacturers to military targets. |
|
| ▲ | fatbird an hour ago | parent | prev | next [-] |
| Unsaid in the blog post is that disabling persistant undo is one of the most common config changes for vim users who bother to set things up the way they like. Persistent undo is what causes your filesystem to be littered with tilde files, which have the same name but prefixed with a tilde. Every file you touch with vim gets a tilde version. Your ls output becomes polluted with noise. |
|
| ▲ | philipallstar an hour ago | parent | prev | next [-] |
| > Apparently now they’re platforming white supremacists. I am completely unsurprised. Different facets of the same underlying attitude. This was the end of the original Mastodon. Which is why I just can't with Mastodon or Bluesky. Casually tossing around ridiculous claims to back up an opinion on persistent undo. |
| |
| ▲ | sebzim4500 an hour ago | parent | next [-] | | Are you responding to the wrong post? This isn't anywhere in TFA | | | |
| ▲ | slopinthebag 14 minutes ago | parent | prev [-] | | yea i found that a bit odd to throw in right at the end there. i dont really understand what that means |
|
|
| ▲ | Anduia 2 hours ago | parent | prev | next [-] |
| TLDR: Neovim did a breaking change to persistent undo |
| |
| ▲ | tzs 10 minutes ago | parent | next [-] | | That wasn't the point. The point was they did it in a completely stupid way and responded to a bug report about it in a way that suggested this might not be just the occasional stupid that we've all had slip into our code. | |
| ▲ | jeremyjh 44 minutes ago | parent | prev | next [-] | | That is not the story here. The story is Neovim deleted data created by another program, on someone else's computer. I don't know if this story is true, but you can't defend it when taken at face value. | | |
| ▲ | johnnypangs 2 minutes ago | parent [-] | | Do you have a link to how this happened? From what I understand you’d have to point the undodir at the same place as vim for this to happen? It’s not this way by default and you have to put a copy of the exact same thing in your neovim vimrc right without understanding that it would do this? |
| |
| ▲ | SigmundA an hour ago | parent | prev | next [-] | | I think this might not be clear on the issue, it broke vim's undo file, as in it deleted it and replaced it with Neovims version. Just by trying Neovim you can lose your vim undo file. | | |
| ▲ | sscaryterry an hour ago | parent [-] | | This is the crux of the matter. I wish a few of the "its OSS" commentators here would read this. |
| |
| ▲ | mcphage an hour ago | parent | prev [-] | | …and even trying Neovim out on a file permanently deletes your undo history for that file, even if you switch back to vim. |
|
|
| ▲ | hyperlinerapp an hour ago | parent | prev | next [-] |
| It’s Open source. Some people just want to keep looking at the gift horse in the mouth. |
| |
| ▲ | jeltz 43 minutes ago | parent [-] | | As an open source developer I hate this attitude. If you do not care about the users why are you even releasing the software? | | |
| ▲ | Ekaros 24 minutes ago | parent | next [-] | | Well in these ages of vibecoding. Maybe you are doing it for yourself. Or because you can? Actually caring of users hasn't been very high for most software for long time... | |
| ▲ | phoghed 40 minutes ago | parent | prev | next [-] | | Because they care about a different subset of the users? You can’t make everybody happy. | |
| ▲ | hyperlinerapp 34 minutes ago | parent | prev [-] | | It’s a free country. |
|
|
|
| ▲ | Ekaros an hour ago | parent | prev [-] |
| Of course they do not. Read the licenses. They explicitly tell you that there is no warranty or fitness of purpose. It explicitly tells you that it is not fit for purpose. Expecting it to be is your own duty. |