views:

473

answers:

10

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.

+1  A: 

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.

Keith
A: 

Is it going to actually be part of the core? I thought I had read that one of their goals was to be bin-deployable. Or was that just for the CTP phase?

J Wynia
A: 

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

Keith
A: 

That RTM license is what I'm asking about. Those licenses clearly allow you to develop and deploy your project to your server, run a commercial service on it, etc. However, what isn't clear is what my redistribution rights are and how those rights can be combined with the rights of other open source projects and my own code to result in an open source license that can apply to the resulting solution.

J Wynia
+1  A: 

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.

Jon Limjap
A: 

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.

J Wynia
A: 

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:

http://en.wikipedia.org/wiki/Microsoft_Public_License#Microsoft_Public_License_.28Ms-PL.29

Symbioxys
A: 

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:

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

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.

Mark Baker
A: 

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

craigmoliver
But it does not use ASP.NET MVC, which is what the questioner is asking about.
Lou Franco
+1  A: 

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.

J Wynia