> Ryan S. Dancey
>
> This is the relevant section of the GPL:
>
> Section 2:
>
> "In addition, mere aggregation of another work not based on the
> Program with
> the Program (or with a work based on the Program) on a volume of a storage
> or distribution medium does not bring the other work under the
> scope of this
> License."
>
> This is how separate IP elements are handled. You put them in
> external data
> files and then the GPL'd code reads those files at runtime. As
> long as the
> two files are not compiled together into one file or linked statically, or
> linked dynamically with defined references through an API, you
> don't need to
> use the GPL license with that external file.
This is fine for data files, but it doesn't offer a complete solution. The
problem arises when the GPL and the new OGL are combined, so bear with me.
The GPL has a prohibition against bundling components, which is to say, you
cannot create a GPL program and bundle it with non-GPL software. You can
have GPL components which are separate from private software, but if you
distribute them together they must all fall under the GPL.
>From section 2 of the GPL (http://www.gnu.org/copyleft/gpl.html)
"These requirements apply to the modified work as a whole. If identifiable
sections of that work are not derived from the Program, and can be
reasonably considered independent and separate works in themselves, then
this License, and its terms, do not apply to those sections when you
distribute them as separate works. But when you distribute the same sections
as part of a whole which is a work based on the Program, the distribution of
the whole must be on the terms of this License, whose permissions for other
licensees extend to the entire whole, and thus to each and every part
regardless of who wrote it."
The language of the GPL alone is VERY restrictive on this topic, but as you
pointed out it can be done so long as the software is distributed
separately. The real problem comes when you combine it with the proposed
changes to Section 2 the OGL:
"If the publication you are distributing includes software that contains
Open Game Content, the complete source code of that software must be
licensed using the GNU General Public License GPL)."
The reason this is bad is that it pretty much precludes the use of
high-level tools for creating software. It especially precludes the use of
rapid-development tools such as Visual Basic, Powerbuilder, Delphi, etc...,
which have in their heart a copyrighted runtime library which must be
present on the machine in order to run. It also precludes the use of
commercial software components such as TCP/IP socket libraries, COM
controls, and Java packages.
The GNU project was designed to create a free version of Unix and the
utilities which make that operating system function, which implies a level
of sophistication in its audience which is simply not applicable to the
gaming industry. The GPL works great if you are a guru starting from
scratch, but it is simply inappropriate for entry to mid-level Windows
programmers who want to create end-user software and share it with fellow
gamers.
By itself, GNU does allow the use of non-GPL components with a GPL program,
but in such a situation the components cannot be distributed with the
program. Although this is (inadvertently) prohibited by your proposed
changes to the OGL, it appears (at first) that the solution to this problem
is to distribute the components separately from the program, and force the
user to make the connection. The problem with this solution lies in the
standard license terms for the redistribution of software components: they
typically can only be redistributed as part of a program, not by themselves.
Forcing the licensee to go through great gyrations and investigations to
comply with the GPL is a disservice to the gaming community. The
alternative, to force them to use only the most primitive tools to develop
Open Gaming software, is just as bad. Commercial rapid-development tools
are virtually the only way an amateur programmer can create an application
for the Windows environment, and to prohibit their use will eliminate the
vast majority of Open Gaming software before it even gets written.
Instead, I propose the following:
"If the publication you are distributing includes software that contains
Open Game Content, a complete copy of all such Open Content must be
distributed with that software in a separate, human-readable form."
This allows software to be 'closed IP' while still forcing all Open Content
to be available to all who wish to use it. Any changes to the Open Content
made by the programmer to accommodate the needs of the code would need to be
clearly documented, and thus available to the entire open gaming community.
Thoughts?
-Brad Thompson
Vice President (Information Systems)
Petro Data Source, Inc.
-------------
For more information, please link to www.opengamingfoundation.org