Re: Open Source *Game* Programming License

2001-01-18 Thread Henningsen

>What I would argue is that someone (presumably a company, but it could
>be anyone) might provide the source code for a game program, together
>with a usable but less than awesome "reference" world file with a
>published format (so that if anyone else wants to develop open world
>files they may), then advertise and sell (yes, _sell_ :))
>professionally-developed world files.

That is indeed the best way to make money at open source games that anyone
has been able to point out so far, and it will mostly compensate artists. A
way for programmers to get paid would improve this model, but hey, it's a
good start. And in my suggested LGP license (which is not really a new
license, but a dual licensing scheme, and which has garnered no response
from this list so far) programmers (copyright holders) would also get
compensated if and when a commercial license is sold. For instance, if a
commercial publisher wanted to pick up an LGP-licensed game, and pay for
super-cool worlds with expensive graphics, and without GPL'ing his code
enhancements, *then* the programmers would get paid. Maybe a far shot, but
better than nothing.

Peter Henningsen
alifegames.com




Re: Open Source *Game* Programming License

2001-01-18 Thread Bryan George

I'm not arguing that anyone should pull a Mozilla and "open source" a
non-functioning version of software.  That clearly serves no one's
interests and would rightly antagonize the Open Source community.

What I would argue is that someone (presumably a company, but it could
be anyone) might provide the source code for a game program, together
with a usable but less than awesome "reference" world file with a
published format (so that if anyone else wants to develop open world
files they may), then advertise and sell (yes, _sell_ :))
professionally-developed world files.

At that point the source code is for a player that delivers content
obtained commercially.  The Open Source community can develop and
improve the player, and develop free worlds if it likes, the vendor can
be fairly compensated for the time and effort required to develop the
"pro" worlds, and its competitive edge against other companies is
maintained through retaining talent and developing tools to construct
content.

See, free software, but not free beer.  Or to put it another way, nobody
walks away with everything, but everybody walks away with something.  I
may be completely full of spam here, but it seems like a reasonable
approach.

As always, IANAL, and I _so_ do not speak for my employer... :)

Bryan

Ken Arromdee wrote:
> 
> On Thu, 18 Jan 2001, Bryan George wrote:
> > > Oh, you could make a new world file, but by that reasoning,
> > > couldn't I make a program that needs readline, distribute it without readline,
> > > and tell the user to make a new readline function?  World files are at least
> > > as important to a game like Quake as readline is to a program that uses it.
> > Yes - likewise, a Website is useless without its content, a CD is
> > useless without songs, a cell phone is useless without a service
> > contract.  Shall I go on?
> 
> Service contracts aren't code, or even copyrighted material.
> 
> As for the other two examples...  Web servers and CD players are *typically*
> used by separately getting the server/player, and the content.  Saying "we
> won't supply any web pages, get them yourself" is a reasonable thing to do
> because the web server isn't tied to any particular page; users can and do
> use many different web pages with it.
> 
> I can go get a different CD for a GPL'ed CD player.  I can't get a different
> set of Quake data for use with my GPL'ed Quake engine (conversions typically
> require owning the original game).
> 
> Compare this to the readline situation: as long as the readline library is the
> only library available for use with the program, the GPL on one requires that
> the GPL be on the other one too.
> 
> (Disclaimer: I personally reject the readline reasoning, but my rationale for
> that rejection does not apply to Quake.)

begin:vcard 
n:George;Bryan
tel;fax:703-883-6708
tel;work:703-883-5458
x-mozilla-html:FALSE
url:http://www.mitre.org
org:The MITRE Corporation;Signal Processing Center
adr:;;1820 Dolley Madison Blvd., M/S W622;McLean;VA;22102-3481;USA
version:2.1
email;internet:[EMAIL PROTECTED]
title:Lead Signal Processing Engineer
x-mozilla-cpt:;-9184
fn:Dr. Bryan George
end:vcard

 S/MIME Cryptographic Signature


Re: Open Source *Game* Programming License

2001-01-18 Thread Seth David Schoen

Ryan S. Dancey writes:

> From: "Henningsen" <[EMAIL PROTECTED]>
> 
> > The game programming community has another big problem with the GPL:
> > Cheating is much easier when you have the code.
> 
> Of course, there's another faction in the community who believes that by
> having the code, work can continuously be done to thwart/foil the hackers;
> most of whom are able to use the same debugging/profiling tools the
> developers have and can get at the internals of object-code only releases
> anyway.
> 
> Openness is good for gaming just like it is good for cyrptography.

In a multiplayer network game there are at least three kinds of cheating
by modifying a client:

