Message-ID: <3D4A8F4A.2010801@csi.com>
Date: Fri, 02 Aug 2002 09:55:22 -0400
From: John Colagioia <JColagioia@csi.com>
User-Agent: Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.0rc2) Gecko/20020618 Netscape/7.0b1
X-Accept-Language: en-us, en
MIME-Version: 1.0
Newsgroups: rec.arts.int-fiction
Subject: Re: IF library licence / game licence
References: <3d4632e1.170761705@news.buffalo.edu> <uit2xl4yw.fsf@dfan.thecia.net> <3d46c553.338368@news.buffalo.edu> <3d46febb@excalibur.gbmtech.net> <3d4732de.14420615@news.buffalo.edu> <3D47E88E.3030903@csi.com> <3d489be1.3996839@news.buffalo.edu> <3d494020@excalibur.gbmtech.net> <3d49c851.63805193@news.buffalo.edu>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
NNTP-Posting-Host: ool-182f30fa.dyn.optonline.net
X-Original-NNTP-Posting-Host: ool-182f30fa.dyn.optonline.net
X-Trace: excalibur.gbmtech.net 1028296061 ool-182f30fa.dyn.optonline.net (2 Aug 2002 09:47:41 -0400)
Organization: ProNet USA Inc.
Lines: 526
X-Authenticated-User: jnc
Path: news.duke.edu!newsgate.duke.edu!news-hog.berkeley.edu!ucberkeley!news.maxwell.syr.edu!upp1.onvoy!onvoy.com!news-out.visi.com!hermes.visi.com!uunet!ash.uu.net!dca.uu.net!excalibur.gbmtech.net
Xref: news.duke.edu rec.arts.int-fiction:107003

Stephen L Breslin wrote:
> On Thu, 01 Aug 2002 10:05:05 -0400, "John Colagioia"
> <JColagioia@csi.com> wrote:
[...]
>>- Stagnation can occur, if everyone settles on a dead-end
>>methodology.
> I'm unconvinced that more information will create more stagnation,
> instead of less. Why do you think the relation between information and
> stagnation is directly instead of inversely proportional?

I'm saying that it's entirely possible (maybe unlikely, with the
proper population, but I would tend to doubt it) that a "de facto
standard" could arise prematurely under these conditions.

I'm trying to think of a real-world example, but I'm not coming up
with anything that won't sound like I'm trying to start a flamewar...

Actually, no.  Perfect example.  Web browsers.  Every one of the
major browsers, no matter how "advanced," is still beholden from
"ancient," licensed code from NCSA Mosaic, because it was there
first, and was easily licensed.  The web, of course, has built itself
on the limitations of the browsers, and thus, NCSA Mosaic has quite
literally shaped the web.  There are better navigational technologies
out there, but they're consistently discarded, because they're not
compatible with a decade-old, unsupported piece of software.

[...]
>>- Impressions and Imitators:
> [...]
>>If a
>>new game catches a large population's interest, and the
>>source is released too soon, we may end up with a whole
>>slew of uninteresting games that'll turn people off to the
>>community.
> I'm not sure what role the source plays in how catchy the game is.

It doesn't.  However, the popularity of a game *will* affect how many
people look through and try to adapt the source.

> That is normally influenced by good writing and creative problem
> manufacture, and text-story game-specific stuff like that. Normally
> the part of the game that's emulated in the negative way you describe
> is the part that's printed to the screen, not the code. Good code
> should be emulated!

Would you *really* want to see another twenty uninspired games that
use the Enchanter-like spellcasting system...?  In one of my first
forays into Inform, I actually dropped Graham Nelson an e-mail,
asking if I could use it.  His response was basically, "sure, but why
would you want to?  It's already been done."

I really doubt that I'm the only one who's considered it, seeing as
how there's at least the one "Colossal Cave with spells" game on the
archive...

This may tie in with the above.  If you have code in front of you,
you're more likely to use it.  This changes the interface of your
project.  In the real world, this is good; user interfaces are more
consistent, programs react in similar ways.  In the IF world, this
means that the player is faced with fewer deviations from "the norm."

[...]
>>I believe that
>>every author has a right to some secrets.
> I'm not sure how profitable it is to see code as a medium for secrets.

