From: "Marc A. Criley" <mcNOSPAM@mckae.com>
Subject: Re: ANNOUNCE: DTraq Released
Date: Tue, 20 Jun 2006 00:37:07 GMT
Date: 2006-06-20T00:37:07+00:00 [thread overview]
Message-ID: <TqHlg.8177$lf4.1659@newsread1.news.pas.earthlink.net> (raw)
In-Reply-To: <m2r71lgcw7.fsf@grendel.local>
Simon Wright wrote:
> What I don't see is why using GNAT.Sockets, which as an abstract
> interface can be obtained GPL or GMGPL, ditto its implementations,
> should make a difference to the licence under which _your_ source is
> released?
This, like your other points, is true...when considered strictly on its own
merits. But in context it's not so cut and dried.
There are two major personal factors that affect my OSS development
efforts. First is that I want to stay as close to a vendor-supported
configuration as I can, therefore my progression from 3.15p to GNAT GPL
2005, and soon to 2006. (The advocate-maintained distributions are
perfectly fine and their maintainers are to be commended, but AdaCore's
GNAT is the de facto standard and so I want to stay close to that.)
Second is that I do want to make binary distributions, I usually prefer
those, so I assume others do as well. (I know this makes me less than an
OSS purist, but I prefer that I have _access_ to the source, rather than it
being _required_. For most things I'm a user, not a builder. :-)
So, since I'm now on the GNAT GPL 200x track, that means, in this specific
case, that I'm using its version of GNAT.Sockets, which is licensed as GPL.
The DTraq logging server and data viewer both use that specific package, so
simply for that reason alone they and their executables are GPL.
The DTraq.Tap client code needs a socket package, so while I could use the
GNAT.Sockets abstract interface and then you the application builder can
link with a GMGPL version of that package, you won't. Why? Because DTraq
uses ASIS, and ASIS-for-GNAT is compiler and version specific, so in order
for the DTraq source analyzer program to work, your application must be
compilable with the same GNAT version that the source analyzer uses, i.e.,
GNAT GPL 2005. I know that simply compiling the code (and building the
trees used by ASIS) doesn't require that your app by GPLed, but I doubt
many are going to compile and test their code with one version of a
compiler, but then deliver it having used another. (If for no other reason
than you'd not be testing what you're delivering.)
You can certainly build DTraq from source using another compiler and ASIS
version, and the result will conform to the relevant licenses, and I'd be
happy to do that if someone were to make it worth my while, or would
certainly make available a contributed distribution alongside the
distributions I maintain.
All this is why in the original posting I stated "for what it's worth" when
mentioning transitioning from GNAT.Sockets to AdaSockets for DTraq 1.100.
Since your app is in all likelihood going to be built with the GPLed
runtime if you're using DTraq 1.100, your app is going to have to be GPL
anyway because of the RTL. _But_ it's not going to be DTraq that's
directly causing that, so I can use the same instrumentation code for
different compilers and versions (concerning myself _only_ with AdaSockets'
one license, not the different GNAT.Sockets ones). In other words, the
instrumentation code ought to be software _and_licensing_ portable across
different compilers and versions (though I've not verified the software
portability). It's simply then that the rest of the DTraq application be
able to accommodate whatever compiler is being used on the application.
> Anyone is free to use eg the Booch Components with any Ada compiler
> they like; certainly Aonix, probably Apex, either flavour of
> GNAT. Instantiating a GMGPL source using a GPL runtime is going to
> result in a binary that has to be issued under the GPL, sure.
Because of ASIS, though, DTraq is not like the Booch Components. ASIS is
tied to a specific compiler-version distribution, and therefore its license.
> I would find it quite hard to justify using AdaSockets given that
> there is a perfectly workable and supported functionality in GNAT
> already.
GNAT.Sockets actually has some extra functionality (regarding 'socket
select') that I took advantage of in the DTraq core components.
> I also don't see why you've jumped through hoops to use AdaSockets
> instead of GNAT.Sockets "so as to get GMGPL instead of GPL (for GNAT
> GPL 2005 and beyond)". If I use GNAT GPL I _must_ release under GPL
> (if at all), regardless of any GMGPL freedoms on other library
> components.
Actually I didn't have to jump through hoops, it was an easy changeover.
The initial releases of DTraq used AdaSockets, and I had previously
migrated to GNAT.Sockets primarily to gain access to the socket select
capabilities.
And yes, "if [you] use GNAT GPL [you] _must_ release under GPL", but that's
because you are using _GNAT_GPL_, _not_ DTraq.Tap.
-- Marc A. Criley
-- McKae Technologies
-- www.mckae.com
-- DTraq - XPath In Ada - XML EZ Out
next prev parent reply other threads:[~2006-06-20 0:37 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-06-15 14:20 ANNOUNCE: DTraq Released Marc A. Criley
2006-06-15 18:55 ` M E Leypold
2006-06-17 13:30 ` Marc A. Criley
2006-06-17 14:30 ` Ludovic Brenta
2006-06-18 7:33 ` Simon Wright
2006-06-18 20:29 ` Marc A. Criley
2006-06-19 19:32 ` Simon Wright
2006-06-19 20:12 ` M E Leypold
2006-06-19 20:18 ` Georg Bauhaus
2006-06-19 20:36 ` M E Leypold
2006-06-20 0:37 ` Marc A. Criley [this message]
2006-06-20 5:41 ` Simon Wright
2006-06-20 13:23 ` Marc A. Criley
2006-06-20 15:21 ` M E Leypold
2006-06-21 6:17 ` Martin Dowie
2006-06-21 12:16 ` M E Leypold
2006-06-21 18:00 ` Martin Dowie
2006-06-21 18:25 ` Jeffrey R. Carter
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox