Terms of use and open source

This post is an excerpt from the mission statement included in the editor documentation.

What is the problem with the Zed end user license agreement, and why did I feel strongly enough about not wanting to accept it to create a fork of the editor?

At first, the promise of Zed seemed alluring. I moved from Emacs to Neovim because I started coding in Rust, and using the Rust LSP in Emacs was a very frustrating experience at the time. Whenever the LSP did any work the editor would freeze, drop keystrokes or otherwise behave badly.

Neovim was better in this aspect, but as soon as I worked on any larger rust project I would have the same kind of experience. Not good. At the same time, more and more languages assume that the editor can use a language server and don't even try to support editors without it.

When Zed appeared, promising an actually fast and smooth editing experience able to handle large Rust projects without getting bogged down, and also came with good support for Emacs- and Vim-style editing, it seemed like exactly the thing that I ought to try.

However, I never even managed to get the editor installed. When I tried to download and install the binaries from the Zed website or Github page I would get presented with the Zed End User Terms. To install, I would have to accept them.

So, I read the terms!

The quotes below are excerpts from the Zed End User Terms.

PLEASE READ THESE TERMS AND CONDITIONS CAREFULLY BEFORE USING THE SERVICE OR SOFTWARE OFFERED BY ZED INDUSTRIES, INC. ("ZED", OR "WE"). BY ACCESSING OR USING THE SOLUTION (AS DEFINED BELOW) IN ANY MANNER, YOU ("YOU" OR "CUSTOMER") AGREE TO BE BOUND BY THESE TERMS (THE "AGREEMENT") TO THE EXCLUSION OF ALL OTHER TERMS.

My (non-lawyer) interpretation of this section is that if I agree to these terms, I am waiving my right to use any software by Zed Industries under any other license. Does this mean that I could no longer use any of the code from Zed under an open source license, if the rights afforded by that license contradicts these terms? That is my interpretation.

Let's read on, to section 2 "TERMS APPLICABLE TO THE EDITOR", paragraph 2.2, "License Limitations":

You agree that You shall not: (a) exceed the scope of the licenses granted in Section 2.1; (b) make copies of the Editor; (c) distribute, sublicense, assign, delegate, rent, lease, sell, time-share or otherwise transfer the benefits of, use under, or rights to, the license granted in Section 2.1; (d) reverse engineer, decompile, disassemble or otherwise attempt to learn the source code, structure or algorithms underlying the Editor, except to the extent required to be permitted under applicable law; (e) modify, translate or create derivative works of the Editor; or (f) remove any copyright, trademark, patent or other proprietary notice that appears on the Editor or copies thereof.

...

You shall not [..] make copies of the Editor

...

You shall not [..] reverse engineer, decompile, disassemble or otherwise attempt to learn the source code, structure or algorithms underlying the Editor

...

You shall not [..] modify, translate or create derivative works of the Editor

...etc.

I cannot try to learn the source code, structure or algorithms underlying the Editor? I cannot create derivative works?

I couldn't accept it. I didn't want to agree to any of it. So I gave up.