Nant and Licensing

The alpha for Clover.NET is coming along nicely and we are getting some great feedback. Thanks to our alpha testers. The alpha is currently command line driven and that is not really optimal in the long term. We’re working on Visual Studio integration which should ease the situation but, given my long affiliation with Ant, it’s natural to look at using a build tool such as Nant to manage Clover.NET operations. The java version of Clover provides Ant tasks, after all.

There is, however, a fly in the ointment. Whereas Ant uses the Apache licence, Nant uses a GPL licence. That would seem to prohibit the distribution of non-free tasks for Nant. I’m extrapolating here a little from my experience with Java, where even the LGPL is considered to prevent distribution of non-LGPL code that uses a LGPL library.

Just considering the GPL for the moment, a 1999 post from Richard Stallman spells it out for Java and I assume, by extension, .NET

So I think it is meaningful to release a Java program either under the
GPL or the LGPL, and the consequences are basically the same as for a
C program: if you use the LGPL for your Java program, it can be called
by non-free programs, but if you use the GPL, it cannot be.

I’m not sure how much the position has evolved since 1999 especially with the LGPL, as that now seems to have issues. For those that are interested, Sam Ruby has discussed these issues more recently.

It is interesting that Nant has an exclusion to the GPL for Microsoft’s .NET library. See the Nant licence page. The reason I find that interesting is that the author of Nant has obviously considered the impact of GPL. Unfortunatly without such an exclusion, any Clover.NET tasks for Nant will be limited to driving the command-line tools.

I respect people who choose to license their code using the GPL, it is their choice after all. OTOH, I really wonder if it is an approriate license for a build tool. If I read the licence right, Nant currently makes it difficult to provide rich integration of proprietary tools. It’s a pity as .NET needs a good automated build tool for continuous integration operations. MSBuild? …

One Reply to “Nant and Licensing”

  1. Pingback: Stefan Bodewig

Comments are closed.