Since some people
seem to be hellbent on pronouncing Ares dead and I have a reputation as an instigator to defend, I figure this is a good moment to add fuel to the flames and give you all a little update on where we stand with 0.2.
As you may know, we were actually almost done with 0.2 a while ago, having already reached 100% of its roadmap; we were just waiting for the previously unreported bugs to be properly filed so we could fix them, when a mysterious patch
appeared out of nowhere and begged for inclusion.
Since the bug-reporting went traditionally slow and unsatisfactory, I created a branch for the patch, and it looks like it's working as advertised. The mysterious coder was even nice enough to provide updated code for some potential issues. All in all, a very nice, happy and easy contribution for all sides involved.
The only issue is that the way the feature was added piles another bunch of hacks and conditionals on our own pile of hacks and conditionals, making it more and more obvious that the whole activation/deactivation system needs some serious refactoring if it's gonna be future proof.
I figured (and Marshall agreed
) this wouldn't be too complicated, so I started another branch to fix up the whole system and incorporate the Mystery Patch in the process.
Alas, our own creative use of the activation/deactivation system made the refactoring a lot more complicated than expected, and a laborious week at work pretty much killed any progress in that branch.
Meanwhile, on the bug front, we did get bug reports, but less of the already known, unfiled ones, and more new ones. Particularly the Prism Forwarding logic seems to be the source of numerous issues at the moment.
So where do we stand?
- We have one working feature in the pipeline whose implementation is a seed for bugs and issues in the future.
- We have one almost-working feature which seems to cause bugs and issues right now.
- We have a number of fresh bug reports to sort through and vet for fixing in 0.2.
And where does that lead us?
We are, to put it bluntly, tired of working on 0.2.
There is only so much time you can spend on a single piece of code until you don't give a shit about it anymore.
Therefore, we have decided to stop trying to improve the unfinished features and to just take the necessary steps to allow us to release asap:
- Since the Mystery Patch seems to work, as much as I think it'll complicate things in the long run, I'll merge it into trunk as soon as I have the time for it.
- Prism Forwarding is a great feature, and I'm sure it'll be awesome one day - but to be perfectly honest, it has delayed 0.2 for months now, and enough is enough. Prism Forwarding has come a long way in its almost year-long history, but it's simply not done yet. It's almost there, it's definitely in very late beta stages, but it's not mature enough for release yet.
And since no coder is around to fix it right now, we have opted to put it back into its own branch for now and release 0.2 without it.
If Marshall or another coder has the time to fix it, it'll probably be in 0.3.
That solves our feature issues. What remains are the bugs. I would ask you to go and state your opinion and tell us which ones you think should be fixed and which ones can wait, but, to be frank, my faith that a lot of useful feedback would be gathered is pretty low. The community hasn't exactly proven to be a helpful feedback machine when it comes to Ares. So we'll make our selections with feedback or without, and try to minimize stability issues for 0.2. If you are aware of an issue with Ares that greatly impedes its use, report or bump it now.
We can't fix the unknown or forgotten.
If we end up with stability issues you knew about before release, we'll not hesitate to inform people you knew about the issue and didn't tell us.
What comes after release, who knows?
What we do know is that, after working on Ares as our primary project for months (if not years), we're gonna use this moment of uncertainty for a break. And to confuse the Ares-Doomers even more, that does not
necessarily mean we won't work on Ares during the break, it just means our primary focus will be other projects, many of which have gone neglected or been planned for a long time.
The break will also be used for proper formation, organization and assessment of the ACSC, as well as general community survey.
If, come July, all is in place and the ACSC is ready and willing, 0.3 will be pumped out with refreshed coders as quickly as the bugs allow it, following the previously decided upon quicker release schedule.
If it becomes clear that the community basically doesn't give a shit whether we're working on Ares or not, we'll stick to our other projects.
Note that both during the break as well as in the doomsday scenario, we'll happily let other people try their luck, as usual. If there is interest, we can even create a community branch of Ares and give other people (like the Mysterious Guest) write access to it, allowing the community to update Ares on its own using our Subversion and Launch Base update facilities.
Depending on how adventurous the community feels, we can even create a repository with public or semi-public access. Just know that the Ares developers will not be responsible for whatever happens to your computer when you run a DLL compiled by a random anonymous dude on the internets. It's up to you. We have the facilities, if your only concern is our involvement, we'll happily give you a place to work without us.
So yeah. Long story short: Same shit, different day. We're still working on 0.2, we're still being delayed by new features and real life, we're still annoyed by most testers and bug reporting behavior, we still want to see community support to continue. The only new thing is that, by now, we've worked on 0.2 for so long that we'd like to see some other code for a while after release.
Make of this what you want. Call Ares dead, call it alive, call it a pancake, we don't care.
We stand where we stand, we know how we feel, the only question for us is when we'll finally get this damn release out of the door.