# What we've been looking at in software



## TheAndy tm (Oct 7, 2002)

As the person who is mostly responsible for checking software for OGL and d20 issues, I thought I’d take a moment to fill everyone in on what exactly we’ve been looking at.

To begin with, just a little warning for anyone thinking about using the licenses:  The Open Gaming License and the d20 System License are legally binding contracts.  It is the user’s responsibility to comprehend the terms of the licenses and to comply with them.  We strongly suggest that people who do not fully understand the terms seek legal counsel before proceeding with the licenses.

There has also been some confusion about the differences between the two licenses and what each allows someone to do.  The Open Gaming License allows someone operating under the terms of the license to use anything that has been designated as Open Content.  The only Open Content from Wizards is in the System Reference Document (SRD).  This currently contains most of the core rules information.  
The d20 System License lets someone use certain trademarks, such as d20 and Dungeons & Dragons, and to advertise the product as being compatible with D&D.  This license has some more stringent requirements in exchange for permission to use these trademarks.

The following are the major problems we've had with software:

Flat out infringement - If something by Wizards is not in the SRD, it is not Open Content.  Currently the only material in the SRD has been derived from the Player's Handbook, The Dungeon Master's Guide, the Monster Manual and the Psionic's Handbook. Those books are *not* open content themselves. However, versions of the information in those books have been made into the SRD which *is* open content. Understanding the difference is vital. Currently no other books have entered the SRD and thus the rules in those products are unavailable. Even a free web-enhancement is still copyrighted (and the copyright section of our web-enhancements specifically state that they are not Open Content).  Using copyrighted material without permission is infringement.  This is a bad thing.

Section 8 of the OGL - Section 8 of the Open Gaming License states that “You must clearly indicate which portions of the work that you are distributing are Open Content.”  For software “clearly indicated” means that someone has to be able to see all the Open Content.  It isn’t enough to say “all rules are Open Content”, someone using that program has to be able to see those rules.  The whole point of the OGL is to allow anyone to use Open Content under the license.  If that content is compiled into binary, a user can’t access that and use it freely.

The “no interactive games” stipulation of the d20 License - The d20 System Guide states that no d20 product can be an interactive game, then goes on to define interactive game as being software that “is designed to accept inputs from human players or their agents, and use rules to resolve the success or failure of those inputs, and return some indication of the results of those inputs to the users.”  Success and failure are the sticking points: because under standard d20 rules a high roll is always better than a low, we are treating any randomization (such as ability score generation) as having success and failure.  The reason behind our hard line on this (and the reason this requirement exists at all) is that we have a licensee for all electronic games.  We cannot authorize anything remotely resembling a game without seriously violating our contracts.  

The prohibition against character creation and leveling - The d20 license prohibits describing the process of creating a character and the process of applying the affects of experience to a character.  We’ve actually taken a fairly lenient stance on this.  A character generator can provide the pieces of a character, it just can’t explain what to do with them or determine when a character has enough experience to gain a level.  As long as the software doesn't describe how to create or level a character, it is ok.

These are the major problems we’ve encountered again and again.  We’re working on updating the license FAQs to explain more fully what needs to be done regarding software.  We are also working on a new version of the licenses that has clear language about software.  If you are considering using the licenses, please read the licenses and the FAQs found here: www.wizards.com/d20/.


----------



## smetzger (Oct 8, 2002)

TheAndy tm said:
			
		

> *Section 8 of the OGL - Section 8 of the Open Gaming License states that “You must clearly indicate which portions of the work that you are distributing are Open Content.”  For software “clearly indicated” means that someone has to be able to see all the Open Content.  It isn’t enough to say “all rules are Open Content”, someone using that program has to be able to see those rules.  The whole point of the OGL is to allow anyone to use Open Content under the license.  If that content is compiled into binary, a user can’t access that and use it freely.*




But if the binary file has been marked as all OGC that is "clearly indicated"; therefore it follows the letter of the license.  Furthermore it follows the spirit because now anyone may use this executable under the license freely, this is especially true for a DLL which any program could then 'use'.