(1) Substantive deception by a client whose output is trusted -- for example,
falsely claiming not to have been injured by something, falsely claiming to
have unlimited resources, etc.

(2) Exposing too much information to the user when the client is trusted with
extra information to assure UI consistency -- for example, Quake servers
sent information about rival players' positions in order to let clients
produce realistic sound effects, but some clients rendered walls as
transparent to reveal the other player's locations.  This is considered
cheating because the users aren't meant to have all the information sent
to their clients in this case.

(3) Augmenting human players' reflexes, stamina, patience, or decisionmaking
skills -- for example, by having an "autopilot", scripting features, or an
AI engine to calculate some player responses automatically.  This is
considered cheating because other players think that a human rather than a
robot is at the other end.  Also, a robot integrated deeply into the client
can make use of method (2) above to make use of information that might not
even be available to the human player.

Attacks (1) and (2) may be protocol design issues (which having the code
just makes easier to exploit), but attack (3) is fundamental and can't be
detected or prevented in general.

-- 
Seth David Schoen <[EMAIL PROTECTED]>  | And do not say, I will study when I
Temp.  http://www.loyalty.org/~schoen/  | have leisure; for perhaps you will
down:  http://www.loyalty.org/   (CAF)  | not have leisure.  -- Pirke Avot 2:5



Re: Open Source *Game* Programming License

2001-01-18 Thread Ryan S. Dancey

From: "Henningsen" <[EMAIL PROTECTED]>

> The game programming community has another big problem with the GPL:
> Cheating is much easier when you have the code.

Of course, there's another faction in the community who believes that by
having the code, work can continuously be done to thwart/foil the hackers;
most of whom are able to use the same debugging/profiling tools the
developers have and can get at the internals of object-code only releases
anyway.

Openness is good for gaming just like it is good for cyrptography.

Ryan





Re: Open Source *Game* Programming License

2001-01-18 Thread Ken Arromdee

On Thu, 18 Jan 2001, Bryan George wrote:
> > Oh, you could make a new world file, but by that reasoning,
> > couldn't I make a program that needs readline, distribute it without readline,
> > and tell the user to make a new readline function?  World files are at least
> > as important to a game like Quake as readline is to a program that uses it.
> Yes - likewise, a Website is useless without its content, a CD is
> useless without songs, a cell phone is useless without a service
> contract.  Shall I go on?

Service contracts aren't code, or even copyrighted material.

As for the other two examples...  Web servers and CD players are *typically*
used by separately getting the server/player, and the content.  Saying "we
won't supply any web pages, get them yourself" is a reasonable thing to do
because the web server isn't tied to any particular page; users can and do
use many different web pages with it.

I can go get a different CD for a GPL'ed CD player.  I can't get a different
set of Quake data for use with my GPL'ed Quake engine (conversions typically
require owning the original game).

Compare this to the readline situation: as long as the readline library is the
only library available for use with the program, the GPL on one requires that
the GPL be on the other one too.

(Disclaimer: I personally reject the readline reasoning, but my rationale for
that rejection does not apply to Quake.)




Re: Open Source *Game* Programming License

2001-01-18 Thread Bryan George

Ken Arromdee wrote:
> 
> On Thu, 18 Jan 2001, Henningsen wrote:
> > If one were to strip off the basic user interface from GPL'd game software
> > and keep that proprietary, that would indeed be a hole. But most game
> > graphics is large world files, and you can run the game software with
> > different versions of these files to visit different worlds/play different
> > games.
> 
> But those files make up a large portion of the game.  The game is useless
> without them.  Oh, you could make a new world file, but by that reasoning,
> couldn't I make a program that needs readline, distribute it without readline,
> and tell the user to make a new readline function?  World files are at least
> as important to a game like Quake as readline is to a program that uses it.

Yes - likewise, a Website is useless without its content, a CD is
useless without songs, a cell phone is useless without a service
contract.  Shall I go on?

This is actually a much better illustration of the "Free software vs.
free beer" concept than the one Mr. Schmid spent a great deal of
bandwidth trying to sell.  That reminds me - can I get this list in
digest form?  My "delete" finger is pretty calloused by now... :)

Bryan

begin:vcard 
n:George;Bryan
tel;fax:703-883-6708
tel;work:703-883-5458
x-mozilla-html:FALSE
url:http://www.mitre.org
org:The MITRE Corporation;Signal Processing Center
adr:;;1820 Dolley Madison Blvd., M/S W622;McLean;VA;22102-3481;USA
version:2.1
email;internet:[EMAIL PROTECTED]
title:Lead Signal Processing Engineer
x-mozilla-cpt:;-9184
fn:Dr. Bryan George
end:vcard

 S/MIME Cryptographic Signature


