comp.lang.ada
 help / color / mirror / Atom feed
From: Markus E L <development-2006-8ecbb5cc8aREMOVETHIS@ANDTHATm-e-leypold.de>
Subject: Re: Ada and licensing + how to keep the RTL license from propagating :-)
Date: Fri, 21 Sep 2007 23:46:24 +0200
Date: 2007-09-21T23:46:24+02:00	[thread overview]
Message-ID: <yzejgradzj.fsf_-_@hod.lan.m-e-leypold.de> (raw)
In-Reply-To: m2sl57lqux.fsf@mac.com


Simon Wright wrote:

> Markus E L <development-2006-8ecbb5cc8aREMOVETHIS@ANDTHATm-e-leypold.de> writes:
>
>> Simon Wright wrote:
>>
>>> Jacob Sparre Andersen <sparre@nbi.dk> writes:
>>>
>>>> Simon Wright wrote:
>>>>> Ole-Hjalmar Kristensen wrote:
>>>>
>>>>>> I suppose you could also compile with GNAT, and send a library
>>>>>> to your customers. Still no RTL involved.
>>>>>
>>>>> I think that would be the same as distributing an executable.
>>>>
>>>> Not quite.
>>>>
>>>>> Not aware of anyone having discussed this, but as far as I can
>>>>> see a .o file would be GPL'd just as much as the .exe's built
>>>>> from it.
>>>>
>>>> No.  The GPL is on the run-time library.  And .o files are not
>>>> linked, and thus not infected with the license of the run-time
>>>> library.
>>>
>>> No. If that were the case, the LGPL could apply.
>>
>> That's the old "using an interface or including a header already
>> makes it a derived work" hypothesis. I'm not sure how well that
>> would hold up under pressure and from a software engineering point
>> it's certainly nonsense (even if copyright law would provide a lever
>> of enforcing this point of view). I've always held that people
>> trying to push that agenda should be punished for crimes against
>> proper software engineering. (Mind you, nothing against you
>> personally, I'm refering e.g. to those that want to make all Linux
>> kernel modules GPL because those -- nolens volens need to read the
>> kernel header files during compilation).
>
> I think that if your code had
>
>    pragma Restrictions (No_Generic_Instantiations);
>
> (is there such a beast?) *and* if your compiler vendor released a
> sharable image of the rtl under the LGPL you could probably get by.
> So far as I know libgnat.so and friends aren't released under the
> LGPL.

Oops sorry. Perhaps I didn't understand what you meant by "If that
were the case, the LGPL could apply". It seemed like an attempt to
contradict " "And .o files are not linked" (and thus don't constitute
a derived work. I didn't talk about libgnat specifically. But to that
(perceieved) contradiction I had to reply, that I've seen both
positions, specifically with regard to including header files (which
is mor like deriving than reading an interface) and AFAIK (and I might
be wrong) in the Linux world the position has prevailed that including
headers is not deriving a work. But I might be completely wrong, again. 

And my last point, of course was, that from an SE position I get
annoyed every time I hear that using an interface should be equivalent
to creating a derived work. That point of view sucks, even if it is /
would be supported by the GPL. And if copyright law actually works
this strongly, I fear that using a protocol (SMB) might actually
influence the license of the product (Samba).


> But it was always Robert Dewar's view that generic instantiation
> effectively imports the library's source into your binary -- hence the
> GMGPL. 

Ah, yes. It was _his_ _view_. I mean, I understand now whence the
GMGPL came, but I'd like to emphasize that this is (a) still only a
perhaps professionally backed, but still an interpretation, based on
US copyright law, that might not completely hold to scrutiny world
wide (which is moot, because the GMGPL holds, I'm only talking about
"generic instantiation is inclusion") and (b) it would still be
(philosophically speaking as an SE) be wrong, because now (again) a
compiler implementation detail influences the license: What looks like
use (of interface) to the casual user is now suddenly derivation.

> And hence my suggestion that a .o could inherit (GM)GPL-ness
> from the library.

But have the unlinked modules already included relevant parts of the
generics (their body, not their interface)? If so, wouldn't that mean
that truly independent compilation is not possible with GNAT?

Something else: I could add the following at multiple other places in
the thread, but since I've already taken the effort to write a
message, I'll add it here:

