======================================================= This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. ======================================================= These are a few Inform source files you can include in your own Z-Code programs if you want to put them under the GNU General Public License, and/or the GNU Library General Public License. They don't rely on ANY other Inform libraries, nor do they require you to add much special code to your own files. Simply add the directive: Include "COPYING"; or: Include "COPYING_LIB"; or: Include "COPYING_BOTH"; to your main .inf source, and call the COPYING(); or COPYING(1); function from somewhere in the program [probably as an offshoot of the "info" section]. COPYING(0); brings up the General Public Licence, and COPYING(1); displays the Library General Public License. Maybe I should set it up so COPYING(3); displays both, in sequence, but whatever. You can do it yourself if you want. They use only three routines, named COPYING(); C0PY1NG(); and C0PY1NG_L1B(); [the "O"s and "I"s in the latter two are ones and zeroes, by the way], so there should be no conflicts with any existing routines or routine names you might already have set up. They use only local variables -- no globals -- so again no conflict. There are a few lines of assembly code, but much less than I've seen in other sources. You may want to add "COPYING" and GnuSub(); to your program's command vocabulary, but that's really pretty basic: ! Added wherever your other verbs are kept: [ GnuSub; COPYING(0); ]; ! for the GPL ! or: [ GnuSub; COPYING(1); ]; ! for the LibGPL ! or: [ GnuSub; myStatement(); COPYING(0); COPYING(1); ]; ! for Both ! Added after: Include "Grammar"; Verb "gnu" "license" "copyright" "copyleft" "copying" * -> Gnu; You might want fewer verbs than that, especially if your game has a lot of rabid yaks and brave, noblehearted goats in it. ;-) In the third case, "myStatement();" was just an suggestion: if under both Licenses, you might want to throw in a quick note about what parts are under which License, and why. I'm not sure if you actually can put *chunks* of a program under the standard GPL, but I doubt it. Looks like an all-or-nothing proposition, so there may be no way to use both in one program anyway. Remember that the Library GPL allows code libraries to be included in proprietary software, or programs where the author considers their own original sources private. This happens a lot with Z-Code story files, since viewing the source would spoil any fancy plot-twists and surprises, although Inform games are rarely [if ever] commercial. I should mention that this code is itself under the GNU Library General Public License, except that the text it prints up may not be changed [as per the terms of the GNU Library General Public License]. Of course you can change what the code *does* -- how these routines behave -- but if it is used to display either License, the text itself MUST remain intact. If you use it to display other text, not related to either License, then of course changes and improvements are completely unrestricted. -- pAb-032871 Fri, Jan 26, 2001 3:42:39 PM