Page 2 of 2

Posted: Fri Nov 19, 2004 9:34 pm
by :wumpus:
I agree with Monster. Supporting VC 6.0 in the 1.0 build and then dropping it makes no sense to me. Version 1.0 should be the "foundation" release - and anything in it should be considered "base". Putting in something you know you are going to drop almost immediately thereafter makes no sense.
I couldn't have worded it better.

Another thing is that our developer focus will go to tools after 1.0, so supporting different compilers shouldn't be a priority anymore by then. Mingw should be supported as well as possible. Why would that be so much work? TheAgency and others got it to compile, we just need to apply their patches in a clean way to the main codebase, do some autoconf/automae magic and we're done. Far from trivial, but not a matter of months either.

Posted: Sat Nov 20, 2004 7:16 pm
by sinbad
I think it's necessary to be pragmatic rather than purist about this.

Bear in mind that we always maintain bugfix releases in parallel with development releases; therefore saying we'll drop VC6 in the future means on a future development branch, not on bugfixes to the last release it was supported in. So including something that 'will be dropped almost immediately' is overstating it; the kind of people that don't upgrade their development environment will likely be quite happy to stay on 1.0.x releases.

Secondly; being realistic there are VC6 users out there who don't want to pay for an upgrade, and who will not want to switch to MingW. This could be for many reasons - such as the environment (IDE) being less friendly, that they are using other libs which don't work with MingW yet, and such things. You can't dismiss this, it will happen. If VC8 (express), when fully released, is a truly free environment that can be used to compile Ogre and related libs, this argument may go away. But it doesn't yet - I have distinct suspicions that when VC8 is finished, the free version will be limited in some way greater than the beta is now. Dropping VC6 support before 1.0.0 could well be the deciding factor for these people to use something else. You might not agree with it, but it's their decision.

Lastly, supporting VC6 in 1.0.0 is not very hard, since we've already got there. In fact, not supporting it is more work than supporting it at this stage, since to not support it would be to modify those parts that already have VC6-specific elements to them. Lets not overstate this either - VC6 support has not compromised the Ogre code in any meaningful way - it's just annoying for me (time-wise) to have to test it and put in new workarounds, so I'd like to drop it. But it's not hurting me enough to drop that support before 1.0.0, because that's the first release that we'll say is 'done', and for that, we should have a development environment that covers all the bases we have already.

I have no intention of stranding VC6 users on a 'beta' version unless there is a solid alternative - yes MingW is useful but it's not necessarily a replacement (as noted above), and the free version of VC8 is not finished yet and is essentially unproven, as far as I am concerned, both in terms of stability and final licensing terms.

I'm beginning to wish I hadn't started this thread - I was just interested to guage the current lay of the land ahead of time. :?

Posted: Sat Nov 20, 2004 9:10 pm
by Kencho
Do whatever you think it's best for the development. After all, you're the boss ;)

I gave my opinion because you asked for that

Posted: Sun Nov 21, 2004 1:55 am
by PJB
OGRE is open source and (rightly) proud of it, doesn't it fit with that philosophy to use OS tools?
If we spend a little time on the makefiles can't we make it compile 'out of the box' on any GNU based system and adopt that as the 'default version'?
(I confess to being totally crap at makefile manipulation, which is why my second line here is a question rather than a statement!)
I personally couldn't care less about the dev environment, all I really want is code that compiles first time, without me spending $1K+ on a M$ license.

Posted: Sun Nov 21, 2004 2:01 am
by temas
If your point is to have Mingw be the "default" on windows it won't happen. Visual Studio is the choice on windows, by far. But it would be nice to have a common setup that is usuable on all platforms, generally speaking.

Posted: Sun Nov 21, 2004 3:37 am
by monster
If your point is to have Mingw be the "default" on windows it won't happen. Visual Studio is the choice on windows, by far.
Following that logic, you could argue that a recent version of Visual Studio is the choice on Windows, and that no self-respecting developer would use a compiler as out-dated and bugged as VC6. If you want the de-facto professional compiler for Windows, get your hand in your pocket and get an up to date version of VS. If you can't afford that, or don't want to use it then use MingW.

But hey, I'm just playing Devil's Advocate!

I'm sure the Ogre devs will, as always, make the right decision.

Meanwhile, back in Devil's Advocate mode, if I may disagree with sinbad (for once!);
...the kind of people that don't upgrade their development environment will likely be quite happy to stay on 1.0.x releases.
I'm willing to bet that it won't be more than 5 minutes after you release v1.x of Ogre, full of cool new features but minus VC6 support, that you get the first "I use VC6 and need to have this cool new feature, how can I do that?" type query!

Posted: Sun Nov 21, 2004 11:15 am
by :wumpus:
Well, it's all OK with me, I was just voicing my opinion. As long as we have someone in the dev team wiling to keep the build system and fix up the code for VC6.0 we can just keep supporting it.
But of every arbitrary point to drop it I still prefer the 1.0.0 release.

Posted: Sun Nov 21, 2004 3:02 pm
by sinbad
PJB wrote:OGRE is open source and (rightly) proud of it, doesn't it fit with that philosophy to use OS tools?
I'm afraid this is another purist vs practical thing. Yes, we like open source software, but unfortunately it isn't the best at everything. GCC is a great compiler (certainly compared to the VC6 compiler), but if you ask someone to go from the VC IDE to a command-line environment, or to Dev-C++, they will resist. There's a lot of anti-IDE snobbery in the open source community, but the fact is that once you've used a good one (MSVC7 + VisualAssist, or Eclipse (for Java) personally rock my world), going back to the command line feels like a significantly backward step. And Dev-C++ doesn't even offer the feature set of VC5 IDE yet (still no multi-project support which is a complete killer for me personally), which is why I say forcing people to move to other tools, especially when those tools are not as polished (productivity-wise) is not going to win Ogre any friends.

That's why I think we should support VC6 in 1.0.0 to allow at least one finished version to be available for these people. If they complain about lack of VC6 support in 1.x.x, well, I think we're justified in saying they have a choice to stay on VC6 with 1.0.x or upgrading to a newer VC version for 1.x.x. At least this way we can say we have a viable 'finished' release for VC6 users.