66 comments

  • recursivedoubts 34 minutes ago

    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.)

      rlue 22 minutes ago

      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 20 minutes ago

        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 13 minutes ago

          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.

      pdonis 24 minutes ago

      > 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 16 minutes ago

        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.
          jstanley 13 minutes ago

          I don't think anyone is looking for legal remedies, this is not the right layer.

            timschmidt 5 minutes ago

            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.

      layer8 21 minutes ago

      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.

      zbentley 20 minutes ago

      “Here, take this car, it’s free!”

      “Ow, the gas pedal is actually a bear trap.”

      “Why are you complaining? It’s free!”

        dima55 16 minutes ago

        Then you don't take the car. Why is this confusing?

          leoc 4 minutes ago

          That's not how liability works, not either morally or (IANAL) legally.

          InsideOutSanta 4 minutes ago

          Ah, yes. The good old story of the one-footed man who didn't take the car.

          jstanley 12 minutes ago

          Because you didn't find out it was a bear trap until after you stepped on it?

          WesolyKubeczek 12 minutes ago

          You discover it’s a bear trap not before you try to pull out from the parking lot.

      Snarwin 23 minutes ago

      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 8 minutes ago

        Is there a good way to avoid programs like this in general?

      bsoqk 29 minutes ago

      If I give away food I have a duty not to poison you. It doesn’t matter you didn’t pay for it.

        Grombobulous 28 minutes ago

        Software isn’t food.

          pdonis 26 minutes ago

          So software that deletes important data of yours without any warning is ok because at least it isn't poisoning you?

            Grombobulous 19 minutes ago

            Analogies don’t work in apples to orange comparisons.

            It is standard practice in software to offer zero warranty and even explicitly go as far to say that the software isn’t even being offered on the basis of being fit for its designed purpose.

            Software is one of the least regulated products you can buy, much less than food.

            I don’t think it’s Neovim’s fault that an unfamiliar user didn’t test their workflow before using it with important data.

            Apache 2.0 license (Neovim)

               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.
            brookst 18 minutes ago

            If you have to twist things so far that intent doesn’t matter, something’s wrong.

          bigstrat2003 15 minutes ago

          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 13 minutes ago

            My point is that 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.

          bsoqk 25 minutes ago

          You must feel clever completely missing the point on purpose like that.

            Citizen_Lame 11 minutes ago

            This guy you are arguing with is classic troll, he does it on every topic. Just ignore and don't reply.

            Grombobulous 23 minutes ago

            Food is one of the more heavily regulated industries out there. Most other general business types are less regulated than food.

        thih9 22 minutes ago

        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.

        ToucanLoucan 23 minutes ago

        It's not poison, it's a broken feature. And you have the source code. Fix it if you like.

          pdonis 17 minutes ago

          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.

      xboxnolifes 6 minutes ago

      Ill remember this when I distribute malware.

        sdcfgy a few seconds ago

        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.

      rwmj 23 minutes ago

      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.

      bestouff 24 minutes ago

      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 21 minutes ago

      If people can be upset when llms delete a file, we can be upset when an open-source project deletes a file.

      gozzoo 24 minutes ago

      > 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 15 minutes ago

        "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.

        owebmaster 23 minutes ago

        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 21 minutes ago

        And this obligation lasts… for the rest of their lives?

      xbar 27 minutes ago

      Oh my. This set of principles is appropriate for malware.

        manvillej 25 minutes ago

        If you don’t like how it works, go build your own.

      mindslight 17 minutes ago

      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.

      minimaxir 21 minutes ago

      The MIT License even has this in ALL CAPS:

      > The software is provided “as is”, without warranty of any kind, express or implied

      yipinwong 20 minutes ago

      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.

      sdcfgy 13 minutes ago

      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.

  • dlisboa 25 minutes ago

    > 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 23 minutes ago

      Deleting important data without warning is not the same as not providing a feature users might want.

  • sdcfgy 15 minutes ago

    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.

      WesolyKubeczek 10 minutes ago

      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 7 minutes ago

        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.

  • natbennett 36 minutes ago

    I was also a very early user of Neovim.

    The way I personally remember it being positioned was “Vim, but with breaking changes.”

  • gavinhoward 29 minutes ago

    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...

  • skybrian 26 minutes ago

    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.)

  • spamizbad 18 minutes ago

    "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.

      ryandrake 2 minutes ago

      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!”

  • hyperlinerapp 12 minutes ago

    It’s Open source.

    Some people just want to keep looking at the gift horse in the mouth.

  • neuodev 17 minutes ago

    Awkwardly speaking, Microsoft Word is a great example of a program that appreciates backward compatibility.

  • linsomniac 34 minutes ago

    >I deleted something from this file, maybe last week

    Don't forget time travel: `:earlier 7d`

  • fatbird 10 minutes ago

    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.

  • fooblaster 26 minutes ago

    How does one use persistent undo in vim?

      fooblaster 25 minutes ago

      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 10 minutes ago

        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.

        oblio 19 minutes ago

        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.

  • mindslight 20 minutes ago

    Continuing the analogy - rather than a relationship that could 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.

  • Anduia 32 minutes ago

    TLDR: Neovim did a breaking change to persistent undo

  • jurf 14 minutes ago

    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