----------



## Twin Rose (Oct 8, 2002)

*Re: Re: What we've been looking at in software*



			
				smetzger said:
			
		

> *
> 
> But if the binary file has been marked as all OGC that is "clearly indicated"; therefore it follows the letter of the license.  Furthermore it follows the spirit because now anyone may use this executable under the license freely, this is especially true for a DLL which any program could then 'use'. *




You would need to have the authority to mark EVERY piece of that binary as OGC.  If you were using, say, windows calls such as SendMessage or PostMessage, you would then be putting some of Microsofts Intellectual property as OGC, something I doubt very much anyone has the authority to release as OGC.


----------



## Fractalwave (Oct 8, 2002)

Thanks Andy.

I want to add that this is a basic description and these are just the most common infringements.

When you really start to dive into the licenses it gets much more complicated very quickly. You must look at the WotC license AND the licenses for the programming language(s) and libraries that you are using.

As I've said before, this is an unending process. You review, get reviewed, and get reviewed again and again. With software it is more complicated than with publishing in general because corrections and additional features are updated all the time. So you are constantly reviewing your own work for compliance while WotC can choose to review your work at any time.


----------



## Klintus Fang (Oct 8, 2002)

All I want to know is where human readable begins and ends.  

The program I am working on (which may never get finished), can construct a model of a character, with all his stats, etc., etc. and will be able eventually to get all the rules outlined in the SRD correct.  But the program itself will contain ZERO SRD or even OGC material.  It will simply be a generic "engine for modelling the rules of a role-playing game", but it will assume nothing and will contain nothing other than generic data structures and algorithms for combining those data structures together to build a model of a rule system.  But the rules for said system will be completely and totally contained within an external, human readable, text or xml file; a file completely separate from the binary.

In my view, if I do it this way, the source code for the binary is completely and totally not subject to any OGL restriction.  It is only the data file it uses to build the model of the DnD rule system that is subject to the restrictions.

So, what is WoTC's policy if I completely decouple the binary from the content in this way?


----------



## CRGreathouse (Oct 8, 2002)

*Re: Re: Re: What we've been looking at in software*



			
				Twin Rose said:
			
		

> *You would need to have the authority to mark EVERY piece of that binary as OGC.  If you were using, say, windows calls such as SendMessage or PostMessage, you would then be putting some of Microsofts Intellectual property as OGC, something I doubt very much anyone has the authority to release as OGC. *




Correct.  OGC does not need to be human readable, but releasing a binary as OGC is near-impossible.

I considered making one as proof-of-concept, but the more I looked at it the harder it seemed.  I finally gave up; it was too hard.


----------



## smetzger (Oct 8, 2002)

*Re: Re: Re: Re: What we've been looking at in software*



			
				CRGreathouse said:
			
		

> *
> 
> Correct.  OGC does not need to be human readable, but releasing a binary as OGC is near-impossible.
> 
> I considered making one as proof-of-concept, but the more I looked at it the harder it seemed.  I finally gave up; it was too hard. *




I just took a look at the license for Borland C++ Builder and I do not see anything in it that would restrict me from distributing an executable or DLL with or without any type of license.  What is the fundamental difference from me making a program and using a standard EULA and distributing the program; and me making a program and using the d20 license for the program?  

Incidentally I cannot even find any references to licensing restrictions for code compiled with MSVC 6.0.


----------



## herald (Oct 8, 2002)

I really, really don't mean this to sound offensive, but Andy, If your an intern how can any opinion you give be taken with any weight?

By definition your employment is not long term. Is the information your giving handed down from people above you? If this is the offical position of the company. Why is it posted here and not on WOTC boards?

Don't get me wrong, I know this topic was opened to foster positive growth, but I have to wonder this is the correct way of doing this.


----------



## CRGreathouse (Oct 8, 2002)

smetzger said:
			
		

> *I just took a look at the license for Borland C++ Builder and I do not see anything in it that would restrict me from distributing an executable or DLL with or without any type of license.  What is the fundamental difference from me making a program and using a standard EULA and distributing the program; and me making a program and using the d20 license for the program?
> 
> Incidentally I cannot even find any references to licensing restrictions for code compiled with MSVC 6.0. *