What hasn't been mentioned yet, is the ultimate GPL circumvention
device (it has been hinted at, though) and that is the contract
between developer and customer:

  - Sell them closed _proprietary_ code and absolutely bind them
    contractually not ever to redistribute that code.

  - Seperately sell them a maintenance contract for a Gnat
    installation (even and especially take GPL Gnat: Not forbidden to
    sell a mini-maintenance contract for that to other people) and
    install Gnat at their site.

  - Offer them a third service contract for maintaining software
    packages at their site, specifically by compiling and packaging
    the software in question at their site.

Since bespoke customers will insist on getting source anyway, exactly
in this case you'll get maximal protection and none of the spill over
of the license from the runtime.

Since I assume AdaCore stripped the linking exceptions because they
thought they got pulled over the table by free riders among their big
customers (they can't seriously hope for small software houses and
small projects to pay their buy-yourself-out-ofGPL maintenance fees),
this is rather amusing: It's especially those cases in which (a)
distribution of the better Gnat within the organization cannot be
controlled effectively (as long as enough people keep mum and don't
snitch to AdaCore) and it's exactly those customers that won't want to
redistribute[1] but keep their source close, so will be happy with GPL
Gnat[2]. These people won't pay to get rid of the GPL, but rather to
get maintenance so the buy-and-get-linking-exception incentive won't
work for them.

(Notes: [1] Well, there is a snag, but I won't tell :-).

        [2] Until the flight software get's deployed, and a real
            vehicle is being sold to customers. It's probably not
            worth the troubled, but I wonder about the source for the
            flight software included in the embedded boards ROM, w/o
            comments of course. More realistically they need perhaps
            only buy a minimal "license" for the production build. 1
            seat, once.
)

And if the bespoke customer want's to use the software inhouse, there
is no reason at all to make the source open ...

So I (still) wonder what the purpose of stripping the linking
exception was, except to make it uncomfortable to small groups
deploying small numbers of binaries (typical bootstrap scenario) to
walk-in or phone-in customers. Things like a security utilities,
hardware testers, shells for CD burining or somehow else controlling
your personal computer come into mind.

OK, this all just to plumb for how far the GPL really goes. Everything
I said must be flagged with magic spell IANAL and "you're better of
checking this with your lawyer". And I can see some holes in my
arguments above, but I'm sufficiently certain they could be plugged.

Regards -- Markus





  reply	other threads:[~2007-09-21 21:46 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-17  7:33 Ada and licensing Tomek Wałkuski
2007-09-17  8:04 ` Ludovic Brenta
2007-09-17  8:07   ` Tomek Wa kuski
2007-09-17 10:43     ` Ludovic Brenta
2007-09-17  9:27 ` Stephen Leake
2007-09-17  9:37   ` Tomek Wa kuski
2007-09-17 10:29     ` Dmitry A. Kazakov
2007-09-17 11:15     ` Martin Krischik
2007-09-17 11:33       ` Tomek Wa kuski
2007-09-17 13:10         ` anon
2007-09-17 16:47           ` Dirk Heinrichs
2007-09-17 16:50             ` Dirk Heinrichs
2007-09-17 17:26               ` Markus E L
     [not found]                 ` <1190095844.877071@xnews001>
2007-09-18  7:19                   ` Dirk Heinrichs
2007-09-18 13:33                     ` Markus E L
2007-09-18  0:30             ` anon
2007-09-18  6:06               ` Dirk Heinrichs
2007-09-18 13:32                 ` Markus E L
2007-09-17 10:09 ` anon
2007-09-17 11:12 ` Martin Krischik
2007-09-17 12:32 ` Maciej Sobczak
2007-09-17 12:42   ` Tomek Wa kuski
2007-09-17 20:20     ` Alex R. Mosteo
2007-09-17 20:34       ` Wiktor Moskwa
2007-09-17 21:01         ` Ludovic Brenta
2007-09-18  4:48           ` Wiktor Moskwa
2007-09-17 14:05   ` Dmitry A. Kazakov
2007-09-19  9:59   ` Ole-Hjalmar Kristensen
2007-09-19 19:50     ` Simon Wright
2007-09-19 20:05       ` Jacob Sparre Andersen
2007-09-19 22:25         ` Simon Wright
2007-09-20  8:30           ` Markus E L
2007-09-21 20:12             ` Simon Wright
2007-09-21 21:46               ` Markus E L [this message]
2007-09-22 23:25                 ` Ada and licensing + how to keep the RTL license from propagating :-) Simon Wright
2007-09-23  8:54                   ` Markus E L
2007-09-23 11:48                   ` Simon Wright
2007-09-23 19:41                     ` Markus E L
2007-09-19 23:15         ` Ada and licensing Jeffrey Creem
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox