Zed: The Next Phase

When I started the Zed project about a year ago I intended to build an editor just for me: something minimal, simple and stable. Writing something for myself seemed a natural thing to do after spending about a year and a half having a job building an IDE: once you’ve built your own tools, there’s no going back. Also, having built this sort of thing before (although not from “scratch”), it was fairly quick to get something working.

Over the past year, Zed has been the ultimate piece of dogfood-ware for me — my own personal playground that allowed me to iterate on lingering ideas I had on improving code editing. Since people asked why I created yet another editor, over time I distilled some principles behind the design of Zed.

Screenshot The past half a year I’ve been using Zed full-time and I’ve been very happy with it. And I’m not the only one. The Google Chrome Web Store (Zed currently runs as a Chrome app) tells me there are well over 4000 “weekly users”, and the reviews are generally very positive. Now I take the 4k number with a grain of salt, but clearly, this is no longer a 1-person audience editor. The number of community contributions has also increased lately and there appears to be a growing number of users that don’t just like Zed as a cool “look what web tech can do” demo, but really love Zed as an editor, and see it as a modern-day Emacs or Vim: minimalist, powerful and extensible.

However, with a full-time day job at work, and full-time night job as a parent, there isn’t always much time to spend on Zed. At least not as much as I’d like. And I have so many cool ideas I still want to implement.

It’s time to fix that.

I’m making Zed my day job

So, I’m going to try something radical. As of today, I’m making Zed my day-time job.

I’ve launched a company to further develop Zed, with the goal to, over time, earn enough money on it to support me and my family, and to continue developing Zed into something great.

While an obvious option to make Zed profitable would be to make it proprietary and sell licenses, I won’t be doing that. I think there’s a lot of value for users in the fact that their editor is open source, in terms of hackability and longevity. Also, since I’m a company of one — for the foreseeable future — I think the best way to compete is if when the community helps out with enhancement and bug fixes, as it does already. So, Zed will remain open source.

Sustainable Open Source

I’m going to try making a living working on open source. I have not fully decided how I’ll attempt this, so all ideas are welcome. However, my current plan is the simplest and most transparent thing possible: ask users to pay. If you use Zed and get value out of it, support me financially to support further development. Just as you would for regular commercial software, pay for Zed as well.

While possibly naive, this seems like the cleanest way to sustainability of this type of project. I don’t want to do open core, or do weird in-editor ads (which people would be able to easily remove anyway). Consulting around Zed also doesn’t seem to make much sense. Again, tips or suggestions, are welcome, so get in touch.

Why would you pay for an editor?

So why would you pay for an editor when you can get Vim, Emacs, Notepad++ and Gedit for free?

As I see it, the cost of software has very little to do with purchase price. If a piece of software just makes you 1% more productive compared to not using the software, and you earn, say, $40/hour and use it 40 hours a week (developers tend to use their editors close to full-time), very quickly this software is worth $70/month. Or rather, not using that piece of software costs you $70/month. Zed will be significantly cheaper than that, price wise.

Are you as productive using your “free” software as you are/will be with Zed? My challenge is to make the answer to that question a resounding “no.”

As a bonus, in contrast to proprietary editors like Sublime and most Jetbrains IDEs, Zed is 100% open source, so you can read the source code, enhance it, fix it, break it and learn from it. Even if I or my company will go away, Zed won’t, if somebody cares enough about it to develop it further. So it’s a more lasting investment than paying for a commercial alternative.

Of course, this being open source, there’s no way to enforce anybody to pay a dime. So what if people don’t? That will mean that when my savings run out I will have to go back to a regular day time job. As a result, Zed development will slow down again. This tool that your rely on won’t improve at the same pace anymore. Me unhappy, you unhappy. If instead lots of people contribute, possibly I can hire a second person, third, fourth. Who knows. Result: Zed will get even awesomer.

It’s all in your hands.

Can’t some random person fork the project and attempt same thing? Yep. Worse, they can fork the project, and create a proprietary version and start selling it. I’m just assuming people are decent and respect my and the community’s work. That’s what this whole open source thing is all about, or so I understand.

So, what cool features will we get?

I have loads of things I want to do, but the only one I want to commit to right now is a stand-alone version of Zed. Zed currently is only available as a Chrome packaged app. So you need to use Chrome to run it. This is fine, but not everybody likes it. It also limits OS integration somewhat.

The stand-alone version will be built on top of node-webkit and be available for Mac, Windows and Linux. Once the initial work there is done, both version should continue working from the same code base, so I should be able to support two versions (Chrome App and standalone) without much effort.

