January 3, 2005

Open-source license woes with using NAnt

We've been planning to use NAnt in our product for running customizable scripts and almost convinced our boss to go for it (IBM's Websphere server where all server automation is implemented via Ant is good argument here). But unfortunately we've found out that Ant and NAnt have different licenses. Ant ...

That's too bad. I mean if Ant is using one open source license and happens to be so immensely successful in Java world, why its .NET version is released under a different and more restrictive open source license? That makes a very little sense to me.

There is something in the NAnt license that looks like an attempt to workaround the issue:

In addition, as a special exception, Gerry Shaw gives permission to link the code of this program with the Microsoft .NET library (or with modified versions of Microsoft .NET library that use the same license as the Microsoft .NET library), and distribute linked combinations including the two. You must obey the GNU General Public License in all respects for all of the code used other than the Microsoft .NET library. If you modify this file, you may extend this exception to your version of the file, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.

Can somebody clarify that? I mean is it ok to use NAnt and distribute its DLLs as part of a non-opensource product? (We don't plan to modify NAnt sources of course).