--- "Nigel Campbell (DSL AK)" <[EMAIL PROTECTED]> wrote:
>
>  o You do not have to licence your code under the GPL unless you 
>    intend to distribute it as a package that includes GPL'd code.
> 
>  o The GPL grants you the right to use and the code as you please.
>    You can mix GPL'd libraries and non-GPL'd code in-house or in a
>    bespoke application done as work for hire.  This is effectively
>    the same situation as you are not releasing the software to third
>    parties as a package that includes the GPL code (i.e you can 
>    release code of your own and the client can obtain the GPL bits
>    by themselves).  Typically you are not actually modifying the GPL
>    libraries.
> 
>  o Most application development work is done in-house or as bespoke 
>    for hire work .  Typically (at least in my experience) the client
>    usually owns the IP rights for bespoke software.

Under the United States Copyright Act of 1976, the author of a creative work
owns the copyright to that work unless the work is technically a "work for
hire" or "if the parties expressly agree in a written instrument signed by
them that the work shall be considered a work made for hire".  "Work for
hire", as you probably know, is a legal term with a specific definition.  By
default, employees create "works for hire" owned by their employer, whereas
independent contractors do not create "works for hire" by default, so they
retain copyright ownership unless otherwise agreed (in writing).
http://www.copyright.gov/circs/circ9.html

By contrast, the New Zealand Copyright Act 1994 makes computer programs
created by employees *or* independent contractors "works for hire" by
default.
http://www.legislation.govt.nz/libraries/contents/om_isapi.dll?clientID=21764326&hitsperheading=on&infobase=pal_statutes.nfo&jump=a1994-143%2fs.21&softpage=DOC#JUMPDEST_a1994-143/s.21


>  o Therefore, the GPL does not appreciably affect the relationship
>    between most bespoke developers (and by implication the majority
>    of developers oversll) and their clients as the software is
>    not being distributed as a package that includes the GPL software
> 
>  o The GPL is problematic if (as the previous poster appears to be)
>    you want to distribute a non-GPL application in a package with
>    GPL'd libraries.  
> 
>  o I'm arguing that this happens with only a small minority of software 
>    as most software (90%+ - see my previous posting) is written as 
>    one-off custom apps where packaged distribution is not an issue.
>    (note: embedded software is a seperate issue and I haven't gone into
>    that here)

I live and work in the United States, and I typically retain copyright
ownership over software that I write for clients.  I try to modularize the
software so that portions of my work on any given project can be reused
between clients.  This allows me to offer more attractive financial terms to
the client who requests the initial development, because I expect ongoing
returns as I leverage the modules later, even though I do not usually "sell"
the modules per se, but rather, my services.

You state that for "one-off custom apps... packaged distribution is not an
issue".  Contractors who retain the copyright to software written for their
clients, no matter how "one-off" or "custom", cannot link with GPLed
libraries unless they are willing to GPL their own software.  In the United
States, any such software not covered by a written agreement declaring it a
"work for hire" falls into this category; vice versa in New Zealand.

I don't know which model of implicit copyright ownership is prevalent, nor do
I know the "typical" outcome of explicit contractor-client negotiations on
the matter.  However, I suspect that for independent contractors, the GPL is
more broadly "problematic" than you admit.

[Nigel]
> Nothing in the GPL prevents you from doing this in-house or as 
> a contractor engaged in bespoke work, nor in fact in in any 
> circumstances except those where you want to ship a packaged 
> product that includes the GPL code in the package.
[Flemming]
> >That means that if a liberary, eg. the sapdb client lib is 
> >being linked to a non-GPL application then you are in violation of 
> >the license if you do not distribute the source for your application 
> >to your customers.
> 
> Again, this is germane to the case where you are shipping a shrink-
> wrap application as a product.  If the work is a bespoke product,
> the conditions of distribution are somewhat different anyway.
> 
> What I'm saying is that the GPL is not usually a hardship for 
> people doing bespoke work.

The GPL uses the term "distribute" where you use "ship a packaged product". 
When an independent contractor develops a program for one client, retains
copyright ownership, and then deploys that software or an enhanced version of
it for another client, I don't see how you could argue that "distribution" is
not occurring.  The software is most certainly being "distributed" to more
than one organization, not used in only a single organization.