This goes beyond the basic knowledge of law that I have and well into the depths of the arcane legalese.  It's been discussed on the ogf-l, but I couldn't say for sure exactly how it works.  (I have a good idea, but don't want to stick my neck out here.)


----------



## MJEggertson (Oct 8, 2002)

The issue with releasing a binary (be it an executable, an dll, ocx, or whatever) is usually from using code that's not your own. So it's not an issue of the compiler, but what code you're using (ever write an MFC application?). One could write a binary, that's ogl compliant, as the standards and interfaces for these file types aren't subject to licensing. But perhaps, on a Windows box, you inherited your main gui from CWnd. Usually you're free to use the code for whatever you want, but releasing it under another license may not be possible, I just don't know.


----------



## Twin Rose (Oct 8, 2002)

herald said:
			
		

> *I really, really don't mean this to sound offensive, but Andy, If your an intern how can any opinion you give be taken with any weight?
> 
> By definition your employment is not long term. Is the information your giving handed down from people above you? If this is the offical position of the company. Why is it posted here and not on WOTC boards?
> 
> Don't get me wrong, I know this topic was opened to foster positive growth, but I have to wonder this is the correct way of doing this. *




Because he's the intern that everyone talks about when they say, "We have an intern working on it..."  He does a lot of the brunt work, and certainly deserves the respect of the community.   Think of him as a triage nurse - things come to him, and he decides which of them is worthy of note to go to the 'next level'.


----------



## Jay Lofstead (Oct 8, 2002)

I wish to reiterate the need of respect for Andy's opinion.  Please remember that he is the one that is validating compliance.  WotC has presumably trained him with what to look for and is so far trusting his work for determining compliance.

Look at it practically, if Andy is happy that what you have done is compliant, you are compliant (at least until there are changes to interpretations).  If he is not, then you are not likely to be branded as compliant.  He is the law.


----------



## herald (Oct 8, 2002)

I'm not trying to disrespect Andy. And let me go as far as to say thank you Andy for taking time to address the issues that you have. 

But I do not think that it is unfair of me to ask just how it is that Andy came to be in his position and how far does his authority extends. I some how doubt that he is the "Law". But I could accept that he is the "Authority". 

Given the current state of game related aids and 3e and the current issues with e-tools, I and many others would like to know that when we hear a quote coming out of WOTC that the individuals actually have the clout on which they speak. Since this is the very first time I have heard of "Andy", I don't think that an introduction is unfair.


----------



## Twin Rose (Oct 8, 2002)

herald said:
			
		

> *I'm not trying to disrespect Andy. And let me go as far as to say thank you Andy for taking time to address the issues that you have.
> 
> But I do not think that it is unfair of me to ask just how it is that Andy came to be in his position and how far does his authority extends. I some how doubt that he is the "Law". But I could accept that he is the "Authority".
> 
> Given the current state of game related aids and 3e and the current issues with e-tools, I and many others would like to know that when we hear a quote coming out of WOTC that the individuals actually have the clout on which they speak. Since this is the very first time I have heard of "Andy", I don't think that an introduction is unfair. *




I think it's safe to say that if an employee of any company posts something that sounds like an official statement, and signs it with the companies name, that they are acting in an official capacity.


----------



## smetzger (Oct 8, 2002)

MJEggertson said:
			
		

> *The issue with releasing a binary (be it an executable, an dll, ocx, or whatever) is usually from using code that's not your own. So it's not an issue of the compiler, but what code you're using (ever write an MFC application?). One could write a binary, that's ogl compliant, as the standards and interfaces for these file types aren't subject to licensing. But perhaps, on a Windows box, you inherited your main gui from CWnd. Usually you're free to use the code for whatever you want, but releasing it under another license may not be possible, I just don't know. *




People release windows code "under another license" everyday.  The license is usually a EULA, in our case it would be the d20 and/or OGL.  I do not see any license issues with straight windows code.  There may be some with database drivers and using the XML capabilities of IE or 3rd party libraries, but these would all be rather specific cases.


----------



## Jay Lofstead (Oct 8, 2002)

I concede I forgot to put in a smiley about Andy being "The Law".  I guess the Judge Dredd reference just seemed too obvious to me.  As Chris wrote, he did write speaking in an official capacity as a representative of the company (seemingly based on our request).  I'd still trust his opinion over almost anyone else's as long as he is in that position.


----------



## dvvega (Oct 9, 2002)

First off, thank you Andy (he of the vital internship that does the work for the great management).

This thread has been most helpful in clearing up a couple of questions I posted on the boards about a fortnight ago.

However one thing still remains to be answered ...

I understand the OGL, and what it is trying to accomplish, however the wording of the "interaction" clause is the one I'm most interested in.

Yes, they want to stop people developing computer games based on d20, and this is 100% understandable. However, the whole thing about interaction ... I'm a DM, and I use my computer to run my game ... as such I like the machine to take care of a lot of grunt work ... 

... now if it was to automatically roll attack rolls for my monsters, compare against a PCs AC and then roll damage, it breaks the interaction clause.

... if I roll my own dice and input the results into the machine, it still breaks the interaction clause (since it's working things out via human input).

Is the spirit of the OGL just about computer games? Or will it be left as is and essentially make anything actually useful like a combat organiser not allowed to be shared amongst fellow gamers?


----------



## Twin Rose (Oct 9, 2002)

dvvega said:
			
		

> *First off, thank you Andy (he of the vital internship that does the work for the great management).
> 
> This thread has been most helpful in clearing up a couple of questions I posted on the boards about a fortnight ago.
> 
> ...




The OGL doesn't have an interaction clause.

The d20 STL does.


----------



## dvvega (Oct 9, 2002)

Sorry, I actually meant the STL ... but all this OGL talk confused me ... but essentially my question stands in the spirit of its asking ...

And by your response, it would imply that to be OGL and can do all the interactive stuff, roll dice via a machine, automatically calculate what happens based on those dice, etc.


----------



## Fractalwave (Oct 9, 2002)

herald said:
			
		

> *Since this is the very first time I have heard of "Andy", I don't think that an introduction is unfair. *




The reason most have not heard of Andy is because people who have written programs have been talking to him directly and keeping him too busy to come out from his closet where he hides with his computer. We just let him up for air this week before he keeled over from exhaustion.  

Really, if you've needed to know who Andy is then you have known him. If not, then you didn't. There was no big secret or anything. Just work to do.


----------



## herald (Oct 9, 2002)

And to the people out there who develop software, or have a relationship with him already, I'm sure that you are satisfied, but since Andy came on to a message board that is open to the public, I think that Andy should answer for himself.

I'll avoid the general overwrought point of anyone can sign on here claiming to be a member of WOTC. All I am saying given the current situation with WOTC and the constant shifting priorities, I would like to understand what Andy's background is and where he gets his position of OGL and STL being used in software. Does he have a background in law, Open Licence software, RPGs or is he learning this as he goes along? 

There is nothing wrong in any situation, but I think that many of us in the public don't really understand how OGL and STL is being dealt with and would like to know.


----------



## Hardhead (Oct 9, 2002)

> Success and failure are the sticking points: because under standard d20 rules a high roll is always better than a low, we are treating any randomization (such as ability score generation) as having success and failure.




Ahem.  First, Andy, I doubt you're the one setting up these rules, so please don't take this in any way as a personal insult.  

Thereofre, uses of the pronoun "you" that follow are directed toward WotC in general, not Andy in specific.

That being said, that stance is pure crap.

First, high rolls are *not* always better in the d20 system.  If I'm dying, for instance, and I'm trying to stabilize, a low roll is better.  So right from the start, you're working from a bad premise.

Secondly, how do you fail when generating stats?  I have rolled stats up many times, and I have *never* failed to generate ability scores.  Sure, high rolls are better, but the d20 lisence doesn't say "any random result where one result is better than another."  Instead, it specifically mentions sucesses and failures.  And it's impossible to fail when rolling stats.  There is no set of concievable numbers whic results in a lack of stats.  At the wrost, you'd have six 3s.  But those are still stats.  

I'm sure Wizards can crush any fan programer with legal fees should he disagree, but any person with two brain cells to rub together couldn't possibly interpret the d20 lisence as prohibiting stat generation and hit point rolling.


- Z a c h


----------



## smetzger (Oct 9, 2002)

Hardhead said:
			
		

> *
> Secondly, how do you fail when generating stats?  I have rolled stats up many times, and I have *never* failed to generate ability scores.  Sure, high rolls are better, but the d20 lisence doesn't say "any random result where one result is better than another."  Instead, it specifically mentions sucesses and failures.  And it's impossible to fail when rolling stats.  There is no set of concievable numbers whic results in a lack of stats.  At the wrost, you'd have six 3s.  But those are still stats.
> *




I agree, now the original Traveller that had success and failure when creating a character.

WOTC is free to change the d20 license, but until they do a random character generator is a real d20 possibility.


----------



## Leopold (Oct 10, 2002)

A random PC generator NOT using the D20 label CAN succeed as only the D20 license has that stipulation.


Am i correct in this or is there a line in the OGL i am missing?


----------



## smetzger (Oct 10, 2002)

Leopold said:
			
		

> *A random PC generator NOT using the D20 label CAN succeed as only the D20 license has that stipulation.
> 
> 
> Am i correct in this or is there a line in the OGL i am missing? *




OGL is no problem.  Only d20 has the "No Interactive Game" stipulation.

I also believe that d20 is no problem since you cannot fail to make a character, cannot fail when rolling your ability scores, or fail when randomly selecting feats and skills etc.


----------



## CRGreathouse (Oct 10, 2002)

smetzger said:
			
		

> *I also believe that d20 is no problem since you cannot fail to make a character, cannot fail when rolling your ability scores, or fail when randomly selecting feats and skills etc. *




While I think that's reasonable, I wouldn't be willing to test that.

I would be willing to test the 'binary as OGC' concept under controlled conditions -- if I can find a good way to do it, I fully intend to host it on a free website and send a link to the appropriate people at WotC.


----------



## theoremtank (Oct 12, 2002)

> Success and failure are the sticking points: because under standard d20 rules a high roll is always better than a low, we are treating any randomization (such as ability score generation) as having success and failure."




This is one portion of the OGL, I still don't understand.  Ability Score quantities inherintly have nothing to do with success or failure.  All they do is describe how your character might be roll played or viewed.  Anyone who knows anything of D&D knows that ability scores are rolled up, so I still don't understand the harm in including the basic ability score generation method in the OGL. 

Another point of contention I have with what was mentioned in the original post is that of keeping the mystery behind how experience points work in the system.  What is the point of not making these rules open content?  Are we not supposed to know that characters increase levels or actually have experience points?

I'm just throwing out my opinion on these two points as I do not understand why such fundametal system rules should be left out of the open content.  In any case, it seems that if the System Reference Document were all one knew of, then that person might be pretty confused at the lack of rules in these areas.

edit - Sorry, I should have read through more of the previous posts.  But it appears that the ability score generation restriction obvioulsly is not making sense to other people also.


----------



## Klintus Fang (Oct 13, 2002)

FWIW:  the whole "can't explain how to make characters (which includes not being able to handle the rolling of ability scores)" thing is D20 specific is it not?

In any case, I always assumed that the reason for this particular clause was so there would be no way for anything published under the D20 license to supplant the need for the PhB.  Because of that clause, the PhB will always be the definitive and only reference on how to make a character in the world of material that adheres to the D20 license.

Just my take.


----------



## Sm!rk (Oct 13, 2002)

You can fail in some of the roll methods, some have rules for "bad" rolls where you are then allowed to reroll. Other than that I can't see some of the others having any failure conditions. 

However in a legal sense you've already lost if you go down this avenue, this is a definition of the no interactive-game concept, by defending the roll-failure stuff you are already admitting that rolling and failure is what defines a game.

Personally I would see a better model like Action-Response-Resolution as defining a game. In other words there is some action (in the game world), and you respond in some way, and then the event is resolved. So for instance a dragon breathes on you, you roll a save, and then that number is compared to your stats and the dragon breath to resolve what happened to you. That is interactive. Just rolling a dice and then comparing it to a table to determine success is meaningless in context of the Action-Response mechanism, also just rolling a dice with no other context is also not interaction of any form. "Playing" craps by yourself is decidely *not* playing a game, or interactive.

Two other points, its WotC's lawyers job to strengthen their position to perserve their buisness, no more, no less. What do they care about character generators? They print books. Its your job as the consumer of that material to defend your own rights. (That is above and beyond OGL or d20.)

Second, none of any of this matters nor any other opinion on this board except the "current view" of wotc until this is tested in court. Or if you could somehow convince WotC that they are wrong on this, not likely short of court dates.


----------



## dvvega (Oct 14, 2002)

So it seems that if you can remove all mechanics from the the software and have the software simply interpret the data files as to how to handle the game, you're set.

However there are a couple of things here that interested me...
(this is not an attempt at accusation etc ... I am after clarification)

1) the random generation of numbers ... that is something computers can have have been able to do for many many decades ... how do you tell the computer to do something it normally does? I'm assuming the point here is to have it interpret random generation in regards to d20 itself, not in general.

2) I think it's RPM that has some *.js files that handle SRD mechanics in "open script". Now if this is compliant with OGL/d20 (whichever is the most stringent) then what's to stop people distributing the source code of their system. Then if you want to change something you do it and voila ... it's user-definable?


