[openroad-developer] Licensing of OpenROAD 4GL applications
David Tondreau
david.tondreau at ingres.com
Fri Jun 6 07:47:54 PDT 2008
Hello Developers,
I recently received the following question from Tony Simpson at Luminary:
/"Hi David,
/
/
We’re wondering if we should include the GPL in the header of source
and template files included with ProxyGen./
/ /
/I think it’s clear that we are releasing ProxyGen under the GPL but
people might not be clear about the templates and template library
code./
/ /
/What do you think?/
/ /
/Regards,/
/ /
/*Anthony Simpson"*/
His question has given me an opportunity to explain the packaging that
we introduced in the OpenROAD Frequent Flyer demo and the DAOGen tool. I
would like it if everyone could read my response and make comments on
the approach used.
Thanks,
David
-------- Original Message --------
Subject: Re: GPL licence in code header
Date: Fri, 06 Jun 2008 10:30:51 -0400
From: David Tondreau <david.tondreau at ingres.com>
To: Anthony.Simpson at luminary.co.uk
References: <33276ABAAADB9545A5C9E39D4843D34168B789500B at babbage.ll.local>
Hi Tony,
I agree that it is an issue. The problem is that if you include the GPL
in the header, what happens when we want to use the source code in the
commercial version of the product? Moreover, there is a question as to
the implications of the GPL license to a customer who uses the tool but
is not open sourcing the application. For instance, what would it mean
if Company A used the GPL version of ProxyGen and then turned around and
sold and/or redistributed the product containing those components that
had been derived from it? I am not a lawyer and we have been told
_/not/_ to interpret the GPL for our customers but I think you know
where I am going here...
I "solved" this problem when I started the first OpenROAD open source
project (the Frequent Flyer demo). We decided to issue the demo under
both a commercial /and/ GPL licenses. Licensed customers could download
and use code components of the commercial "version." For instance, EGTS
has now bolted high level portlet support into their app which came from
libraries in the FF demo. They are free to incorporate it into their
applications and use it like any other component of OpenROAD.
Redistribution of applications which included the "commercial" code was
defined by their OpenROAD licenses. The commercial version of Frequent
Flyer in effect became an extension of the product. The GPL version was
provided for community developers that did not have a license with
Ingres who wanted to use code in it to develop open source software.
DAOGen followed in the same packaging. This is important because DAOGen
has the same issue that ProxyGen has. It generates source components
from templates. The license for any source component derived from the
templates follows the license of the template itself. Therefore, if I
use the GPL version of DAOGen to create an OpenROAD data access object
user class, then that component would have a GPL license. What's even
more interesting is that generated data access objects require several
included applications that are distributed with the tool (in source and
binary form). The licensing for these library applications follows the
licensing for the package as a whole.
To make it /crystal clear/ what version a developer was using, I chose
an application namespace that included the license designation as the
first three letters of the application name. For instance, the
commercial version of the top level Frequent Flyer demo application is/
Com/IngresDemoFlyerDesktop and the GPL version is
/Gpl/IngresDemoFlyerDesktop. Then, in every component, there is header
that references this application name and makes a reference to the
appropriate license:
/**
* Copyright (C) 2007 Ingres Corporation. All Rights Reserved.
*
* @frame: TopWindow
* @application: ComIngresDemoFlyerDesktop
* @library:
ingres!community!generic!devtools!demos!flyer!openroad!src!desktop
* @author: David Tondreau <mailto:david.tondreau at ingres.com>
* @organization: Ingres Corporation <url:www.ingres.com>
* @support: Enterprise: <www.ingres.com/support> Community:
<community.ingres.com>
* @summary: Starting frame for the Frequent Flyer "Desktop" application.
* @description: <ToDo>
* @created: 19-Mar-2007
* @status: Unsupported
* @supports: OpenROAD 2006
* @since: OpenROAD 2006
* @revised: 19-Mar-2007
* @version: 1.0
* @change:
*/
Now I don't actually maintain two versions of the code. I only maintain
the "Com" version. I have a build process that actually exports the
source components, copies the files, does a global substitution of
ComIngres for GplIngres, and then rebuilds the images. Then, I package
the two in different installers (source and binary), one with a click
through commericial license and the other with a click through GPL license.
The net effect is that a customer / user can choose the license that is
most appropriate for them and it is very explicit in the code what
version they are using. I would like to see ProxyGen follow this model.
The namespace changes (i.e., longer names like ComIngresToolProxyGen)
are important because as OpenROAD proliferates, we need to make sure the
applications we publish do not conflict with end user applications. I
also want it to be obvious which applications have originated from Ingres.
I am interested on your thought on this two-headed monster I have created.
David
On 06/06/2008 09:43 AM, Anthony.Simpson at luminary.co.uk wrote:
>
> *Luminary - *An Ingres Company
> Tel: +44 (0) 845 371 4090
> Mob: +44 (0) 7833596587
> Email: anthony.simpson at luminary.co.uk
> <mailto:anthony.simpson at luminary.co.uk>
>
> For more information on Luminary go to http://www.luminary.co.uk
> Luminary Solutions Limited Registered in England No 4854134 VAT Reg
> No. 829 3166 13
> Registered Office: Lacon House, Theobald's Road, London, WC1X 8RW
>
--
David Tondreau
Architect
*Ingres Corporation*
_david.tondreau at ingres.com <mailto:david.tondreau at ingres.com>_
*PHONE* +1 703.738.4811
*FAX* +1 650.587.5550
*_www.ingres.com_* <http://www.ingres.com/>
This transmission is confidential and intended solely for the use of the
recipient named above. It may contain confidential, proprietary, or
legally privileged information. If you are not the intended recipient,
you are hereby notified that any unauthorized review, use, disclosure or
distribution is strictly prohibited. If you have received this
transmission in error, please contact the sender by reply e-mail and
delete the original transmission and all copies from your system.
More information about the openroad-developer
mailing list