How to Build a platform that open sources itself
For more than a year, Zed’s remote team has been coding together in Zed. Instead of reviewing diffs, we usually prefer to have conversations about code. Efficient dialog about any line in the codebase has become an important capability for our team. So important, in fact, that we really want to scale it.
We’ve decided to build a platform designed for open-sourcing itself. Let me say that another way: We’ve decided to open source Zed… on Zed.
Step one is to open up public coding channels. This should be a straightforward ship, and we’re working on it now. Day one, you’ll be able to listen in, watch us code, and chat with us via text. Maybe we could even hand you a mic and let you edit our code.
Step two, which we’ll build in #zed, is text-based conversations that link to persistent code annotations. We can already locate a specific character in every version of a document, but we need to persist these annotations to support async workflows.
Once we support async workflows, we’ll be ready to accept async contributions in Zed, so that’s when we plan to open source it.
To contribute, you’ll create a channel where you can discuss your goals with the staff and community. You’ll talk about code as you code, linking to it with persistent annotations as you do so. Ask questions, join an existing conversation, @-mention a friend, or just share your thoughts. By communicating earlier and in a more focused way, we’re hopeful that Zed will coordinate contributions more efficiently. Luckily, the first focus of our coordination will be on improving coordination itself.
We’ve been working toward this for a very long time, and we hope you’ll join us for the rest of this journey.
Zed’s panel system has been reworked to allow for more customization and flexibility. Previously, Zed’s project panel was fixed to the left side of the application, and what was previously referred to as the “dock” (a place where terminal tabs lived) could be placed on the right side of the application, along the bottom, or opened up in a modal window. As of v0.88.0, Zed now has three docks: a left dock, a right dock, and a bottom dock. The project panel can be placed in the left or right dock, and what is now called the “terminal panel” can be placed in any of the docks.