James Dixon’s Blog

James Dixon’s thoughts on commercial open source and open source business intelligence

Archive for June 7th, 2008

Microsoft’s Codeplex Requirements

with 6 comments

One of the projects on CodePlex, Sandcastle, has been un-published for not providing its source code. I don’t know what Sandcastle had published in the way of binaries etc so I’m not going to comment on the Sandcastle case. But after looking at CodePlex’s requirements for projects hosted there I have some questions.

These are the criteria that are listed on the CodePlex wiki for projects that are hosted there

What are the requirements for hosting a project on CodePlex?
Your project must meet the following criteria:
  1. You must choose a license for your project (license resources: Open Source License page on Wikipedia)
  2. It must be an ongoing project (no “abandoned” projects)
  3. It must have source code (no non-software projects)

It is certainly good that there are not a lot of criteria. However the vagueness of these terms is problematic. Here are my thoughts:

1. You must choose a license for your project

The requirements state that their resource is a wikipedia page (http://en.wikipedia.org/wiki/Open_source_licenses). This is refreshing from the standpoint that it implies that CodePlex’s view of license seems to be ‘whatever wikipedia says today’. But what happens when the wikipedia page changes? If a license that was listed is dropped do any projects using that license get removed from CodePlex? If not what is to stop me from adding my own funky license to the wikipedia page, creating my project on CodePlex, and then using wikipedia revision history to prove my project’s right to be on CodePlex.

In reality what is on the wikipedia page does not seem to matter. The wikipedia page lists the GPL as a license but does not list specific versions) and the wikipedia page for the GPL lists all three versions of the GPL. So it would seem from this that GPL V3 is an allowed license for CodePlex. However these comments indicate that GPL V3 is not accepted.

weimingzhi wrote Nov 19 2007 at 11:33 PM

just to make sure… am I allowed to use the GPLv3 on this site?

jwanagel wrote Dec 20 2007 at 1:05 AM

The site currently doesn’t have support for the GPLv3 license.

*jwanagel is a Senior Development Lead for CodePlex.com.

CodePlex needs to publish a clear list of allowable licenses in their FAQ.

2. It must be an ongoing project

The comment trail on the page verifies that ‘completed’ projects are ok, but not abandoned ones.

jwanagel wrote May 11 2007 at 7:31 PM

Abandoned means the project has no coordinators involved in the project, or there is no user activity (messages, issue tracker entries, downloads). A completed project is fine if there is still someone who will be the coordinator for the project on CodePlex.

Being able to identify dead and dying projects would be great. Sourceforge provides their ranking system which, despite some deficiencies, is generally indicative of the activity of a project. It would be nice if Sourceforge let you use that as criteria when doing searches.

Does jwanagel mean no messages or no tracker entries or downloads? Or do they mean no messages and no tracker entries and no downloads? By ‘no tracker entries’ do they mean no new entries or no edits either? What time period are we talking about? A week, a month or a year?

I’m not trying to be nit-picky but history and stewardship of some projects is rocky to say the least with long dormant periods and changes of administrators. I’d hate to see projects thrown off CodePlex that were ahead of their time and destined for greatness in a year or two.

If CodePlex is going to have a requirement such as this I think they need to clearly communicate the intent of the requirement. The current wording is insufficient. Without this we cannot gauge whether a given situation does or does not meet the spirit of their intent.
3. It must have source code

Their clarification in parenthesis says “no non-software projects”. What if a project is just starting and only has specifications and design documents so far? I suspect that CodePlex’s intent would be to let this project in but the requirements as stated seems not to. An example I use when talking about the benefits of peer review in open source projects is the pre-source-code days of the Eclipse BIRT project. The specification for BIRT was posted months before the seed code was released. Lots of people participated in disucssions about the specs and the specs improved significantly during the pre-seed period. Not allowing projects in the design and specification phase to be included on CodePlex would be detrimental but their current wording seems to prohibit this.

Written by James

June 7, 2008 at 11:16 pm

Posted in open source