[ubuntu-za] Trying to understand OSS, GPL, BSD & other licensing model for software distribution.

Simon Cross hodgestar at gmail.com
Wed Oct 7 10:39:44 BST 2009

On Wed, Oct 7, 2009 at 9:44 AM, Rudi Ahlers <rudiahlers at gmail.com> wrote:
> Now, my question(s) is as follows:

All the answers are license dependent.

> Can I sell one script as GPL, but another as AGPL, or even BSD under
> the same company name? And if these 2 are tied together (i.e. being
> able to be used together, although seperate programs / script - for
> example Apache + PHP), how would I license them?

I assume you are not intending to modify Apache, PHP or MySQL or that
if you do you will contribute the changes back to the respective
projects. In this case the important part of the license is how it
deals with aggregation of other pieces of software with the licensed

[Aside: Here I'm using "aggregation" in the broad sense of shipping
together and including the case where the two pieces of software
shipped together are linked or require the other to run.]

Apache 2 is licensed under the Apache License v2 which doesn't mention
aggregation so you can distribute it in a compilation with other
software without imposing any restrictions on the license on the other

PHP uses a BSD-style license, so it also doesn't impose restrictions
on software aggregated with it -- but see below for complications with

MySQL uses the GPLv2 but provides a FOSS license exception [1] for its
client libraries specifically so that projects like PHP can use the
MySQL client libraries without having to switch to the GPL. My reading
of this is that this makes PHP a derivative work with most of PHP
licensed under the BSD license and the include MySQL client libraries
licensed under the GPL with the unholy union made legal by the FOSS
license exception [2].

This leaves us with the question of whether a program written in PHP
and distributed alongside PHP (with it's BSD + GPLv2 craziness) counts
as one program (and so has to be licensed under the GPL). I think it
doesn't since really you're just running PHP in the way it was
intended to be run -- it feels roughly equivalent to compiling your
program with GCC.  As far as I know none of this has be tested in
court though.

PostGreSQL uses a BSD license and SQLite is in the public domain so
neither of them come with the legal baggage of MySQL.

[1] http://www.mysql.com/about/legal/licensing/foss-exception/
[2] Would it have killed Sun to just license the client libraries
under the LGPL instead of creating this mess?

> We are writing a series of PHP + MySQL based scripts which can be used
> on the internet, either stand-alone, or in conjunction with other
> scripts (API driven), and I want to offer a free, limited edition, as
> well as commercial edition with more features. We're also writing some
> software that makes use of MySQL / sqlite / postgresql, and even
> MSSQL, so I need to take their licenses into consideration.

> What would be the best license for this? I know it's broad, but
> there's just too much to readup on the different licences and I've
> read a lot already, not knowing where to go. I have a feeling that I
> may need to go the dual / multi-license route, but even then I don't
> know which licences to use.

I would use the AGPL as the open source license (assuming you're are
on the GPL side of the GPL/BSD flamewar :). This will be fine as long
as all the included parts have GPL-compatible licenses (which all the
software you've mentioned does).

For the commercial license you're restricted by the points mentioned
in answer to the first question above. In summary, you're probably
fine but I wouldn't like to have to argue that in court with my source
of income at stake.

> The open source projects wouls also be open for other people to add
> their own modifications, but I would also like to allow others to
> write commercial addon's as well.

If you want people to be able to write commercial add-ons to a GPLed
piece of software then you want to ensure that the add-ons can be
considered stand-a-lone programs from a technical perspective, which
is probably rather tricky.  If the add-ons are separately distributed,
you're probably safe.  You could also explicitly allow the creation of
commercial add-ons in a license addition (this assumes you are allowed
to license the original GPLed piece of software under a different

> Any pointers, and even past-experiences?

This is a very murky part of the GPL -- good luck!


More information about the ubuntu-za mailing list