Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

IF Game and Interpreter bundles

5 views
Skip to first unread message

JDC

unread,
Feb 11, 2007, 7:50:18 PM2/11/07
to
I have now created a fairly polished prototype of a game/interpreter
bundle for OS X which allows you to either play the game directly or
install the game and interpreter. I have put a bundle of my game
Mobius with the Zoom interpreter on my website:
http://www.math.psu.edu/clemens/IF/

I also have a couple of screenshots, so non-Mac users can take a look.

In addition to being able to play or install, this allows the user to
display Emily Short's Introduction to IF booklet, and offers some
links to useful IF websites.

This is set up in such a way that all of the data is read from
property list files, and the game file and interpreter just need to be
moved into the appropriate directory. Hence, it should be
straightforward to use this on other OS's as well. I haven't set up an
empty template yet, but I can do this is people would find it useful.

You would then create a bundle by:
- copying an interpreter and your game file into the Resources
directory
- optionally copying a cover art file into the Resources directory
- editing the GameInfo.plist file to include the author name, title,
name of game file and interpreter, etc. (specifying "none" in the
cover art or website entries to omit them), and edit the
InfoPlist.strings and Info.Plist files to set the application title.
These are xml files and can be edited in any xml editor or regular
text editor
- And you're done.

I'd be curious to know what people think of this, and whether people
would find making such a template available useful to them. It needs a
bit of tweaking yet (in particular, it's built with a pretty old
version of xcode so it's not universal; I'm too lazy to register as an
Apple developer to upgrade...). I've also tested this with
Spatterlight and with TADS games and it works just as well.

Well, that was how I spent my weekend...

-JDC

Emily Short

unread,
Feb 12, 2007, 12:12:13 AM2/12/07
to
On Feb 11, 4:50 pm, "JDC" <j...@psu.edu> wrote:
> I have now created a fairly polished prototype of a game/interpreter
> bundle for OS X which allows you to either play the game directly or
> install the game and interpreter. I have put a bundle of my game
> Mobius with the Zoom interpreter on my website:http://www.math.psu.edu/clemens/IF/

Mysteriously, when I start this it bounces a few times in the Dock and
then closes again without apparently doing anything. Maybe this is
because I also tried the previous version?

However, from the screenshots it looks nice; though I note on the
install-game shot there are a couple of typos. ("simply double-click a
the game file", "gamees"). But in general, cool.

JDC

unread,
Feb 12, 2007, 2:20:22 AM2/12/07
to
On Feb 12, 12:12 am, "Emily Short" <emsh...@mindspring.com> wrote:
> Mysteriously, when I start this it bounces a few times in the Dock and
> then closes again without apparently doing anything. Maybe this is
> because I also tried the previous version?

Hmm; xcode seems to have linked to files on my HD (even in the
deployment build). It worked fine on my system :). Sorry about that;
first time using xcode...

I have a new version up now which seems to work.