We're not talking about profit.  If an author doesn't want to share,
that should be his or her decision.

> Secrets are the stuff of love and state affairs. Game writing
> techniques being secret is a very wierd and somewhat disturbing
> concept.

Along those lines, though, why don't you just require that my
keyboard feed directly into a central repository, so that none of
my (ahem) "wisdom" is ever lost or hidden?  Because it's an absurd
concept, basically, to force me to share more than I've already
volunteered to share (forcing *less* might be a good idea, when it
comes to me, actually...).

>>Some are, as
>>mentioned, embarassed about their code;
> Right, and that's just silly.

The emotions of developers are rarely an issue to be dismissed as
"silly," especially when they're volunteers.  That's a very good way
to have them cease being volunteers, in fact.

It might not be the way that you envision the world working; it might
not be the way I envision the world working.  If that's how the
programmer sees it, though, there's really not much you can (or maybe
should) do.

>>some are testing
>>a partial idea for use elsewhere;
> Are you thinking of a text-story idea or a code idea?  Why should a
> newly invented coding technique should be kept quiet? I think you're
> conflating plot twists with coding techniques.

No, I'm not.  Let's say I have fancy code to do something.  Chances
are, before I consider it a complete library, I'm going to want to
test it out.  So, I'll build a game around it.  I'm actually in the
middle of this right now, by the way.

When the game is done, it's "back to the salt mines" to fix the
problems that were found in programming the game.  This means that
it's silly to release the library (since it's under construction, and
not in a coherent state), and even sillier to release the game (since
it relies on a library that'll soon be obsolete).

"Now," I hear you cry out, "why don't you just release it all and let
the community fix it?"  Because it's *my* project (and, thus, my
responsibility), and I consider it highly inappropriate (for the way
I work) to release incomplete or bug-ridden code into the wild, in
hopes that someone fixes it for me.

[...]
>>and, some people just don't believe
>>its anybody's business what the code says.
> I have no idea what that means. That phrase is a bit too charged. Can
> you put this some other way?

See above, regarding the emotions of programmers.  Programmers,
particularly avocational programmers, tend to be less like assembly-
line workers, and more like theater professionals, in many ways
(because the process is a lot like performance in many ways).

Many programmers (including myself, in some cases) consider the
program's source to be very similar to auditions and early rehersals:
things that nobody really needs to or should be nosing around in.

That is, the phrasing is emotionally charged, because it's an issue
revolving around emotions.

>>Licenses that "motivate" or "encourage" source publication
>>can only serve
> You're table bashing. Cut it out.

They're your words.  I'm using them, quoted to indicate that I
believe it's the context in which you're using them.  This is not
the same context in which I would use them.

>>to separate these people from "the group,"
>>which is not something any of us want.  I hope.
> That's inflammatory.

Perhaps, but only if you have an overemotional investment in the
license.

> Such licenses are not limited to splintering the
> group; they might unify the group instead, as intended.

They might, but (in my experience) won't.

> Nobody is
> trying to marginalize anyone or overlook any reasonable interests. If
> we were doing that, we'd be excluding the very audience we're
> addressing, which would be foolish and pointless.

That's my point.  You might not have to *try* to marginalize anyone.
By virtue of encouraging adoption of a license that conflicts with
how a subgroup of this population works, you either marginalize them,
or force them to compromise their ideals.

Neither of these is good.

>>Are these the *majority* of cases?  Probably not.  But
>>they are definite cases that shouldn't be discarded as
>>"not being what people want."
> Thanks for recognizing that these cases are marginal.

Please do not put words in my mouth.  "Marginal" is a far cry from
"not the majority."  Unless you use *huge* margins...

> I'm happy to
> leave a decision about what people want in the hands of library
> writers.

