I personally would suggest you go .NET because of all the benefits of using .NET and the windows platform. The windows platform is easier to use and for overall productivity and scince you have the .NET framwork in Server 2003 it is very easy to incorporate. There is a lot of documentation just on MSDN's site for help. Programming in .NET is much more effective because you have up to 26 different languages you can program in and all of them you can interact with. For example if i write a function in C#.NET in a class then you can call or extend that function in VB.NET or C++.NET. Aldo just because something is free does not necessarily mean it is better the reason for this is because usually something that is free, as of now, is harder to use such as J2EE so you might have to pay to get some training, whereas the Microsoft based products are generally easy to use and you can basically figure them out pretty quick.