Well, obviously it's no longer 2010/2011, but I wanted to talk about the package library a bit, since I finally got around to uploading a package.

To preface, please to read this as a gripe, I love the program in general, if not the package library so much. This is just intended to explain how
I feel about it, and why.

The package library, like other parts of cmud, seems geared toward people playing one character at a time. I know there are ways to use cmud
that take multiplay into account, and that it isn't at all incapable of supporting multiplay as some have alleged, but the system in place lends itself
toward a certain intuitive usage, but intuition proves incorrect in practice.

How this pertains to the package library:
When you install a new package, a new tab is created in the package editor screen. For those of us playing multiple characters, with multiple
sessions open, those tabs come to represent individual sessions, or characters. I may have scripts that perform all of the same functions
for different characters, but, due to class/race/level limitations, those functions need to be performed in different ways. The simplest
way to do this is not to insert a check into each and every trigger/alias/etc to see which character you're currently controlling. That's a huge
number of keystrokes, and for someone like me who might be playing any pair of 16 different characters, the variations required for a simple
spellup script seem like far too many to code into one script.

It is simpler, by far, to put a completed script into its own class, then copy/paste that class from one tab to another so that another character
can have access to it. Then whatever modifications one finds necessary can be made easily, without affecting other copies of the script used
by other characters.

I'm not saying that this is the best way to use the program for multiplay, all I am saying is that this is the most intuitive way. Everyone CMud user
I mud with plays this way. The number of scripts that I can use on different characters without at least SOME alteration is very nearly 0, so
setting up packages as a separate tab so that they can be "global" doesn't seem to make any sense. As others have said, it's far easier to
just export to xml, and send your xml file to whoever might want to use the script.

Additionally, after uploading a package, I tested it by downloading it, then finding it in my "my games/CMud/Packages" folder
(I assume that's where it went, and that isn't simply where I saved it myself when I created and saved the package, but I have
no way to know for sure). I opened the package editor for a character that didn't have the script, clicked File/Open, and selected
the package. This created a new tab, which I didn't want, so I just right-clicked the class folder in that tab, then cut it and pasted
it into the package of the character that I wanted the script for. Why I cut it rather than copying it, I don't know, I was treating it
like an imported xml file, where I can import the file, make whatever changes I want, and the xml file that I imported from does
not change. So I was surprised when, after using the couple of aliases required to set up the script, I tried to repeat the process
for a new character, only to find that the package was now empty when I opened it. I went back to the package library, and
attempted to download the package again, only to find that I had to uninstall it first. At this point, I have no idea what affect that
might have on my existing scripts (none, I assume), so I decided to strip an existing character's script down to the base, export
that to xml, and offer that to anybody who might want to use it in place of using the package library.

In short, the vast majority of the minor frustrations and annoyances I found in using the package library could be relieved by
the simple expedient of allowing people to upload xml exports instead of, or in addition to, packages.

You are right in that each character would have unique settings.
But some commands everyone uses: skills, score, #CAPTURE schemes, even gauges and mapping aides.
You could have a package that is specifically geared to assist one class/guild.
Things in the package library are intended to be used 'as well as' not 'instead of' your main character session.

If you want the XML there is an export to XML function in the File menu of the Editor.

As for the packages, while you and your friends expect each tab to be a separate session, that is not at all the way it is intended to be in Cmud. In fact, you are probably using a couple packages already which are not sessions--English Directions and English Buttons. These are default packages which are normally hidden. Packages truly are intended for code that applies equally to all sessions that it is loaded on. You can customize the effects of package code by having each session keep separate variables, and have the package code refer to those variables. For instance, you might have a script in a shared package that displays your spells by calling the value of the variable @myspells; each session would have its own variable @myspells, listing only the spells for that character. Thus the code can be shared, while the character-specific information is kept in each session.

As you say there are multiple ways to code your sessions. Your way is also valid. And your wish is already granted that you and your friends be able to share XML code. You will just have to share it through some other mechanism than the Package Library.