Apparently, you're not, since many library-writers have made their
choices (as evidenced by the assortment of licensing arrangements on
the archive.

However, *that* sounds inflammatory.  It's good that people *think*
about the license they slap on their product.  Moreso, when they're
thinking about a standard license.

Licenses, in my opinion, are a lot like programming langauges.  None
precisely fits any given project, and options should be considered
before choosing one.  I suspect I'm in the minority on that point,
though, both for languages and licenses.

> [...]
>>Why should authors be poked and prodded if they
>>don't want to [release their code]?
> Let's not call it 'poked and prodded,' since that sounds like torture
> and abuse, and is therefore not very fair to the argument you're
> addressing. Let's call it 'required'. (I admit that I've been calling
> it 'encouraged' and 'provoked', which is perhaps too apologetic.) Can
> you make your point again, this time without the inflammatory
> language?

"Why would you require anything of a volunteer?"  Provided their
activities aren't causing chaos, of course.

>>Yes, there are some (dubious, in my
>>opinion) benefits to a subpopulation, but that's hardly a
>>reason to poke and prod volunteers to do something they're
>>not interested in doing.
> Could you be more precise than 'not interested' please? That's a
> blanket rejection (similar to 'none of your business', above) and
> doesn't advance the argument.

I assume (since you commented on it) that you read the assorted
potential reasons for rejection.  It's a blanket rejection, because
we've "covered what's underneath the blanket," if you'll indulge the
metaphor.  This is a long enough message without copying the same
concepts and text.

> I'm glad you point out that game writers are (almost always) just as
> much volunteers as library writers, and should be given the same
> kudos.
> Why encourage somebody to do something they don't want to do? Maybe
> some people need encouragement to do what is best. The library writers
> who uses such a license will want to ensure that the user of the
> library gives to the community, just as they have.

Actually, I'm going to take a (hopefully) brief opportunity to rant
about the GPL here, since I just re-read it, and found it even *less*
sufficient for any use than I previously thought.  Your mention of
"users" got me to make the connection, in case it seems like I've
missed the tangent entirely and gone "mental offroading."

First, they start out with a lie.  "The licenses for most software
are designed to take away your freedom..."  We've covered this, but
I thought it was worth mentioning that they seem to assume that code
is inherently, by law, free..

(I won't talk about their use of the word "free," though I will
mention that their lives would be much easier if they "imported" a
foreign word that meant what they want to say).

Here's the most important part:  "Activities other than copying,
distribution and modification are not covered by this License; they
are outside its scope. The act of running the Program is not
restricted..."  It's interesting that, for all their talk about
supporting the user, and for all the claims that this has been
carefully reviewed by lawyers, this clause exists.  In point of
fact, since the default license (copyright) says that you *can't*
use someone else's software, this lack of restriction can be
interpreted as meaning that you still don't have license to do
anything *other* than copy, distribute, and modify.

I realize that any layman (or lawyer, for that matter) would ask,
"but what else would you do with the code," but any judge who knows
what he's talking about *should* answer, "absolutely nothing,"
because that's the default case.  There is no other mention of use,
and never any mention of compiling (unless that's covered by
translation, though I'm not sure that's viable in their phrasing) in
the remainder of the license.

In fact, the only reason that this "isn't an issue" (since I know
that's what everyone's clamoring to scream out) is that the FSF isn't
going to come after you.

(And, incidentally, I found it interesting that you're allowed to
charge for a GPL-derived work, but cannot charge for an LGPL-derived
work.  Can someone explain that to me?)

What's my point?  If you're going to try to coerce your volunteers to
do something, you had darn well better make sure that you know what
you're talking about, and make sure that your license allows the
authors to retain the proper rights and grants the users the proper
rights; unlike the FSF, you don't know if some deranged maniac will
come after you for playing a game with his library.

This is, as mentioned, an issue when the author writes his own
license, but it's an issue of critical importance when a "standard"
license is intended for adoption.

[...]
> It's rather more what the library writer wants. If Ms. Short wants to
> use my library, I might want her to publish her sourcecode. I would
> have a legitimate right to require it. Such licences don't prevent
> use, they just set restrictions on use.  It's important to be precise
> on these points, or you'll end up writing negative propaganda.

But this is what I was referring to, regarding exclusionary tactics.
While you have the right to demand whatever you want, understand that
you *are* quite literally preventing the library's use by people who
don't agree with your philosophy.

