It's also not a common thing for projects like that not to start as FOSS.
- Fun
- Learning new things
- No decades old quirks & constraints through backwards compatibility
- Same concept with fresh ideas & multithreading
A lot of good reasons imho, which is why I'm also tinkering with my own little editor. In the worst case I'll have learned a ton and have a small collection of useful libraries. Some innovation in modal editing after 30 years might be nice.Vim/Emacs have a huge community and ecosystem, but they aren't exactly perfect. I don't see anything weird about people writing their own editor.
I'd personally love to have a Python-programmable editor a la Emacs, and if I ever write a text editor, it's gonna be like that.
+ You don't need to learn a bespoke language to customize 4coder (vim_script in vim's case)
It's really a smaller decision compared with the point of view that text files as source code are "holding back our tools - https://dion.systems/dion_format.html
So these guys are really thinking big.
I'd guess amongst HN users the share of emacs and vim users might be higher than for developers in general.
"What the hell is ________?"
Some things are aimed at a group of people, and written with that in mind. Someone closing a project/stopping maintenance of something, usually write directly to the group of users of the software.
To expect everything to contain information about everything someone could not know, means everything would have to be extremely verbose. We have search engines, typing "4coder" and finding the website took me around 2 seconds, I'm sure you'd be able to do it just as fast.
Side note: it's funny how formerly closed-source projects always open up to have tons of spaghetti code and bad design planning.
I was curious after you said this, so I took a look at the 4coder source. It looks like very straightforward code. The files are clearly marked so you know exactly what they do, the APIs look simple and reasonable, and they have clearly marked folders containing all platform specific code. I'm not sure why you put this side note here, but it doesn't seem to hold water in this case. The code is definitely not spaghetti, and it looks like it was designed with quite a bit of forethought.
Edit: I would just like to add that I saw the author left several comments about the state of the code in the Readme that imply the code is very unstable. I think developers tend to be very critical of their own code, but when I took a cursory glance at the code from an outside perspective it seems much easier to follow then many other projects I've tried to take a look at. For example, for a quasi-open source project, ffmpeg is extraordinarily complex and hard to follow. So I definitely don't think OSS = super well designed code haha
To your second point: I think it's a matter of size for a project becoming spaghettified. ffmpeg is mature and massive, so it's no surprise it's jumbled at this point. For a project of 4coder's scale, I'd wager that being open source sooner would've benefitted its design.
But, it's in the past. I'm just glad the dev left the code in the community's hands before dropping it. A lot of devs don't even do that, and the project becomes history.
I dunno, I'm looking at their "4coder_base_types.h" header [0] and redefining basic types and builtin keywords for personal preference (yeah I know, static is overloaded) is a serious eyebrow raiser.
[0] https://github.com/Dion-Systems/4coder/blob/62fe17699a99f7d2...
> I DO NOT recommend learning from this codebase, especially not with an uncritical eye. It may be a useful reference for certain algorithms and architectural ideas, and it certainly contains some cautionary tails. But if you are a beginner, I encourage you to aim for more than emulating the style and structure of this codebase.
The editor seems cool regardless.
4coder receives significant attention via the Casey Muratori's video streams like Handmade Hero, and opening it up is sure to produce some positive growth for the development/community side of the project.
The combination of popular development livestreams and FOSS tooling utilized in those livestreams seems like it could be an important part of making FOSS development more sustainable without involving big corporate sponsors.
This is not a "opening up" of anything but the source code, with a permissive license. You're free to fork and change anything you want, but it won't be upstreamed ever as the author did the open sourcing because they are stopping maintenance of the project.
So this is more of a "closing down" with the gift of leaving us with the source code. And for that Allen Webster, I thank you!
vscode to me is simply to bloated. They should have landed like a year and half ago.
Also, I feel like the C configuration opens the door to using other languages too, Lua comes to mind immediately. You can do that in emacs too, but it's not as straightforward.
One last thing. One of my biggest gripes with emacs is the performance (I'm using a rather low-end computer). I'm making the assumption that a moderately-sized pile of C++ will perform better than a huge pile of elisp.
4coder, a modern text editor based loosely on Emacs - https://news.ycombinator.com/item?id=23444912 - June 2020 (16 comments)
The author has a great YouTube playlist[0] as well, bringing you through some basics of their preferred methodology of programming. It's been interesting to follow along and check out how he does things.
I feel like a couple of posts on HN the past few months have been "X is going open source". It makes me question why projects that aren't open source when they initially release switch over to open source later. I understand keeping a repo private before having a working/stable product, but why release a product as closed source and then open it up later? Why not just keep the product off the market until it is ready to be released and make it open source before or at launch time?
I totally have space that I'm just crazy but as someone who tries to keep my stack as open source as possible I find myself not really interested in products that start closed source and eventually open up. Is it just me?
Just to reiterate: I'd rather a project go open source later vs never.
EDIT: I just realized the context for 4Coder was that it was a "we're ending this product so here's the source for anyone who wants it" -- I am super grateful for closed-source products that do this. But my question is still relevant for other projects that have done what I described above.
Sounds like a handful to manage closed source solo!