----------



## Klintus Fang (Oct 14, 2002)

dvvega said:
			
		

> *1) the random generation of numbers ... that is something computers can have have been able to do for many many decades ... how do you tell the computer to do something it normally does? I'm assuming the point here is to have it interpret random generation in regards to d20 itself, not in general.
> *




As an off the cuff example (not saying this is a good implementation):

<characterGenerationMethod>
<dice>d6</dice>
<number>4</number>
<specialRule>drop lowest</specialRule>
</characterGenerationMethod>


----------



## kingpaul (Oct 17, 2002)

Hardhead said:
			
		

> *First, high rolls are *not* always better in the d20 system.  If I'm dying, for instance, and I'm trying to stabilize, a low roll is better.  So right from the start, you're working from a bad premise.*



That really depends on your POV.  From your statement, I assume that you're looking for anything below a 10 on a d% roll.  What about those who are looking for above 90?  Both POVs satisfy the 10% chance of success.


----------



## bolie (Oct 17, 2002)

*Stat Rolling*

Sign me up as not understanding how one can "fail" at rolling stats.  Nor do I understand how a character generator program that allows for rolling of stats might possibly compete with an actual game.

My cynical side can't help but think that this is an attempt to make non-WotC character generator programs less competitive.  After all, e-Tools obviously can generate stats...

Bolie IV


----------



## dvvega (Oct 18, 2002)

Bolie: the "threat" exists ... for example:

If I developed a piece of software that did EVERYTHING. It allowed character creation, running combat, even displaying maps etc ...

it would only be a step or two away to make it completely automatic (no user input of dice rolls from players etc) and thus an interactive style game.

For example: NWN ... DM can create an adventure, party goes through it and gains experience, levelling, while DM runs it. Everything is automated ... and you've just done essentially what you do in PnP. Of course this would bore me to tears since I love the face to face roleplaying aspect, but the point is made.


----------



## smetzger (Oct 18, 2002)

dvvega said:
			
		

> *Bolie: the "threat" exists ... for example:
> 
> If I developed a piece of software that did EVERYTHING. It allowed character creation, running combat, even displaying maps etc ...
> *




Well duh, attack rolls have success or failure as well as skill checks.  So, that would be against the d20 license and you would have to use the OGL.

The point is you cannot fail to roll your attributes and you cannot fail when choosing your race and class.


----------

