Capitalism
nymia: Sorry about the extras, being in college I got used to having to explain what I mean when I use the terms socialism/communism/capitalism in discussions (It helps keep the intellectual level above "You're a pinko!" "And...?"). :-) Also, since no exchange system is perfect or totally incorrect, and no organizational system is perfect or totally incorrect, they are only "good" or "bad" in relation to other systems, or possible systems.
johnnyb: Please attempt to parse what I'm saying, we're arguing similar positions w/ conflicting definitions. You're using a different definition of the term "socialism" from the one that I'm using (which is why I stated my definition of socialism up front). Further, I didn't say that a socialism was a "gift" economy, I said specifically that they were different. And yes, a gift economy is similar to a market economy, in that they are both means for multiple groups to exchange goods/services.
So, one more time: exchange systems != organizational systems. Capitalism and socialism are both organizational systems. The "market economy" and the "gift economy" are both exchange systems. You can have a socialist factory exchanging goods and services with a capitalist factory, using money. That's socialism & capitalism co-existing within a market economy.
We're saying something of the same thing, capitalism != markets, socialism != gift economy, because organization != exchange. A capitalist gift economy is possible, as is a socialist gift economy. A socialist market economy is possible, as is a capitalist market economy.
Socialism is the idea that "the workers control the means of production": IOW, the person on the line who actually writes the code, sews the shirt, mines the ore, or builds the car gets a vote on who that car/shirt/ore/code goes to, and gets a split from the proceeds. Socialism is just employee ownership to the point where the term "employee" is a misnomer. (As an sidebar, when you are forced, it is no longer a truly socialist organization -- force & democracy are mutually exclusive.)
As to the motivational power of monetary gain, it is a farce. Monetary survival (having enough money to live w/o fear of being evicted, starving, etc.) is a motivation, but that is the motivation of fear, not the motivation to excel. I have never worked harder at a job because I wanted a raise, nor do I ever see myself doing so. I may work harder to avoid getting fired or because I need a raise in order to eat, but I don't think working out of fear of being fired or starving is a very productive work environment, personally. As per Office Space: "you work just hard enough not to get fired."
And however you measure motivation, at the end of the day, a person's excellence is measured only through the respect of their peers, not on how much money they have.
GnomeChat
So, I've decided to create an IRC Network Markup Language based on XML to describe the server list. However, this isn't intended to be just a local data storage format. Ideally, IRC networks could generate their own network lists, and the client would just download/cache them from the URIs given. Ideally, an IRCNML document would include everything a user-friendly client would need to know about an IRC network and it's servers. Sooo, here's an example, for GIMPNet:
<ircnml>
<network id="gimpnet"
category="interest"
data="http://www.gnome.org/gimpnet.xml" />
</ircnml>
And, in
gimpnet.xml:
<network>
<name>GIMPNet</name>
<description>Some description on GIMPNet (content whitespace is significant)
Another paragraph of description...</description>
<encoding>UTF-8</encoding>
<website>http://www.xach.org/gimpnet.html</website>
<channel id="#gnome-help">
<name>Help With GNOME</name>
<description>Get help on the the GNOME Desktop</description>
</channel>
<server id="dupe.xcf.berkeley.org">
<address>dupe.xcf.berkeley.org</name>
<ports>
<port>6667</port>
</ports>
<location>
<name>dupe.xcf.berkeley.org</name>
<city>Berkeley</city>
<province>California</province>
<country>United States</province>
<continent>North America</province>
<iso>US</iso>
</location>
</server>
</network>
Anyways, to get this working, I'm writing a GInterface for file transfer objects, and a wrapper for async/cached transfers using GnomeVFS (Which means I can either write a GnomeVFS module for DCC file transfers or a LibGTcpSocket-based one, if I want). Of course, doing things this way also means I can write global file-transfer list dialog (of some kind), which is cool (though probably unecessary for an IRC client--we'll see).