Re: Open Source *Game* Programming License

2001-01-18 Thread Ken Arromdee

On Thu, 18 Jan 2001, Henningsen wrote:
> If one were to strip off the basic user interface from GPL'd game software
> and keep that proprietary, that would indeed be a hole. But most game
> graphics is large world files, and you can run the game software with
> different versions of these files to visit different worlds/play different
> games.

But those files make up a large portion of the game.  The game is useless
without them.  Oh, you could make a new world file, but by that reasoning,
couldn't I make a program that needs readline, distribute it without readline,
and tell the user to make a new readline function?  World files are at least
as important to a game like Quake as readline is to a program that uses it.




Open Source *Game* Programming License

2001-01-18 Thread Henningsen

>Do graphics and data files count as "interface definition
>files"?  I really don't know.

The general consensus and unopposed practise in the game programming
community is that they do not.

>In any case I would consider it a hole in the GPL if things
>like essential parts of the user interface (ie graphics)
>did not need to be made available while the work as a whole
>was GPLed.

If one were to strip off the basic user interface from GPL'd game software
and keep that proprietary, that would indeed be a hole. But most game
graphics is large world files, and you can run the game software with
different versions of these files to visit different worlds/play different
games. Such files are somewhere in the middle between the graphics interface
of a program, and a file a program like a word processor is used to open,
view, and manipulate. Gaming programmers tend more towards the second
interpretation, which is of course not touched by any program licenses.

The game programming community has another big problem with the GPL:
Cheating is much easier when you have the code. This is a nasty problem for
internet multiplayer games. When I discussed this with Richard Stallman some
years ago, he suggested to keep all important data on a central server.
However, this may be too expensive for many open source developers, and it
would close the door on infinitely scalable, peer-to-peer games, which are
the future IMHO. One method to address this is to keep databases of users
with a "trust"-ranking. However, things would be easier and more fun for
gamers if game programmers could add a closed source security and encryption
layer around multiplayer programs. This would be welcomed by virtually *all*
multiplayer gamers and game programmers.

The following is an attempt to address the specific problems of the game
programming community with the GPL. This is a "dual license" scheme which
would have to be complemented by an agreement between the copyright holders
and the maintainer of the software. I have some questions after the license
text. The text is written to license a program called DungeonMaker by
alifegames.


Linux Game Programming (LGP) License

1. This software is provided in hopes that it may be useful, but it comes
with absolutely NO WARRANTY whatsoever.

2. You are free to run this software any way you want. Enjoy!

3. You can modify and incorporate this software into your own projects under
one of the following three licenses:
   a) Commercial License
   You can buy a commercial license to the software from the maintainer of
this software, who acts on behalf of the copyright holder(s). This entitles
you to do whatever you like with the software.  In addition to the open
source code you will receive support from the maintainer as needed. It is
also possible to hire the maintainer as a consultant to adapt this software
to your project.
   b) Free License
   If you release a single player version of your software under an Open
Source license that is approved by the OSI, you can get a commercial license
for free in order to allow you to put a closed source layer of encryption
and security around your otherwise open source software.
   c) Free Software Foundation's General Public License (GPL)
   This software is released under the GPL. That means basically that you
can modify the software and incorporate it into your own project, as long as
that is also released under the GPL. 

4. If you use the software in your projects or develop new versions of it,
we request that for the benefit of all involved you follow these rules:
   a) Naming Convention: Choose a triplet of letters that is not used by
another group that has forked this software, and call your version of the
software: DungeonMaker. For instance, if you choose "akf" as your
3-letter-code, your 1.0 release would be called DungeonMaker0.7akf1.0 if you
had branched off from version 0.7.
   b) Central Access: If you release a new version of the software on the
web, please send the URL where it can be found to the maintainer of this
software. The maintainer will post a map with all known versions on
http://dungeonmaker.sourceforge.net
   c) Artistic Credit: In the credits and/or about box of your game or
wherever you deem appropriate, please give the author(s) of this software
proper artistic credit by using the line "Random Dungeons created by
alifegames::DungeonMaker". 

5. For all questions arising from this license, for bug reports or support
requests, contact the maintainer, currently: [EMAIL PROTECTED]


Questions: My understanding of the GPL is that I cannot *require* people who
make use of the GPL license release of my software to adhere to point 4, I
can only ask - right?

Is what I write about the GPL in 3c) a correct wording, and do I
still have to include the text of the GPL with the software?

Are points 1 and 2 too short for legal comfort? I see other licenses
drag on and on about this, but I fail to see the point.

Any