Disclaimer 1: I do not want to beat the old dead horse. I've read many of
the discussions in the mailing list and found some of the
stuff I will be talking about not to be covered by this
e-mail. (So I will brought out a brand new pegasus for you
to beat).
I am sorry if this looks to you like of deja-vu, but I assure you that
I've done enough research on this mailing list before posting this e-mail
:)
Disclaimer 2: Please leave the D20 licensing stuff outside of this
discussion. I do not plan to do a D20 licensed videogame :)
I would like to use the System Reference Documentation as the
low-layer basis of a game system I need for two projects: an adventure
game, and a multiuser scientific project I am partecipating in.
Both of them would be open source software, one with the non-OGL parts
distributed under a modified gpl license, the other would be an online
simulation (umm... in part a game) under lesser-gpl (library-gpl). The
OGL licensed modules would be cleanly marked by putting them on separate
jarfiles which will be talking with the other software.
Notice that I am completely convinced that OGL software has to be
distributed as opensource (and I like it)... but I still have some
questions to ask.
1) I read about the redistribution as sourcecode of the OGL.
When I redistribute OGC Licensed contend, do I really to have to
distribute it ONLY as sourcecode?
Can't I distribute it BOTH as sourcecode and as binary in the same
download, certifying somewhere, in a disclaimer file, that I have done
a 1:1 compiling and the code hasn't passed under a "code-obsfuscator"?
Why wouldn't something like this disclaimer work, if it wouldn't?
"I, [packager], hereby certify that [jarfile], built in [date] is
subject under the OPEN GAMING LICENSE, and has code that has
been taken from [sourcecode], which is disciplined under
Open Game License... and which is avaiable free of charge on: the
internet at [location] (and eventual real-life snail address sources
providing money or phisical medium and s.a.s.e.)"
2) Installer:
What would happen if I create a small installer, like the one
coming with the Mozilla and Netscape Browser... which asks me which
stuff I would like to download and from which source I would like to
compile it (or re-use in the case of a binary download)?
Let's say that the installer has a user mask like this:
-------
SRD and OGL repository.
Now you have to install the SRD-1.0.0.0 packages in order to play:
what do you want to do?
( ) Use the code from the following packages already installed on your
computer: [no sources]
(O) Download the source code and compile it on your machine
(default)(please note: may be a slow process)
( ) Compile the source code from the following zipfile: [no sources]
( ) Download both the source code and the pre-compiled classes
( ) Download only the binary code
(you can download the OGL source code in the future from
opensource.myproject.org)
-------
3) Derivation. This is still tricky and maybe risks to be a little
raise dead on the former horse :)...
What parts that call OGL code will fall under OGL code?
What parts are to be found to be derivative?
Combat and character management are low level mechanics already found
in the srd, so they would wind up in the srd.jar file. But a command
interpreter which takes the input from the keyboard, and the
game viewer which displays the result on the screen isn't.
Both the command interpreter and displayer in this case are simply
doing the same job of a game master: translate the game rules in order
to allow the player to know the results of his actions.
Please note: this case reflects the software pattern called the "Model
View Controller". It's a quite common design pattern architecture in
programming, and it's present both on stand alone software and on
client-server software.
*** BORING EXPLAINATION FOLLOWS ***
The Model View Controller paradigm says that you have to divide your
software in three modules.
One module will CONTROL the user input, and inform the MODEL of requested
changes.
The MODEL module is the actual program simulation, and will update the
VIEW with visible changes.
The VIEW will inform the user of the changes.
The MVC model was born to produce the necessary separation which avoids
that software becomes too tied, so that if you do a changes (restriction)
in the values allowed by the model, you would have to throw away
everything in the user interface (which does the VC part). This is just
one of the benefits provided by MVC.
The MVC also is used by online web services: if you have a cellphone and
you want to read the news on a website, you only have to access the
cell-phone based VIEW site and have the same datas (MODEL) from the
website that are given to the other, pc-based, users...
*** BORING EXPLAINATION ENDS ***
Ok, now, I would give this interpretation (of course OGL is OGL, and maybe
my interpretation is flawed).
If I only use the OGL material in the MODEL part of my software
architecture, the other stuff does not have to be licensed under the OGL.
Someone said that flavour text or graphics are going to coem straight from
OGL.
Yes, maybe "flavour text" or graphics displayed will be, in game, provided
as OGL license: but this could be passed easily.
I can put the possibility to display an encyclopedia in-game with
informations on the monster. Everything covered by OGL (like the
illustration or flavour text) would bear a small marking which is
acknowledged in the License and Copyright sections. (Add the following
phrase in the OGL identification section:
In game: Everything bearing the small "OGL" (open gaming license) mark in
the description panels or graphics while displayed in the Encyclopedia
form.
Maybe the Encyclopedia would be a great way to do a presentation of the
game rules as well :D
4) What would happen in an online-game paradigm?
Now: consider this architecture:
[ OGL CORE ] --- [ REFEREE CORE ] --- [ COMMUNICATION CORE ] --- [ CLIENT ]
Ogl Core, Referee Core, Communication Core are distributed on the "game
provider" servers. The Client is the player game client.
OGL Core is licensed with OGL. Referee and Communication Core are not, and
they only use OGL Core to do some calculations.
The Client may receive and display some OGL material (text or gfx, again
the Encyclopedia would be a good way to check it out), but most of the
time it won't as it would be the game moderated outcomes.
Now: (and this is tricky) does the Client need to be aware that the COMM
Core and Referee Core are basing themselves on an Open Gaming Content game...?
5) What happens if the game player has a very limited platform?
Let's say: I want to play with my cellphone a OGL game which is on a
server.
Does the source code used by the server have to stay all times on the same
physical medium of the player's client?
I hope I haven't bored you, and haven't started a new batch of licensing
nightmares for this mailing list and WOTC layers or the like. I really
like the SRD system and I would really love to be able to use it for my
projects.
Notice: I am really doing the SRD conversion for two open source projects.
The "Scientific" project is an artificial intelligence research project
which will only incidentally have a layout like a MMORPG
http://www.sourceforge.net/projects/avatarsdev/
(maybe the url is wrong, search for avatarsdev on www.sourceforge.net)
It's not that we would like to enter the business of MMORPGs, but we
decided that the MMORPG form is the best suited for our project :)
(and for doing a project which is fun as well...)
A big Ciao to everyone (and to Ciro Alessandro Sacco as well).
--
Davide Silvio Inglima-Modica
"Mana is rapidly disappearing from the world, Even the"
"mana tree has begun to wither" - Seiken Densetsu 3
http://web.tiscali.it/inglima/davide/
mailto:[EMAIL PROTECTED]
_______________________________________________
Ogf-l mailing list
[EMAIL PROTECTED]
http://mail.opengamingfoundation.org/mailman/listinfo/ogf-l