If I had an open system such as hotmail, I
wouldn't want people to be able to create accounts and send out email to
400-500 people at a time
OK, that's different from what you said before. What you actually mean is "mailservers run for end users by ISPs or portals", not just "mailservers". That's clearly a policy decision for the people running the server, not a technical issue. I'm not interested in the policy issues here; that's already covered by various tunable settings in jabber.xml.
I also know that the majority of bots do not
require presence information at all, all users do is query their services.
An IM bot is going to get added to people's rosters so they can send messages to it, so the roster bloat will inevitably be just as you described.
Also, the point I initially made on this thread is that if you want a bot (like a freshmeat announcer) sending you IMs, it is a much better model to tie this to a Jabber subscription rather than having to invent your own higher level subscription model involving sending magic IMs to it (whose syntax people will inevitably mess up or forget.) Let's not introduce all the same problems that listservs have.
If you are running a server, do you want some user to connect,
advertise their client as a bot, and start taking up memory and CPU usage to
the scale described below?
In the case of "some random user", clearly not. As I said above, this is a policy decision, not a technical one. In cases where the server and the bot belong to the same organization, this might be a fine idea.
I'm saying that you can't take protocol decisions made for an average roster
size of 10 and scale it to a roster size of a quarter million.
I don't see any protocol decisions here that don't scale. It sounds like purely a server implementation issue.
If you are giving out a user address as the bot, it is a user; it cannot be
farmed, it cannot be distributed. Again, it has to be attacked another way.
Again, is that an intrinsic limitation of the protocol, or just with the design of the current server?
�Jens
