Re: [Circle] [Code] not for beginners..

From: Daniel A. Koepke (
Date: 06/08/01

On Thu, 7 Jun 2001, Patrick Dughi wrote:

> Eventually, I'll put out a patch using this functionality to - as I've
> said manymanymany times before - allow you to put most important world
> data into this form (mob, zone, room, obj, etc).  Makes life easier
> for insertion, removal, as well as being able to make an arbitrairy
> number of arbitrailarly sized zones with little unnecessary overhead.

Have I asked this before?  What advantage does using a balanced tree have
over using a hash table as pertains to CircleMUD?  We have a large mostly
static data set...  It seems like we should be able to hash based on any
number of criteria and get an efficient and easy implementation of the
world.  I don't think we need to be able to walk the data set in order, so
I can't help but get the feeling trees are a bit overkill.

Naturally, I'm not saying, "You shouldn't be doing this," or that,
"There's no reason to do this."  I'm just curious about why you chose a
relatively complex, if well-defined, algorithm over hash tables or the
tree-comparable (but sparsely documented) skip lists?

> If you're wondering why I wrote it, it's because all the good
> libraries are licenced in such a way as to conflict with
> CircleMUD/DikuMUD license.

...if and only if you distribute them in a combined form.  The patch to
CircleMUD would not include any of the GPL'd code (only calls to it).
The patch is not under the GPL simply because it calls functions in an
LGPL library and neither is it under the CircleMUD license by virtue of
its intended use or its eventual combination with CircleMUD.  Therefore
your code is your code, which can be licensed however you wish.  Your
patch is distributed separate libavl (or what have you), the appropriate
version of libavl is provided on the FTP site for use with your patch,
someone downloads both, installs both as necessary, and since the
end-product is not being publically distributed, the GPL/LGPL never kicks
in on it and we've circumvented the licensing restrictions.

Daniel A. Koepke (dak),
Caveat emptor: I say what I mean and mean what I say.  Listen well.
Caveat venditor: Say what you mean, mean what you say.  Say it well.

   | FAQ: |
   | Archives: |

This archive was generated by hypermail 2b30 : 12/05/01 PST