Why I'm Selling Preorders
You can preorder here. This article won't get into what's unique about Bold.
Two questions I get asked a lot are when Bold will be open source and which license it will be?
The plan always was to open-source once the core is done, so contributors wouldn't step on each other's toes trying to implement the same thing. I was considering the AGPL but I was keeping an eye out for something I may like better.
One day I realized, there are VC backed companies making editors. They are trying to shove AI and telemetry on me. Not only that but at least one of them are opened sourced. How am I going to compete with an open source company with 10+ million dollars behind it? With community building, I couldn't. They can hire people to do devrel, polish UI/their website/video demos, interact with every github issue (something I wasn't looking forward to doing), interact with people on social media, run a weekly podcast, and more. More importantly, if their editor appears to be more complete, why would people contribute to Bold? They wouldn't.
I don't want to use an IDE with AI and I definitely don't want an IDE with telemetry.
Just No.
You may say the solution is to fork it, remove telemetry and AI.
Why Forking Is Not a Solution
Forking doesn't solve the problem that led me to write Bold in the first place. In the article, I mention various reasons why I can't use vscode comfortably, and lately, I've been hitting more bugs. The VC backed open source company I have in mind implemented AI before a debugger, Am I to fork and not use a debugger? The actual problem is they can easily win over the attention and people who may have been interested in contributing to Bold.
The only reasonable solution is to sell a license for commercial use so I can continue to develop full time. With a steady cashflow, I could keep up with popular tools and add official support so they don't feel like an extension. I would also be able to hire people who would have expertise in tools I am not familiar with. I don't want people who write code exclusively for fun to pay for anything. As part of the sales agreement, I'll have it explicitly say there will be no telemetry or data mining so I can't take your money and change my mind. Or rather, if a company convinces me to sell Bold, they wouldn't be able to add that in, at least not for 1.0 which is what I'm selling preorders of.
I only need 40 sales to pay for rent. If you like to be one of the 40 I would really appreciate it. Here's the preorder page.
How Will You Compete With Companies?
I think execution says a lot more than words. I've been working on this full-time for a year and you can see how many large features are complete. Some features I've implemented are
- Debuggers: I support GDB, UDB, and DAP. They're fast enough that when you step multiple times quickly the IDE keeps up.
- LSPs: Documents and LSPs are in sync. You get diagnostics, semantic tokens, hover, autocomplete, etc.
- Render engine from scratch. Outside of games, I don't think anything supports 144hz on a 4K screen. A program displaying text and UI shouldn't struggle with this but it's the norm and other editors drop frames on my 60hz 1920x1080 screen.
- Undo/Redo history that doesn't lose information. If you press undo and write text you can press undo to regain it.
- Large file support. It doesn't matter if you write at the start, end, or middle of the file, it's always fast.
- Fast search using SIMD.
- Simple features are implemented, and quickly. If you press Ctrl+G and type "[10]", the cursor will go to the 10th byte, like if you were to write that in an array. I don't need approval to implement that nor will anyone fight me on it. I don't have anyone slowing me down.
- Build output processing. Bold understands gcc output and can show errors without LSPs
- A beta on Windows, Mac OSX, and Linux, each of these OS have their quirks.
I believe it's clear in a year a lot of progress has been made. It doesn't make sense that one or a small group of people can outperform a team of 12+ people but it happens. You can safely assume the vscode team won't drop electron to implement their own fast renderer. vscode had their debugger for years and it feels like it was invented in the 90s, except in the 90s you would actually see the variables update before you let go of the step button. What remains for Bold is scripting and the less complex but everyday features like find and replace across files, auto-saving when you build, not losing unsaved files when you close the editor, etc. These are significantly less complex than integrating several debuggers and keeping LSPs in sync. I'm confident for most people's use cases I can reach feature parity and improve upon it.
Thank you for reading. Here's the preorder link again so you don't need to scroll.