This is an interesting thread.. I want to point out a couple of things that you might not be aware of regarding Linux and the licensing model that surrounds most of these open source Linux based solutions - I am not a lawyer, nor a real legal expert but I did ask a couple of people why they chose Microsoft over Linux when it comes to the 'cost' of their solution. They said although Linux was open source and appeared to be free, they were not able to close the code for commercial use. I was interested in hearing that since it seems many people tout the benefits of open source, but you know what - they haven't read the fine print.
You need to also ask about the structure of other open source solutions in reference to software licensing. DotNetNuke utilises the BSD model for licensing while Linux flavours tend to support other licenses that stipulate you must return your code, or make your code available to the public (in loose terms but you get the idea - it's yours but you need to share it with the others) whereas the DotNetNuke model allows you to close the code (again loosely speaking) and this gives you the capability of investing in a solution that you can be assured of, belongs to you.
I may stand corrected here, but that was my genuine understanding.
Let's also look at the developer relationship - I know you might have a fantastic developer, but there is something uniquely exciting about .NET developers from a business perspective... there is more structure, more tools, more visibility and I hate to say it - more professionalism with .NET developers or let me be flamed and grilled for saying - Microsoft developers in general.
I'm not saying all Microsoft developers are good.. they aren't - like anywhere there is good and bad, but the tools that Microsoft provide for developers, the commercial reality that is provided means that should your fantastic .net /php developer have a terrible accident, can't code, leaves the building, you will have more opportunity to find a developer who is .NET based by comparison.
I can say this based on first hand experience.. I have linux servers too - my son is strongly pro linux - we run our mail and some apps through linux, so I'm not talking from a 'I hate Linux' approach since I don't hate it at all.. but for business reasons, I feel that because we have microsoft standards to adhere to, that are commerically acceptable, that are universal, that transcend languages and that are measurable, as a business owner, who does not code, but needs to know there is a mechanism to measure requirements, cost and risk, Microsoft seemst to be the way to go.
You said your business was going to be successfull - so you're already assuming that there is growth in revenue - you're now looking at what the Microsoft haters seem to just hit over and over again.. (i get tired of hearing the same story without experience) I have never seen more torment and conflict between developers as I have seen with php projects.
I have had, over time, so many people come to me with genuine problems, held to ransom by their php developer, overseas, outsourced, modified codebase, not allowing for upgrade even with security issues... and interestingly enough - no documentation, no commented code... I didn't want to experience what they were -some of these people had spent up to 60,000 on solutions that were never quite finished, didn't quite do what they wanted, and lack of business processes, documentation, concepts .. had seen them with amazing sites that almost did what they should but nowhere to go.
I think you need to look at the solution holistically - nothing is as it seems out of the box - I try hard to look at each person's perspective and evaluate what is best for my business. I haven't found anything to date that is better than DNN, although the skinning part in this last release has made me stop and evaluate for me, whether DNN is moving in the right track.
I've been working with DNN for several years now and I can give you some tips here that I found through experience, reading, researching and.. oh yeah did I mention experience.. and mistakes.. can't forget them..
- Don't change the core - NEVER EVER change the core - I've got a couple of big projects and a good DNN developer will never change the core (unless you have a team to support it and it's well documented)
- Use skilled DNN developers - don't fall for the '.NET' developer - they must know DNN not just .NET
- Don't feel you need to customise everything - from a busienss perspective you can throw good money after bad.. you're better off finding the owner of a good module which is commercially developed and then get them to do the custom coding - it will save time and money
- You can start off with SQL express for nix... when you grow out of it - you move to the next required solution - Don't feel you need the John Deer tractor to mow that strip of grass out the front of the apartment..
- Find talent in the areas you need in DNN - hosting, site structure, developers, good modules These will help you get started and save you time and money in the long run... believe me - if you're new to DNN or any product - whether it's LInux or Microsoft based, you'll need some support to bring you up to speed quickly.
No matter what you do, you have an investment - look at where you can reduce the initial costs from a business point of view, get up and running without losing a year off your life and compare ongoing costs for developers as well as portability and security of your investment should your developers not be available any more.
I also have read that MySQL has been in discussion about not being open source in the future - I could be wrong but I am sure I read that a while ago - I'm not quite up to date on all things MySQL - I'd have to ask my son - and he's away camping until new year..
I hope this gives you some more things to think about. You can contact me personally if you want more specific information.
Nina Meiers