For a long time now I have been trying to figure out how to update The Plan Collection to an open source platform. I find myself updating it to ASP.Net instead. ASP.Net is ok to work with. I think Ruby on Rails is better. By better I mean simplier. ASP.Net has more stuff. It comes with all kinds of bells and whistles and millions of pages of docs to read to learn how to use it. It is more flexible than Rails and I would bet that it is faster since it is compiled, sort of.
I do it not because I want to but because I have to. I think many software projects are that way. Building a brand new application is a luxury. You can do all kinds of things that you want to do. Maintaining an application is different. You do things because you have to. For example, The Plan Collection has about 90,000 pages in the Google index. We can’t afford to throw that away so we need urls to stay the same. At least we need to be able to setup redirect so that they site still works with those urls. In addition, we added forums, blogs, etc to The Plan Collection a while ago. That software, yes you guessed it, is written in ASP.Net. To switch platforms now I would have to rewrite a very large code base, rebuild and migrate a database, and figure out how to move forums and blogs to something else.
I am in a have to situation. I loved ASP.Net for years. I am paying a high cost for that love now. I still do like ASP.Net. It is a powerful framework with excellent tools, but it is expensive. For a large company that might not be a big deal. However, if you are a small business having to pay 5k for a database server is very painful. (One SQL server license actually costs more than our server!!)
Rails is free and open. The databases it talks to are free and open. If you are starting a small venture think about what you want to do so that someday you don’t find yourself in despair because of what you have to do.