[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Nauty



On Fri, 21 Feb 2003, Josep M. Lopez Besora wrote:

> after a few complicated days both at home and work, I could take my time
> to look at this nauty package features. It looks like a good idea to
> integrate with it, rather than rewriting those algorithms into your own
> code...

Below is a set of email exchanges I've had with Brendan McKay (nauty's
author) about using nauty with GT.

--
"Computer science is no more about computers
  than astronomy is about telescopes."
	- E.W. Dijkstra

-----------------------------------------------------------
Date: Wed, 19 Feb 2003 23:31:11 +1100 (EST)
From: Dave Symonds <ds@seul.org>
To: "Brendan D. McKay" <bdm@cs.anu.edu.au>
Subject: Nauty's license

Hi Professor McKay,

I'm the author of a free graph theory tool called GraphThing
(http://graph.seul.org), and I was interested in including some of the
functionality of nauty into it, especially the automorphism group stuff.

However, there is a problem: GraphThing is Free Software (free as in
speech), and is released under the GNU GPL. [I'll assume you understand
the GPL, and won't bore you with the details] Suffice to say, the GPL
insists on no restrictions of the software's usage, which conflicts with
your restriction against "weapons development or other primarilty military
purpose". Now I understand why you might want that restriction, but it
means that I cannot include any parts of nauty in my program. Is there
some way we can work around this? I would dearly like to be able to build
upon your work.

Thanks,

Dave.
-----------------------------------------------------------
Date: Wed, 19 Feb 2003 23:40:08 +1100
From: Brendan McKay <bdm@cs.anu.edu.au>
To: Dave Symonds <ds@seul.org>
Subject: Re: Nauty's license

Hi Dave,

This is a fairly normal situation and there is a way to include
nauty without the GPL applying to that part of your package.
See  http://www.gnu.org/licenses/gpl-faq.html#WritingFSWithNFLibs .
Perhaps you should add a compile-time option to exclude the
nauty-based functionality, so that people who don't satisfy the
needs of the nauty licence can still use the other features easily.

Your package looks very interesting.  I'll try it out.

Cheers,
Brendan.
-----------------------------------------------------------
Date: Thu, 20 Feb 2003 18:06:41 +1100 (EST)
From: Dave Symonds <ds@seul.org>
To: Brendan McKay <bdm@cs.anu.edu.au>
Subject: Re: Nauty's license

On Wed, 19 Feb 2003, Brendan McKay wrote:

> This is a fairly normal situation and there is a way to include
> nauty without the GPL applying to that part of your package.
> See  http://www.gnu.org/licenses/gpl-faq.html#WritingFSWithNFLibs .
> Perhaps you should add a compile-time option to exclude the
> nauty-based functionality, so that people who don't satisfy the
> needs of the nauty licence can still use the other features easily.

It occurred to me that a way around this would be to not include nauty
code directly, but to instead execute nauty separately, and communicate
with it through pipes. I believe this would not constitute "linking" with
nauty, and I would not need to distribute nauty with GraphThing - it would
only be used if it is installed on the user's system.

Does this sound fine to you?

> Your package looks very interesting.  I'll try it out.

Why thank you - Let me know what you think!

Dave.
-----------------------------------------------------------
Date: Thu, 20 Feb 2003 18:37:18 +1100
From: Brendan McKay <bdm@cs.anu.edu.au>
To: Dave Symonds <ds@seul.org>
Subject: Re: Nauty's license

* Dave Symonds <ds@seul.org> [030220 17:25]:
> On Wed, 19 Feb 2003, Brendan McKay wrote:
> 
> > This is a fairly normal situation and there is a way to include
> > nauty without the GPL applying to that part of your package.
> > See  http://www.gnu.org/licenses/gpl-faq.html#WritingFSWithNFLibs .
> > Perhaps you should add a compile-time option to exclude the
> > nauty-based functionality, so that people who don't satisfy the
> > needs of the nauty licence can still use the other features easily.
> 
> It occurred to me that a way around this would be to not include nauty
> code directly, but to instead execute nauty separately, and communicate
> with it through pipes. I believe this would not constitute
"linking" with
> nauty, and I would not need to distribute nauty with GraphThing - it
would
> only be used if it is installed on the user's system.
> 
> Does this sound fine to you?

Yes, that would work.  It would slow it down somewhatm but maybe
that is not so important for your application.

Brendan.
-----------------------------------------------------------
Date: Thu, 20 Feb 2003 18:47:51 +1100 (EST)
From: Dave Symonds <ds@seul.org>
To: Brendan McKay <bdm@cs.anu.edu.au>
Subject: Re: Nauty's license

On Thu, 20 Feb 2003, Brendan McKay wrote:

> Yes, that would work.  It would slow it down somewhatm but maybe
> that is not so important for your application.

GraphThing is mostly oriented towards working with graphs of less than
about 30 vertices, and since nauty works so fast, I don't see much of a
problem.

Dave.
-----------------------------------------------------------