Take the 2-minute tour ×

I'm working on a personal project in ASP.NET MVC that I plan on making open source. In the past, I've open-sourced quite a few PHP scripts and UNIX-based stuff. For those, I typically went with a BSD/Apache style license, unless I was including a library that prevented it. On the Linux/PHP side of things, that usually meant something that was GPL-ed, thus still resulting in a fairly clear-cut arrangement.

For this project, however, I'm trying to figure out which licenses are even possible to apply to this project and not finding any good resource to answer the question. I know that the only "real" answer to this question would involve a lawyer. However, as this isn't something that's going to generate revenue, if I'm going to kick in $1000 toward the project, I'd rather hire a graphic designer or a usability expert to take a pass at the application than pay a lawyer.

This particular project also uses Subsonic for database access and Argotic for RSS parsing, further complicating the issue.

I know that I'm allowed to use all of those pieces and that I can redistribute my project that uses them all. However, what I'm left with is confusion over what the resulting project can/must be licensed under.

I can probably negotiate my way through the maze for the Subsonic and Argotic bits because they're already under open source licenses, but I can't be the only one trying to figure out what license I can apply to a project I write on top of ASP.NET MVC.

In response to the comments:

I'm not "scared" of anything. I'm just attempting to put the same care into the licensing and distribution of this eventual application that I am into the architecture and development of it. Beyond that, I've watched lives ruined because of not paying attention to the arguably byzantine intellectual property laws on the books today.

And, quite frankly, I've actually gotten a nasty letter in the past from the lawyer of an open source component that I included in an open source project of my own, but used a license that they weren't happy with.

Unfortunately, "an open-source license" isn't any more specific in legal terms than saying, "just use a web programming language and you'll be fine". GPL is clearly one of the most popular open source licenses out there and also one of the few that, on the face of it, can't be applied to ASP.NET MVC applications. I'm curious if there is an existing license that can actually be "compiled" with the other licenses of the components I'm using without throwing a legal "compiler" error.

I'm not saying the answer is simple (it's not). I asked the question because I'm genuinely interested in an answer that comes from a perspective of having examined the issue closely. When I initially posted it, I fully expected it to sit unanswered for a long time because it's not a simple question.

share|improve this question
add comment

7 Answers

ASP.Net MVC should ultimately become part of the core .Net framework. Once it is you won't need to redistribute it.

In the mean time you could apply any licence you like to your own code, but not redist the MVC assemblies with it. Users could download the current MVC preview themselves.

share|improve this answer
add comment

If it doesn't they'll almost certainly provide some sort of go-live licence with the RTM.

share|improve this answer
add comment

I don't really get what you're scared of. From my understanding Subsonic and ASP.NET MVC can be redistributed for either an open-source or commercial license, and you should be fine just as long as you don't use some sort of viral GPL license that needs to GPL everything.

You may try to read through the Free Software Foundation's reference on licenses that you can use for open source projects to try and get a feel for the kinds of licenses you may want to use.

share|improve this answer
add comment

I am not familiar with all of this really, but I was on CodePlex the other day and someone posted a project under the Microsoft Public License:


share|improve this answer
add comment

It's fairly common for things to be licensed under the GPL plus an exception for something that would otherwise be incompatible with the GPL. For example the license for exim is:


In addition, for the avoidance of any doubt, permission is granted to link this program with OpenSSL or any other library package and to (re)distribute the binaries produced as the result of such linking.

If you wanted to use GPL, you could do something similar.

However, it sounds like you don't particularly want to use the GPL, you want a BSD style licence, and in this case you don't need a special exception. Just place your code under the licence you want. So long as it is clear that your licence only applies to your code and not to other software you're distributing it with, there shouldn't a legal problem with this - you can put any licence you like on your own code.

share|improve this answer
add comment

You should be able to redistribute it the same way that DotNetNuke is distributed. I believe that it's an open source project.

share|improve this answer
But it does not use ASP.NET MVC, which is what the questioner is asking about. –  Lou Franco Oct 1 '08 at 15:19
add comment
up vote 2 down vote accepted

The final RTM answer has ended up that ASP.NET MVC itself has been released under the Microsoft Permissive License which is an OSI certified license. That license is very similar to the Apache, BSD and the rest of that family of licenses. The bottom line is that, under that license, you're fairly free to license your code however you see fit, even if your project includes the System.Web.Mvc DLL to make it bin-deployable.

share|improve this answer
"even if your project includes the System.Web.Mvc DLL to make it bin-deployable." -> does this mean that if I just deploy the code to my web hosting which supports ASP.NET MVC that my web application is not actually an APS.NET MVC derivative work? –  gligoran Nov 19 '10 at 18:06
add comment

Your Answer


