Great question.
I think the most important thing is to cleanup the codebase as much as possible, before trying to add anything at all.
STEP NUMBER 1 - “The removal”
So, I’d first ask: is there anything that the COMMUNITY thinks is really irrelevant in ClassicPress, that shall be removed?.
- XML-RPC?
- wpautop?
- Links Manager?
If there is → do it. If there isn’t → ignore this step.
STEP NUMBER 2 - “The modularization”
After doing that, I’d go with separating (not removing) things that are merged within or entangledly spread all over the core and keep them as feature plugins. This isn’t easy… so we should make a list of stuff that falls into this category and order it by complexity. Then start with the easiest to get motivated and go on with more difficult stuff like the comments system. Remember, I’m not saying to remove the comments system, I’m saying to separate it into a plugin so that sites which don’t need/want it, don’t have to deal with it. Same applies for everything else. Means → faster, cleaner, leaner. (Isn’t that what CP aims to be?)
STEP NUMBER 3 - “The cleanup”
After getting this done, the CORE will be way lighter and I’d say to reorganize it, removing old PHP polyfills and backcompat stuff.
STEP NUMBER 4 - “The media & editor upgrade”
Both the Media Library and the Editor need to be refreshed. Instead of retweaking the currently tewaked tweaks, why not? → ADD TinyMCE 5 as the new editor and then instead of fixing all the jquery plugins to make them work with OLD oldness, create what needs to be created from scratch or implement existing open source alternatives that fit the case.
STEP NUMBER 5 - “Constant optimization”
And then! We can talk about editing currently existing stuff to make it better. But I wouldn’t add stuff to core. Rather… clean and optimize the core as much as possible, iterate over it with that goal in mind. Almost everything else is plugin territory. Constantly adding tweaks into it will only lead to a harder to maintain project.
TO THE COMPATIBILITY LOVERS:
“What’s the point of all this?”, you may say. “WordPress people won’t like/join ClassicPress”.
It may be true. But isn’t it a logic statement to say that it may also attract people who like WP but ran away from it because of it being a mess?
PHP is more alive than ever! WP killed the WP Way. We can make it rise from ashes in the form of a brand new awesome PHP CMS.
At least it will be a clean codebase to build stuff and have fun and learn about modern PHP instead of wasting energy on maintaining PHP 5 stuff that will power nothing else but a bunch of personal blogs that will break when popular WP plugins stop supporting WP 4.9.
Also, WordPress people aren’t currently using ClassicPress ANYWAY (show me one big site that isn’t a personal blog with 5 daily visits that is using CP?).
So, I say: what’s the point on wasting so much energy on trying to make 20 years of old code work for… nothing…?
Passion feeds creation. And I like the CP soul (bring back WP). But what my passion won’t feed is painting on such a limited canvas.