[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