> In the case where the software needs to be linked to non-GPL 
> components, the client merely needs to licence those components
> seperately (which they probably need to do anyway).  The GPL
> doesn't prevent you from linking GPL code to non-GPL components
> in-house...
[snipped quotes from the GPL]
> What this is saying is that merely linking to libraries does not 
> require your work to be GPL'd unless you wish to distribute the 
> GPL'd components as a part of a package.  It is a considerable 
> stretch to claim that a seperately distributed (say) web shopfront 
> program is in fact a modified version of a database interface library.  
> If a client can obtain the database manager and the web shopfront as 
> distinct bodies of code, they can mix and match to their heart's 
> delight.

Sure, the client *can* "mix and match to their heart's delight", but in
practice, the contractor performs the installation, not the client.  Any
contractor who retains copyright ownership over a given program he wrote and
reuses that program across clients invokes the "distribution" clause of the
GPL.

Here are two relevant quotes from the GPL and the official GPL FAQ:
"""
Is making and using multiple copies within one organization or company
"distribution"?
  No, in that case the organization is just making the copies for itself. 
When the organization transfers copies to other organizations or individuals,
that is distribution.
"""
"""
If modules are designed to run linked together in a shared address space,
that almost surely means combining them into one program.
"""

In your web shopfront example, "the organization" would be the contractor
(whether an individual or a company).  Installing "the modules" (the database
interface library, and the web shopfront (*or any linked portion thereof,
including a reusable library*)) for more than one client would constitute
"distribution".  Linking the web shopfront and the database interface library
in the same address space--no matter how dynamically--would constitute
"combining them into one program".

Of course it's unlikely that a contractor would reuse a web shopfront program
in its entirety across different clients.  However, *any common code*,
including reusable libraries that are used throughout the contractor's
diverse project portfolio, would need to be covered by a GPL-compatible
license if the database interface library were GPL.

Those who claim that loading a JDBC/ODBC driver on the basis of a string
specifier at runtime does not invoke the GPL are wrong, according to both the
"shared address space" clause above, and the following statement from the GNU
GPL FAQ:
"""
If the program dynamically links plug-ins, and they make function calls to
each other and share data structures, we believe they form a single program,
so plug-ins must be treated as extensions to the main program.
"""

------

All of this wrangling over the GPL only goes to first base as far as the
MySQL license is concerned.

Read this excerpt from the current MySQL license carefully:
"""
If your application is not licensed under GPL or compatible OSI license
approved by MySQL AB and you intend to distribute MySQL software (be that
internally or externally), you must first obtain a commercial license to the
MySQL software in question.

More specifically:

a) If you include the MySQL server in your non Open Source application, you
need a commercial licence for the MySQL server
...
c) If you use MySQL Software within your organisation and you don't want to
risk it falling under the GPL license, you are welcome to purchase a
commercial license.
"""

Because MySQL's license extends the virulence of the GPL to include both
external and
*internal* distribution, or even just the inclusion of the MySQL server in
any application, a commercial MySQL license is required **even** if:
1) The contractor is developing a program for which the client will own the
copyright (and which will be used only by that single client).
2) The database client libraries are covered by a less demanding license,
such as the LGPL.

So even if you're correct that most developers of bespoke software give
copyright ownership to the client (I have my doubts--what competent
programmer doesn't reuse foundational libraries across clients?), the client
will still be required to obtain a commercial MySQL license unless the client
is willing to release the bespoke software under a GPL-compatible license. 
MySQL requires this regardless of whether the code for the bespoke
application is ever reused in another organization.  The mention of internal
distribution in the MySQL license is so inclusive that it applies to
virtually any internal software usage, even transferring the MySQL software
from one disk to another during a server upgrade constitutes "internal
distribution".  That's the crucial difference between the MySQL license and
the standard GPL.

The MySQL license offers neither the freedom of the GPL (with regard to usage
within a single organization) nor (obviously) of BSD-style licenses.  As I
stated in a previous post to this list:
"""
I have nothing against MySQL's business model; businesses exist to make a
profit, and have every right to charge for their products.  I do not have a
sense of entitlement; I do not expect anything "for free".  I use open source
"products" with the full expectation that I will contribute a significant
chunk of my own time and effort to their development and support, as I've
done with the Python-Firebird drivers.  I expect to trade time and effort for
unlimited usage rights; the MySQL licensing model disallows that, so I'll not
participate in such an arrangement.
"""

__________________________________
Do you Yahoo!?
Yahoo! Calendar - Free online calendar with sync to Outlook(TM).
http://calendar.yahoo.com
_______________________________________________
sapdb.general mailing list
[EMAIL PROTECTED]
http://listserv.sap.com/mailman/listinfo/sapdb.general

Reply via email to