Open Source projects never have enough resources and splitting them into 2 clone projects is generally not great.
I know about competition but it's not like Vim/Neovim, programming text editor, is lacking in competition even without the other side of the fork :-)
You and meitham are very focused on this, but it is very much an opinion and not a fact.
Long lived forks are rarely good for an individual project. Frankly, the most successful forks I've seen unfortunately... kind of strangle off the original. Jenkins/Huson, LibreOffice/OpenOffice, MariaDB/MySQL, ConsoleZ/Console2/... Though there are cases where the original wins out: Emacs/XEmacs, etc.
Especially since it's not like Vim/Neovim are already lacking in features to implement, bugs to fix, ways to extend their architectures :-)
I do think there would be a lot to gain to merge vim/neovim, but they're in a very different position. I don't know enough about the other two forks to draw parallels to them.
MySQL 8 was released nine years after the split, and was one of the best releases throughout the project's history (cleaning up many decades old problems, modernizing the underlying storage engine, introducing window functions, CTEs, transactional DDL, lots of other stuff like that).
Without the forks, there would be no competition. Would the improvements have been included in the original project if there was no fork? Maybe. But usually forks happen because the intended improvements were either rejected or otherwise not accepted. If there was no fork, and the forked project did not "strangle" the original one, users would not have the chance/option to use the "better" one.
I think all you showed was that competition is good. I don't see how you would come to the conclusion that merging is better.
In a sense this is mostly a philosophical question of the Ship of Theseus kind. What happens is that when one side gains traction because of some specific feature, the other side either gets obsolete quickly, or they adopt the same features. So in the end everything converges in feature (and often even code), only not necessarily in name/leadership.
(You might counter that by saying that the last MySQL release was in 2018, but it's not really comparable: Oracle does all of its development behind closed doors and then does major code dumps when it's ready. MariaDB prefer shipping small releases every 6 months or so.)
It is fact that 1 + 1 > 1 if you compare available resources.
Vim is a marquee project, tons of hackers will want to contribute because it's cool or because they want to have that name on their CV.
It's one thing to contribute a couple of PRs/patches, a very different thing to spend a large part of your free time on the project for years (which is what Bram did to make vim what it is).
These projects are no joke and a few hurray contributors not lasting more than a couple of months won't cut it.
Those same contributors that remained on vim instead of neovim didn't put much effort into vim9 ecosystem either. I can't imagine them being willing to maintain all of vim's baggage when literally nobody writes vim9script. Classic vimmers tend to stick to the old vimscript.
As you said, contributing a few patches to classic vim is one thing, but becoming an actual maintainer of the behemoth that comes with a ton of useless baggage is a whole another thing. Maintaining a programming language no one uses.. sisyphus would be proud.
It seems a bit ridiculous to dismiss reunification when you don't even know what kind of compromises might be made to make it happen.
On the other hand, vim and neovim are almost the same thing, and wherever they diverge, it is always to the detriment of vim. I would not be very optimistic for the future of vim considering that nobody uses vim9script and that alone is quite the massive baggage to maintain, an entirely separate, new programming language? one that is used by.. no one? 99% of extension developers either use the old vimscript or lua, and neovim's lua base has significantly grown to the point where we can imagine a future that has no vimscript.
Where will they find people willing to continue working on vim's code base when it has this kind of really big, really useless baggage? and if they were to cut it out of the code base, would it still be vim? I respect Bram for his contribution to open source, and vim is one of my favorite, most used software, but his decisions in the past few years have been extremely poor and were not friendly toward the possibility of vim being community maintained.
the same place where neovim found its developers. if one group of people can organize themselves to maintain and develop their version of vim. so can another. i don't know how many contributors vim has, but i am sure they can figure out how to move forward. finding new leadership can be difficult when there is no clear candidate, but if the contributors had not wanted to work on vim they would not have been there in the first place.
Bram, for 98% of the commits/lines, plus some statistical noise.
it feels to me that not changing vim would be what bram would have wanted. any new developments may as well happen in neovim.
of course anyone who disagrees or doesn't like where neovim is heading may fork vim and make their own version of it.
They are quite different at this point and personally I prefer vim over neovim. I've never gotten NeoVim to work satisfactorily. I've had issues with the async setup where the backend and frontend start having issues with each other or lag. So on. Personally I find vim to be a lot simpler to work with and MacVim in particular to just be a perfect GUI for me.
Of course YMMV. The point being is that there are a many of us that prefer normal Vim over the NeoVim work. That's okay. Its also okay that others prefer NeoVim over Vim. There is nothing wrong with that. What there is something wrong with is the way that many NeoVim people are reacting to this.
Well, they were making a wrong prediction, but also a totally unrelated to the Vim/Bram situation comparison, then.
This is not the case of a huge multinational company with tens of thousands of employees, hundreds of billions in cash, hundreds of millions of users, a strong product lineup, and a strong C-level team, who has been preparing for 2 years for its CEO eventual demise, complete with another person taking his CEO role way before that happened.
As Apple was at the time of Job's passing.
This is a FOSS software project, strongly associated and mostly solely written almost predominantly by a single person [1], with another fork that has a vibrant community and more modern features.
So, to keep the relevant parts of a comparison, this is an multi-person entity fully prepared for the demise of its leader, with people ready to take over, and stocked to the brims with the essential fuel to continue it's operation (cash), vs an entity that was essentially an one-man-show, with no preparations for the next day, and with a quite popular alternative ready to take over.
[1] Bram has 16,515 commits, the next biggest contributor has 68 times less commits. Or, 1/50th lines added. And it goes downhill from there, with the rest of the contributors added together being 1/50th Bram's contribution as well.
Looking at the commit history, vim was largely a one-man show, I'm a bit skeptical about that changing basically overnight.
Related discussion: https://github.com/vim/vim/issues/1554
“Taken at face value by most modern users of Git, the commit history does not accurately reflect the contributions to the code-base”.