>>>The game programmers will have a much wider range of
>>>examples and better libraries to work with, and although they might
>>>initially feel embarassed that their code is not as beautiful as
>>>Kevin's, Mike's, or Dan's, there would be safety in numbers and they'd
>>>be sufficiently distracted by the benefits.
>>Strawman argument.
> A strawman argument is one in which you construct your opponent's
> counterargument in a way that is easy for you to argue against. The
> metaphor: you're arguing against a 'straw man' instead of your real
> opponent, and giving this straw man arguments that are easy to burn.
> (Like straw is easy to burn.) Am I doing that?

You're taking what you consider to be the most trivial reason for not
publishing source, and treating it as if it were the only argument.

>>If I'm looking for conversational
>>code, I'm not going to search the archive for anything
>>that *might* do the job; I'm probably going to look for
>>the code to specific games.
> I'm not sure what the difference is. I do both.

When I had the time and patience for such things, I didn't have the
resources for such a search.  Now that I have the resources, I don't
have the time or the patience.

If I want a conversation system, I'm not going to look through every
piece of code in case there's something useful; I'm going right after
the games that "did it right."  Those are (as you might guess) few
and far between.  If they're not well-written (codewise), then this
not only "doesn't help" (nothing gained, but nothing lost), but it
also wastes my time, and may foster bad programming practice, if I
don't recognize its problems.

>>Similarly, libraries are not "better," just because (a)
>>your game has to be provided as source, and (b) you can
>>monkey with the library as desired.
> A) If you publish the source of your game, the pool of information is
> bigger, and bigger is better.

Really?  In my experience, that only works up to a certain
threshhold.  After that, bigger just means more time sifting through
things of questionable use.

> B) Of course you can modify the library
> as needed for your game. That's no news.

This, however, does not inherently make the library *better*.  It
means that you have (presumably) customized it for a particular use.

>>Open Source or not, major work is not done by the
>>metaphorical infinite monkeys; it's done mostly by the
>>dedicated people who "adopt" the project.
> You're being ridiculous again. Focus, pal. Nobody is arguing that
> infinite monkeys are doing the work.

Are you so sure about that?  It seems that you're making the argument
that the infinite monkeys in front of their typewriters are going to
produce the works of Shakespeare any moment now.

OK, they're not infinite, they're not actual monkeys, and they're not
working on "Hamlet," but it's the same argument.  Sure, the entire
population of programmers *might* pull together and produce something
wonderful.  Even if they do, though, it's going to be pretty hard to
find in all the (metaphorical) "monkey poop."

>>>Library writers would have
>>>more material to draw on:
>>No.  Library writers who support the "party line" will
>>have a different set (possibly larger or smaller) of
>>material to draw from.
> If more material were available, more material would be available.

Except that, following the GPL lead, licenses may conflict, and the
only legal solution is to not use things in tandem.  Thus, while the
overall pool to draw from is larger, you then restrict it, because
lots of things simply can't go together.

[...]
> Game writers often have enormous difficulty making their code work,
> and sometimes have to modify their vision because they can't figure
> out how to do something.

I consider this a bad thing, for the most part.  I'd rather have a
terrific game never appear, than have a half-assed game drop in my
lap that just happens to look like every other game.

>>I'm not dismissing you on this point, but I am trying
>>to point out that it sounds far more like propaganda
>>than an actual benefit, and I don't think I've ever
>>seen numbers that support such statements.
> Now that you bring it up, I would be interested in seeing numbers. Do
> you have any?

After a somewhat thorough search, all I can find is GNU saying "Free
Software Is Better!!!"  They, too, apply the infinite monkey idea,
though their monkeys appear to be working in a communist (little-c)
society where everyone strives to reach their potential, and the
moron in the back of the class gets to leech off their work...

If you want a few more metaphors in that mix, I've got a loose cannon
rocking the boat for you...

> I don't mind being called a propagandist, so long as you
> know what the word means. I am indeed propagating the idea that
> releasing code is good, and things like that....

No, I meant it in the way it's commonly intended.  Without numbers,
you're making unbacked political statements.

If I'm guilty of the same thing (I might be, but I don't see where
I've referred to any particular thing being "better"), I apologize.

