Choosing the Right License for your Open or Shared Source Project

Are you planning to create a shared source or open source project on Gotdotnet CodeGallery or Workspaces? If so, one of the first and most important things to do is to decide upon the terms by which you’d like to share your source code and other intellectual property with the general public. On Gotdotnet, we provide one default license, which you can customize to your liking or replace en toto with a different license.

Once you select a license and create a project on Gotdotnet, as on practically all other collaborative development sites, you cannot change it. The reason is simple: when other developers join your project and make contributions, they are operating under the assumption that their intellectual property will be protected or unprotected for imperpetuity under the same terms as when they started. If a person contributes something of great value to an Open Source project, for example, and then the project admin changes the license so that they can cash in on their work, there would be hell to pay, right? To prevent this scenario, we don't allow anyone to change a license once it has been applied. Thus, it behooves you to choose the right license at the outset and customize it to your liking and needs before writing a single line of code. In short, take your time and do it right!

How to find good information about software licenses, online and offline

  1. Unfortunately, there isn't much license-related guidance available on Gotdotnet. Consequently, three of the most frequently asked questions I hear are, "Which license should I use?" "How should I modify the default Gotdotnet license?" and "What does "stuff" mean"? Despite my overwhelming compulsion to respond (once a doc writer, always a doc writer), my legal folks have politely but insistently informed me that it would be unwise for me to respond. Do they not trust me? [:O] Well, I think they do. However, only licensed attorneys (or paralegals in some of the states in the US) can provide legal advice, or interpretations of legal documents such as a software license.
  2. If you have a friend who administers one or more open or shared source software projects, ask them to explain why they chose the license they chose. 
  3. On the Web, the best and most consistent resource that I've seen about the advantages and disadvantages of various software licenses, especially for .NET and Windows development, is the blog of Jason Matusow (subscribe).

I have been thinking about how we can provide more default license options as well as pointers to relevant information on gotdotnet.vNext and I welcome your input.

  • Which software development license do you prefer, and why?
  • Which licenses would you avoid, and why?
  • How have you tweaked boilerplate licenses in a way that worked well, or has not worked so well in the past?