2017-10-01, 09:39 PM
I'm sure we've all seen the 1.10 RFC thread by now.
I want to have a discussion about the MyBB project, the current state of play and our direction for the future.
As it stands at the minute, we have three ongoing projects:
So, what can we do about it? Tom M and I have been talking on Slack, and obviously the current momentum and direction isn't going anywhere fast. By the time MyBB 2.0 is ever ready for an alpha release (if ever), will we have any users left using MyBB? Just this weekend I mentioned in Slack that the DreamHost support forum had moved from MyBB to Discourse, making another large forum leaving us. With the current pace of development and feature set that we offer in comparison to other free competitors (NodeBB, Discourse, Flarum, even phpBB), how are we competing?
The 1.10 RFC has a valid argument in my eyes. I think there might be real merit to pushing 2.0 (as it currently stands - a full rewrite in any case) further out into the future. Instead, we could concentrate our efforts on incrementally improving the 1.8 codebase, and naming it 2.0:
2.0 as a full rewrite is a nice idea, but is it really attainable by the current team in a timeframe that makes sense or are we all just dreaming?
No matter what we decide to do, we must make sure that we make our plans completely crystal clear to the community, with a solid roadmap and task assignments to reach our stated goals. It's important to decide, in advance, whether this is going to be a staged release (2.0 being theme, 2.1 being database, 2.2 being language etc.) or if it's all going to be bang - all in 2.0. Whatever we decide, it must be made absolutely clear. In my eyes, getting the theme and templates sorted out first makes the most sense.
I want to have a discussion about the MyBB project, the current state of play and our direction for the future.
As it stands at the minute, we have three ongoing projects:
- MyBB 1.8 - the current codebase, mostly stable. Full of bad practices and outdated code conventions, but it works (for the most part)
- MyBB 2.0 - a full rewrite started over two years ago, almost three (January 2015 according to the commit log). Far from completion, no sign of an alpha release, never mind a final release. Only 24 commits this year, over a period of 9 months. We're probably looking at at least another year before we have any kind of alpha version anywhere near usable, assuming contribution steps up by a long way.
- MyBB Merge System - untouched since April 2017, 6 months ago. Not up to date with current versions of external software, no active maintainer since Jones left the team.
So, what can we do about it? Tom M and I have been talking on Slack, and obviously the current momentum and direction isn't going anywhere fast. By the time MyBB 2.0 is ever ready for an alpha release (if ever), will we have any users left using MyBB? Just this weekend I mentioned in Slack that the DreamHost support forum had moved from MyBB to Discourse, making another large forum leaving us. With the current pace of development and feature set that we offer in comparison to other free competitors (NodeBB, Discourse, Flarum, even phpBB), how are we competing?
The 1.10 RFC has a valid argument in my eyes. I think there might be real merit to pushing 2.0 (as it currently stands - a full rewrite in any case) further out into the future. Instead, we could concentrate our efforts on incrementally improving the 1.8 codebase, and naming it 2.0:
- Replace our current template system with Twig, using Composer.
- Replace our current database methods and queries with Eloquent or a similar DBAL.
- Introduce a new theme, making use of current technologies and approaches - if we're replacing the template engine, there's no worry about plugin support anyway. Whilst we're at it, we can remove tables and such to our heart's content.
- Bump our minimum PHP version requirement to PHP 7 and remove backwards compatible hacks.
- Introducing the Laravel internalisation (language) system.
- Introducing a core API system.
- etc.
2.0 as a full rewrite is a nice idea, but is it really attainable by the current team in a timeframe that makes sense or are we all just dreaming?
No matter what we decide to do, we must make sure that we make our plans completely crystal clear to the community, with a solid roadmap and task assignments to reach our stated goals. It's important to decide, in advance, whether this is going to be a staged release (2.0 being theme, 2.1 being database, 2.2 being language etc.) or if it's all going to be bang - all in 2.0. Whatever we decide, it must be made absolutely clear. In my eyes, getting the theme and templates sorted out first makes the most sense.