Go Open Source with .NET technology stack or something else?

Sep 15, 2011 at 9:02 PM

For years now I've been developing (now managing) enterprise software development projects, but don't have any experience contributing (outbound) or managing contributions (inbound) to/from the open source community.  Executive leadership within my organization is considering opening up the source code (ASP.NET/C#/SQL Server) for one of our major systems to the world for philanthropic reasons.  Unfortunately, I can't be more specific at this moment.  Before doing so we're going to have to pretty much rewrite our UI for ADA (American Disabilities Act) reasons.  Not being a veteran in the open-source space, my questions is around whether or not .NET is the most viable option when considering an open-source platform. 

From some sources I've heard otherwise and told to go with a "true" open platform (i.e. Apache/Ruby on Rails or PHP,MySQL) because there is no financial barrier to entry (i.e. software licensing).  However, I also realize that the .NET developer community is very large and .NET is one of the most proven of all technology offerings.  There is a financial commitment that must be made when standing up a solution that leverages the MS technology stack like we have (i.e. Windows Server, IIS7, and SQL Server), but is that considered cost-prohibitive and not as attractive to the open-source developer community in general? 

Obviously, if you're on this site and reading this discussion thread then you've probably got a strong opinion one way or another.  I'm curious as to what others have to say and welcome anyone's feedback on this topic.  We want to be as informed as we can before making this big upcoming decision to make our application code open.

Sep 16, 2011 at 12:48 AM

I would recommend thinking about things from the perspective of your users.  You're pretty vague about what the software is, but forget for a minute whether it's open source or not and just that it's some kind of software, who would be using it and what platform are they likely to prefer?  For example, I know you mention it's a web application but to illustrate my point imagine if it was some kind of desktop application then most desktops run Windows so that would be a good reason to target that platform.  So are your potential users more likely going to prefer running Windows or Linux servers?  That would pretty much determine whether you need to go with ASP.net versus Ruby on Rails or PHP.

From an open source developer community perspective there are certainly differences between the .NET and Ruby on Rails developer community but both have a large and vibrant open source community.  So again, it doesn't make a lot of sense to build for a platform that won't work for your users, so I think you basically just have to accept the developer community that matches your user audience.

Sep 16, 2011 at 4:55 PM

Very honest and solid feedback...I appreciate that.  Yes, I suppose I was a little vague about the software.  It's an ASP.NET site whose code is written in C# with a SQL Server DB backend.  We're in the Education industry and have roughly 50K users, but quickly growing.  At this time we're not sure what type of infrastructure and hardware/software that our potential code consumers are using, but we plan on finding out that information.  It's good to know that the .NET developer open-source community is large and vibrant.  Thanks.