Subject: Re: License Question
From: "Michael R. Bernstein" <>
Date: Tue, 14 Dec 2004 19:25:11 -0800

On Tue, 2004-12-14 at 13:59, Shawn Garbett wrote:
> He is open to a GPL like license, but has the
> following additional restrictions he would like on the
> licensing of the code.
> 1) Not only can an individual or corporation share the
> modified code in a GPL like fashion, but it is
> REQUIRED. Since this is an Enterprise wide
> application, most will require installations will
> require customizations. The goal is that eventually a
> set of commonly available modules will be available
> such that an organization can pick and chose to fit
> their needs. But using the code will require sharing.

I beleive the license that comes closest to this is the AGPL (in use,
but not yet OSI approved, and currently under revision):

The AGPL requires modifications to be made available to all external
users of the software, regardless of whether the software was actually
distributed to them (ie, even if they use it only through a browser).
*Private* modifications can still be kept private, but in practice for
the kinds of deployments you are talking about, if anyone who wasn't an
employee was given access to the system, then they would have to make
the source to any modifications available.

> 2) The client medical record data collected in the
> system must be made available for research purposes in
> anonymized format. If adoption of the system occurs on
> a broader scale, then a much larger volume of
> consistently collected data will be available for
> research purposes. The goal is that this research
> leads to better treatment protocols for mental
> illness.
> I'm not familar with any licenses that require data
> sharing.

None of the OSI-approved licenses have this requirement, as it
constitues a restriction on use.

I suggest you use some other way to encourage data-sharing, such as
conditioning access to the shared pool of anonymized data on
contributions to it. If the system includes a built-in method of
periodically exporting anonymized data, this should be a relatively easy

Michael R. Bernstein <>