There are many more things I will finally have time for, but I’ll talk about those over time. Those familiar with my background can probably guess what direction I could take.

Sign me up!

I’m still working out ways for users to support this project, but one that’s available for those who want to support the project right away is my Gittip account. I’m going on a stretch here and am willing to accept Gittips from people who do not currently use Zed, but are excited about the dream and want to find out where this is going. I know, I’m a very generous that way. Also, if you or your company are interested in supporting this effort and don’t want to use Gittip, get in touch. And if you haven’t already, give Zed a try and report any bugs you may find.

I’m very excited, and frankly, a bit scared to take this step. But I’ve also been looking forward to it for a long time.

Let’s make Zed even more awesome!

Watch this blog, my twitter account, or Zed’s twitter account and subscribe to the Google Group for regular updates!

Discussion on Hacker News and Reddit.

33 Comments

 Add your comment
  1. very exciting, and amazing that you’re turning this into a full time gig. Really hope it works out, as I’ve been contemplating taking the same path. best of luck to you sir!

    I’ve never used Zed, but I will now make an effort to giving it a go.

  2. Saw this on HN, and I would’ve commented there, but they seem to be having problems with their site…

    I’m really excited about this and I look forward to following Zed’s development!

    The first feature I looked for were macros, and, to my surprise, they’re there! The first couple of things I tried worked wonderfully, but when I tried to create some more complex macros, I ran into trouble…

    It doesn’t appear that the “find” (Command+F) command is properly recored in macros. For example, if I press this sequence of keys:

    Command+Alt+E
    Command+F

    Enter
    Backspace

    Command+Alt+E

    … I would expect that I just defined a macro to that would jump to the next double quote, delete it, and replace it with a single quote. Instead, it appears that the find dialog is left open and the cursor moves an arbitrary distance to the left.

    As far as I can tell, there’s no way to repeat macros. In Emacs, M-0 Ctrl-Shift-E will run a macro until it encounters an error (like trying to move down to a line that doesn’t exist). As a side note, if I create a macro with a down-arrow in it, and run it at the bottom of the file, there isn’t an error.

    Anyhow, greatly looking forward to how this project progresses. Keep it up!

    • Ah! After looking at the code on Github, I see that the macro recording functionality seems to call a few methods from Ace. I imagine that my key presses, upon replaying the macro, were being sent to Ace, and not to whatever Zed uses to process key presses. This seems like something that could be very easy to fix, or very difficult to fix, but nowhere in between….

  3. I hope you think about helping Chromebook users. We have quirky keyboards and we need keyboard shortcuts that are more compatible with our setup.

  4. I’m going to try making a living working on open source.

    good luck with that and our entitlement culture

  5. I for one and extremely excited to see an IDE as a chrome packaged app! Thanks for all your hard work!

  6. That sounds nice, but how will it be any different from https://atom.io/ ?

  7. If you really want to earn money on this, you should really consider taking Bitcoin payments/donations. This community is very well known for this (see Nothing to Hide game as an example).

    • The implication here is that Bitcoin is a more popular form of currency than government-backed dollars or Euros.

      I’ll just leave that right alone, other than to say that I’m a developer, an early adopter, I have disposable income, and I will never touch Bitcoins.

  8. I’m very excited about this and whish you all the luck!

  9. IMO, from a lean standpoint, I would have developed a marketing plan for convincing companies and their engineers of why your editor will save so much time. If you can’t do that, then you’ll have no buyers for your gold

  10. Can you paste images into the text? This is something that should be possible with a DOM based editor. The ability to paste images makes it easy to include good documentation into the source code.

  11. Hello Zef,
    It doesn’t seem like a good idea to me for you to quit your job and then start trying to make money from the Zed editor. You need to maintain your employment until you have found a way to monetize that piece of software.

    With that said, I have happily purchased several text editors in the past including TextPad, e-TextEditor and lastly Sublime Text. If Zed were a better option than Sublime, then I and probably many other people would be willing to buy licenses for it.

  12. Zef,

    I have a suggestion that might give you some ideas for how to make a living off this. Some open source companies make most of their money by selling subscriptions for supported versions of their software. In a similar ilk you might be able to offer your support for issues users run into, like bugs or desired features. Of course since it is open source anyone is free to fix the bugs or add new features. However, you have the advantage of being most familiar with the product, so that is why your work is valuable.

    Here’s how I imagine this might work. An end user wants a new feature. They’re willing to pay a little money to get the feature. They offer you that money to implement that feature. Maybe you can provide a platform where many users can get together to request and raise funds for a desirable feature. Just some ideas that are not fleshed out at all but might inspire something useful for you.

  13. Stop assuming, use the GPLv3+ on Zed :)

  14. Good luck Zef, very cool and bold move :-))

    Another business model you could try is training people to use Zed (with workshops, a blog and a book), just like Drew Neil of Vimcasts.org is doing.

    I will try Zed.

  15. First of all: Nice project! I always like these kind of things. Then two comments about the money:

    1) Don’t force it on the user, but why don’t start with integrating small things such as a PayPal and Flattr button? When I first read this I instantly wanted to flattr it, but there is now way. Also other members already suggested BitCoin, so there seems to be a demand for donating.

    2) Why not get the money first? Get it kickstarted, crowd founded, supported or whatever. But just trying to do it without a plan, when there are dozens of other editors out there, seems to a bit to bold to me.

    Also I would really like to here, why I should choose your editor over atom, sublime, textmate or whatever the kids use these days…

  16. How do you know how often to save the file? Surely not on every keystroke?

    I will try this for a bit, but my impression is that the problems you are solving are so far down the list of things that trouble me, me converting full-time would never payoff.

    But never say never!

  17. Why not just sell Zed? Keep the sources open, but let people pay for binary downloads. Espeacially via AppStores.

  18. Great idea for remote editing. Great design and implementation. I am hoping the software could continuously improved and maintained.

    Why not go kickstarter like what neovim does?

  19. Zef,

    First bravo for the courage to start your business, and build a product you love.

    Having been in business myself however, I would like to advice you to take it easy on the completely free mode. People tend to under appreciate things which are completely free. Provide a way for your product to have some value, some cost. It can be support, it can a premium version, whatever it is, do not depend on donations… unfortunately the world is not as nice as we would like it to be.

    A very useful template to find a business model comes from Alexander Osterwalder, he calls it the Business Model Canvas, work on it, find something that allows you to live in peace, and pursue your dreams.

    Joseph Hurtado
    Fellow Entrepreneur at AgileLion.com

    P.S. Business Model Canvas link http://en.wikipedia.org/wiki/Business_Model_Canvas

  20. Congrats! I have no doubts you will be successful. Otherwise I will always have a job for you…

  21. Timothy Corbett-Clark

    Well done to you sir. Inspiring editor and attitude!

  22. Great job on Zed, it seems to be my solution for designing websites on my Chromebook. This was pretty much exactly what I needed. At first, I was like, “Oh no… there’s not top menu.” But now I’m like, “Love how I can click control + . and get a list of everything I need.” I love the split view, there seems to be an issue with the preview split functions but I just use the other split options. I hope you continue this, and I hope a huge community continues to back this project for a long time to come.

  23. I think the problem is right in front of you: you need a business partner. Find someone willing to take on the stuff you don’t want to, for a portion of the proceeds. Given the comment list, I’m sure there’s a suitable match that’d be interested in taking a risk. It’s a lot easier to accept failure when the only one you’re responsible for is yourself.

  24. So, how it’s all going? does the PayPal and Bitcoin streams compensate the efforts? What are you current state of thinking about this Business Model – i am thinking about something similar but looking at your Gittip button it’s seems not very wise.

    Maybe it is just not a full picture and PayPal and Sponsorship completely cover your back?
    What would you suggest for others who decide to go the same route to fund own OS work?

    • So far it’s going slowly. You can see what gittip gives me weekly, which is a nice amount but not close to a living. Paypal and bitcoin add at most $50-100 per month. So it doesn’t look like it’s sustainable yet, nor will it be for me in time. So we have to see.

Leave a Comment

Your email address will not be published.

11 Trackbacks

  1. Zed Creator Quits His Job, Will Attempt to Make the Open Source Editor His Day Job (Pingback)
  2. Zed - Un nouvel éditeur code libre « Korben (Pingback)
  3. Chromeベースの先進的なテキストエディタ「Zed」 (Pingback)
  4. Zed – Un nouvel éditeur code libre « Mes idées HIGH TECH (Pingback)
  5. Zed – Un nouvel éditeur code libre | L'actualité de la High Tech (Pingback)
  6. Links 3/4/2014: Applications | Techrights (Pingback)
  7. Every Friday is a good Friday: TGIF! (28) (Pingback)
  8. The Changelog: v0.10.2 | Zed (Pingback)
  9. The Changelog: v0.11 — First Standalone Release | Zed (Pingback)
  10. Dependency Injection in JavaScript Using Architect | Zed (Pingback)
  11. On My Own - Zef.me (Pingback)