> However, from the screenshots it looks nice; though I note on the
> install-game shot there are a couple of typos. ("simply double-click a
> the game file", "gamees"). But in general, cool.

Thanks; I've fixed those typos. The current build looks slightly
different from the screenshots since I'd starting making changes, but
is pretty much the same.

-JDC

d.ki...@btinternet.com

unread,
Feb 12, 2007, 4:20:36 AM2/12/07
to
I hate to be the one to bring this up, but have you worried about the
licensing implications of this? Zoom is under the GPL, but your bundle
includes neither Zoom's source code nor the GPL license file, which
isn't really on.

David

JDC

unread,
Feb 12, 2007, 5:07:55 AM2/12/07
to

Hmm; thanks for bringing this to my attention. I had thought briefly
about this (but only briefly since I was just sort of playing with the
prototype); I somehow thought the license was in the copyright notice
of Zoom itself and so would be available when it was launched, but now
that I check I see that it is included in an accompanying readme file.
I guess I could add the source or license file, but I need to figure
out the appropriate way to do this, so I should probably take the file
down for now and figure this out next weekend. I'll leave the
screenshots up in case anyone still wants to take a look.

This does seem to present a problem for my scheme, which was to allow
an author to make a bundle of a game with his favorite interpreter as
a single application. I guess I could put in a hook for displaying a
license, and leave it up to the author to include the appropriate one
himself; it would be suboptimal to have to include it in the template
itself since an author can include different interpreters. I'm not
sure of a good solution to this.

-JDC

d...@pobox.com

unread,
Feb 12, 2007, 5:31:02 AM2/12/07
to
On Feb 12, 10:07 am, "JDC" <j...@psu.edu> wrote:
> On Feb 12, 4:20 am, d.kin...@btinternet.com wrote:
>
> > I hate to be the one to bring this up, but have you worried about the
> > licensing implications of this? Zoom is under the GPL, but your bundle
> > includes neither Zoom's source code nor the GPL license file, which
> > isn't really on.
>
> > David
>
> Hmm; thanks for bringing this to my attention. I had thought briefly
> about this (but only briefly since I was just sort of playing with the
> prototype); I somehow thought the license was in the copyright notice
> of Zoom itself and so would be available when it was launched, but now
> that I check I see that it is included in an accompanying readme file.
> I guess I could add the source or license file, but I need to figure
> out the appropriate way to do this, so I should probably take the file
> down for now and figure this out next weekend. I'll leave the
> screenshots up in case anyone still wants to take a look.

If Zoom is GPL then you definitely need to include the license and you
_may_ need to include the source. The GPL allows a couple of options
for not including the source IIRC: you can either include a promise;
or, point at some publically available source.

> This does seem to present a problem for my scheme, which was to allow
> an author to make a bundle of a game with his favorite interpreter as
> a single application. I guess I could put in a hook for displaying a
> license, and leave it up to the author to include the appropriate one
> himself; it would be suboptimal to have to include it in the template
> itself since an author can include different interpreters. I'm not
> sure of a good solution to this.

The author who bundles is doing the distribution, it's they who need
to abide by any licenses. Your bundling thing obviously makes it
easier (or perhaps just more desirable) to distribute a licensed work
(possibly in accidental violation of the license). Isn't the right
thing to do to simply make the bundling author aware of the issues?
Just a note that says "you may need to include a license" might be
good enough.

By the way GPL, as far as I know, does not include a display
requirement. It is generally sufficient for the license to be
distributed with the licensed work (of course, licenses vary...).
There seems to be some established practice of simply putting the
license file somewhere in the .app bundle. My copy of Pixen for
example includes a license (for 3rd party software) in the file
Contents/Resources/COPYING .

drj

Autymn D. C.

unread,
Feb 12, 2007, 5:46:44 AM2/12/07
to
JDC wrote:
> This is set up in such a way that all of the data is read from
data are

> You would then create a bundle by:

Don't còlòniz runons.

JDC

unread,
Feb 12, 2007, 4:41:57 PM2/12/07
to
On Feb 12, 5:31 am, d...@pobox.com wrote:
> If Zoom is GPL then you definitely need to include the license and you
> _may_ need to include the source. The GPL allows a couple of options
> for not including the source IIRC: you can either include a promise;
> or, point at some publically available source.

Yeah, I actually read the credits far enough to see that it was GPLed,
then saw something to the effect of "You may redistribute, etc.
provided you inlcude the following statement..." and assumed it was
the GPL license, but on closer inspection it turned out to be the
license for an included library. As for including the source, I'm now
not entirely clear on the requirements. I had previously thought that
providing a link to the source was ok (so I provided a link to the
Zoom website), but on re-reading the GPL this afternoon it seems that
the source may need to be available from the same location as the
redistributed copy. There's also something about "If the program
normally runs in interactive mode it should display the following..."
which I'm not sure if or how this would apply to an interpreter
bundle.

I didn't see any mention of this issue in recent posts about game
bundles, but I'm assuming this has been discussed here before; if
someone can point me to an earlier thread that might be helpful.

> The author who bundles is doing the distribution, it's they who need
> to abide by any licenses. Your bundling thing obviously makes it
> easier (or perhaps just more desirable) to distribute a licensed work
> (possibly in accidental violation of the license). Isn't the right
> thing to do to simply make the bundling author aware of the issues?
> Just a note that says "you may need to include a license" might be
> good enough.

I'm a little hesitant to distribute something which could be easily
misused accidentally, particularly as a significant goal was for it to
be easy to use. Not that I'm terribly concerned about liability, but
this is starting to seem too complicated. I guess I also question
whether the resulting bundle would have to be GPLed as well, and what
that would mean (would the game's source code need to made
avavailable?). I guess the short summary is that much of the GPL
confuses me...

So I think I'm going to abandon this idea. Maybe I'll think about
something with the same sort of front-end, but instead of including an
interpreter, set up links for the player to download an interpreter,
or use a previously installed one (the game author could set a link to
a recommended interpreter, say). I think that would avoid any
licensing issues. It could still provide useful links and information,
and might make installing a little easier for a first-time IF player.
I'm not sure this would provide much of a benefit over a game website,
though, such as the ones generated by Inform 7 (except possibly for
authors who don't have a website and want to upload a novice-friendly
game package somewhere). I need to think more about this.

Anyways, thanks all for the feedback,

-JDC

d...@pobox.com

unread,
Feb 12, 2007, 5:21:53 PM2/12/07
to
On Feb 12, 9:41 pm, "JDC" <j...@psu.edu> wrote:
> On Feb 12, 5:31 am, d...@pobox.com wrote:
>
> > If Zoom is GPL then you definitely need to include the license and you
> > _may_ need to include the source. The GPL allows a couple of options
> > for not including the source IIRC: you can either include a promise;
> > or, point at some publically available source.
>
> Yeah, I actually read the credits far enough to see that it was GPLed,
> then saw something to the effect of "You may redistribute, etc.
> provided you inlcude the following statement..." and assumed it was
> the GPL license, but on closer inspection it turned out to be the
> license for an included library. As for including the source, I'm now
> not entirely clear on the requirements. I had previously thought that
> providing a link to the source was ok (so I provided a link to the
> Zoom website), but on re-reading the GPL this afternoon it seems that
> the source may need to be available from the same location as the
> redistributed copy.

I am reading GPL version 2 (which today is available from http://
www.gnu.org/licenses/gpl.txt )

You're thinking of: "If distribution of executable or object code is
made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code."

That's simply saying that if you offer source code alongside your
binary for download then you've satisfied Clause 3a ("Accompany it ...
with source code") even though people don't necessarily get the source
code. That would imply that anyone bundling Zoom would also have to
put the source code to Zoom alongside their downloadable bundle.
But... we don't have to distribute source code. 3b allows us to
promise to give the source code to anyone that asks. Even this is
onerous for a random author to give. Effectively every author that
used this tool to bundle a game with Zoom, say, would have to be
prepared to give a copy of Zoom source to anyone that asked. But...
3c allows us to pass along a promise that we got. So, one thing you,
JDC, could do is supply a promise to give source code for an
interpreter to anyone that asked. This would be a GPL clause 3b
promise and would accompany the bundler thingy. Anyone using the
bundler thingy would then pass along this promise as a GPL clause 3c
promise. Which is to say that the bundler thingy would do that
without anyone really noticing. That means that you have to be
prepared to give the source code for any random interpreter to anyone
that asked. But what you really do is say that "JDC bundler Pro" only
supports X, Y, and Z interpreters, and make sure you have the source
for those.

In practice, anyone who cares will google for the source and download
it themselves.

> There's also something about "If the program
> normally runs in interactive mode it should display the following..."
> which I'm not sure if or how this would apply to an interpreter
> bundle.

I don't think that applies, it's just a random piece of FSF doctrine
that appears after the text "END OF TERMS AND CONDITIONS", which I
assume denotes the end of the terms and conditions, but maybe a lawyer
needs to be consulted? (er, that's a joke. Kinda)

>
> I didn't see any mention of this issue in recent posts about game
> bundles, but I'm assuming this has been discussed here before; if
> someone can point me to an earlier thread that might be helpful.
>
> > The author who bundles is doing the distribution, it's they who need
> > to abide by any licenses. Your bundling thing obviously makes it
> > easier (or perhaps just more desirable) to distribute a licensed work
> > (possibly in accidental violation of the license). Isn't the right
> > thing to do to simply make the bundling author aware of the issues?
> > Just a note that says "you may need to include a license" might be
> > good enough.
>
> I'm a little hesitant to distribute something which could be easily
> misused accidentally, particularly as a significant goal was for it to
> be easy to use. Not that I'm terribly concerned about liability, but
> this is starting to seem too complicated. I guess I also question
> whether the resulting bundle would have to be GPLed as well, and what
> that would mean (would the game's source code need to made
> avavailable?).

Surely this bundling falls under the "mere aggregation" paragraph of
section 2? It would appear that GPL scholars are generally agreed
that merely aggregating X with GPLed Y does not in any way place any
extra requirements on the licensing of X.

> I guess the short summary is that much of the GPL
> confuses me...

Yeah. This is the fundamental problem with all software licenses.

> So I think I'm going to abandon this idea.

Ah no! Please.

> Maybe I'll think about
> something with the same sort of front-end, but instead of including an
> interpreter, set up links for the player to download an interpreter,
> or use a previously installed one (the game author could set a link to
> a recommended interpreter, say). I think that would avoid any
> licensing issues. It could still provide useful links and information,
> and might make installing a little easier for a first-time IF player.
> I'm not sure this would provide much of a benefit over a game website,
> though, such as the ones generated by Inform 7 (except possibly for
> authors who don't have a website and want to upload a novice-friendly
> game package somewhere). I need to think more about this.

In practice the only person that would have any beef is the copyright
holders of the interpreters. Since we're talking OS X that's Zoom and
Spatterlight isn't it? Spatterlight obviously already has
redistribution issues of its own. Can't we just ask Tor and Andrew
Hunter if they'd mind? I mean, someone who has the butterfly
algorithm on their homepage must be an okay sort of guy.

drj

JDC

unread,
Feb 13, 2007, 12:14:26 AM2/13/07
to
Thanks for the explanation; I'm feeling somewhat more rational and
sanguine about the idea again (Note to self: Wait at least an hour
after reading software licenses before posting to Usenet...).

On Feb 12, 5:21 pm, d...@pobox.com wrote:
> That's simply saying that if you offer source code alongside your
> binary for download then you've satisfied Clause 3a ("Accompany it ...
> with source code") even though people don't necessarily get the source

> That would imply that anyone bundling Zoom would also have to
> put the source code to Zoom alongside their downloadable bundle.

Definitely want to avoid this.

> But... we don't have to distribute source code. 3b allows us to
> promise to give the source code to anyone that asks. Even this is
> onerous for a random author to give. Effectively every author that
> used this tool to bundle a game with Zoom, say, would have to be
> prepared to give a copy of Zoom source to anyone that asked.

And this.

>But...
> 3c allows us to pass along a promise that we got. So, one thing you,
> JDC, could do is supply a promise to give source code for an
> interpreter to anyone that asked. This would be a GPL clause 3b
> promise and would accompany the bundler thingy. Anyone using the
> bundler thingy would then pass along this promise as a GPL clause 3c
> promise. Which is to say that the bundler thingy would do that
> without anyone really noticing. That means that you have to be
> prepared to give the source code for any random interpreter to anyone
> that asked. But what you really do is say that "JDC bundler Pro" only
> supports X, Y, and Z interpreters, and make sure you have the source
> for those.

This seems more promising; I think I sort of understand 3c now. I
would be a little worried (theoretically, probably not practically as
you note below) about the potential of keeping up with updates (or the
next great interpreter), but this probably wouldn't be too much of a
problem. I will think more about whether I would want to do this.

> In practice, anyone who cares will google for the source and download
> it themselves.

> Surely this bundling falls under the "mere aggregation" paragraph of


> section 2? It would appear that GPL scholars are generally agreed
> that merely aggregating X with GPLed Y does not in any way place any
> extra requirements on the licensing of X.

Okay, that shouldn't be a problem then. The phrase "GPL scholars"
scares me :).

> > So I think I'm going to abandon this idea.
>
> Ah no! Please.

I think I will at least put up a prototype with the license and source
included (until I decide on a better solution) so people can take a
look at it; this looks like it would only add about 1-2MB when zipped.
I need to set that up and I to make a few more changes first, so this
will take a little bit.

> In practice the only person that would have any beef is the copyright
> holders of the interpreters. Since we're talking OS X that's Zoom and
> Spatterlight isn't it? Spatterlight obviously already has
> redistribution issues of its own. Can't we just ask Tor and Andrew
> Hunter if they'd mind? I mean, someone who has the butterfly
> algorithm on their homepage must be an okay sort of guy.

This definitely seems like the thing to do once I've figured out what
I want to do and have things put together a bit more.

Thanks again,
-JDC

Ken

unread,
Feb 13, 2007, 5:56:01 PM2/13/07
to
<d.ki...@btinternet.com> wrote in message
news:1171272036.2...@k78g2000cwa.googlegroups.com...

So what? No one here cares about copyright anyway, remember? Doesn't
everyone always say: oh, not more about copyright or licensing.

Who is gonna sue him?


JDC

unread,
Feb 14, 2007, 11:42:12 AM2/14/07
to
On Feb 13, 5:56 pm, "Ken" <-> wrote:
> <d.kin...@btinternet.com> wrote in message

Gee; I'm sorry to have accidentally provoked another copyright
thread :). So let me just briefly explain my thoghts on this specific
issue and we can hopefully save the general discussion for the next
inevitable copyright debate...

There are at least some people who care about copyrights; I happen to
be one of them. I particularly want to respect the rights of people
who have made things freely available. I just hadn't thought clearly
about licensing issues here, and I appreciate David and drj's
responses.

My main cocern isn't really about being sued; rather, it's the issue
of other people being able to use the program. Since others would
presumably be using it to redistribute a licensed program, they would
also become responsible for respecting copyrights (if they are
concerned with such things). So I want to make sure that people who
do care about this (if any) can do so easily. If people intentionally
want to use it in another fashion, that's up to them, but I'd like to
avoid them doing so accidentally.

Anyway, I hope to get a new prototype up by this weekend.

-JDC

0 new messages