[...]
>>If we're each given individual rights to modify (but
>>not republish) a library, we can (and probably should,
>>just for the purposes of modularity) still release any
>>modifications as patches or further extensions.
> Do you think a general purpose licence should forbid republishing the
> library itself, and only allow extensions and patches? Could you
> suggest a good system for this?

The Inform library seems to work just fine under such a license.  I
happen to dislike it (since I've mutilated the library beyond belief,
and can't share it), but Roger Firth (and Adam Cadre before him) has
done a fine job of maintaining the distribution of patches.

> [...]
>>Heh.  You haven't been here too long, obviously...
> I get your inside jokes, I just don't make them while I'm trying to
> engage in a serious discussion. Buster.

Well, partly I'm trying to remind everyone (including myself) that
we've got to make sure we're not taking ourselves too seriously (a
far worse offense than using the wrong license, I think you'll
agree), but I'm also somewhat serious.  The audience is a critical
part of a license, and behaviorally-based licenses are on an even
more slippery slope.  I mention the "imaginary friends" because I can
envision a license which (perhaps sloppily-written, perhaps
intentional) is limited to "members of the IF community in good
standing" or something, which...well, who arbitrates?

Yes, yes.  *Your* license would never do that.  I suspect that if
someone had suggested it, though, it would've slipped "under the
radar" of most people.

>>>The identity of the IF community seems
>>>pretty clear.
>>Well, then...specify them (us, whatever).
> I don't see why. I'd rather not make any limitations to who belongs.

Yes, you do.  If you didn't, then you'd be suggesting Public Domain.

> You seem to have a fetish about in and out groups, but I honestly
> don't share your problem.

It's not a fetish; it's a reality.  I don't use GPLed code, for
reasons I've stated.  Other people have stated their reasons.
Therefore, any code under GPL (or a license like GPL) will limit
these people from the user group.

The fact that you are motivated differently than these people does
not make the license any better (or worse) an idea.  That you don't
notice the exclusion, however, suggests (and this may be totally
inaccurate) that you don't quite understand licensing, perhaps due
to overexposure from GNU's political statements.

>>I can't think of a description that would cover it,
>>unless you assume some set of rules that not all of
>>us will wish to follow.
> That's inescapable I guess. I'm not excluded from the group because I
> like the idea of this license. You're not excluded from the group
> because you don't like the idea.

I'm excluded from the group (as are, again, others), because I will
not decide to release code under a license until that code is
complete (just like I usually won't choose a programming language for
a project until I have a basic design).

Do *I* care about being "part of the group"?  Not at all.  This
community is small enough, though, that I don't see such a schism as
a very good thing.

[...]
> What would Jesus do? :)

Yes, completely out of context.

He'd stare at the keyboard and screen, wondering what the funny
symbols were.  Assuming, of course, his eyes could adjust to seeing
stuff on the monitor, that is...

I'd give a real answer, but anything not obviously read as humor
(into which category, I'm going to assume the above paragraph fits)
will surely piss *somebody* off, when I speak for their savior.  So,
I'll avoid suggesting that Jesus would lead by example and use the
Public Domain, thereby avoiding trying to force anyone to do
anything...

Heh.  Oops...

>>I have yet to see, for example, anyone post, "Yes, I
>>think my library would be measurably better if I had
>>access to all source code that used it."  I've seen lots
>>of programmers say that they wouldn't be using such a
>>license for whatever reason, though.
> If by lots you mean three or four, then you are better off with
> letters than numbers.

Proportionally, that's *huge*.

OK, actually, while not statistically significant, unless you're
talking about off-topic stuff like operating system wars, you're not
likely to get opinions from more than a few people, as far as I can
tell...

I say this mostly so everyone will prove me wrong and we can get a
statistically-relevant sampling.

[...]
> Yes, the community is already very good and helpful, which is why a
> license like the one I'm suggesting is not a radical suggestion,
> although it's not redundant either, and might even have a productive
> place.

It may also scare people off, since they're no longer distributing
things just for the fun of it.  They're *required*, which is never
any fun.

> Thanks for three good strong points. Please chill on the hostile
> polemics. Let's cooperate, no?

I don't *think* I was being hostile.  Probably just a writing style
slip.  It'll happen, and we're both adults (or close enough, at any
rate, since I don't know or much care about your actual age).

