‹ BackHN Continuity

Thread

On caring for user data: NeoVim caused Vim undo files to be deleted

384 points · 346 comments · jandeboevrie

  1. recursivedoubts · · focus · HN ↗
    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.

    1. pdonis · · focus · HN ↗
      > 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.

      1. timschmidt · · focus · HN ↗
        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.
        1. bunderbunder · · focus · HN ↗
          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.

          1. timschmidt · · focus · HN ↗
            > 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.

            1. bunderbunder · · focus · HN ↗
              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?

              1. timschmidt · · focus · HN ↗
                > I’m saying it shouldn’t be defended as good.

                Thankfully, that's not a thing I ever did.

                > I also suspect that few people actually believe it’s ok and these legalistic defenses are more about circling the wagons.

                For me it's more about healthy boundaries and expectations. If I'm somehow paying for a project's development, I have higher expectations. If I'm not, I understand that I've chosen the dev/test track and there will be bugs and issues. The developer may choose to run off in an odd direction coughGnome3cough and my only recourse is to fork or hope someone else does. Disagreements as to how things should work happen pretty often.

                I'm not defending anything or anyone. Just describing the system as it exists.

Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.