Zeke,
Basically I'm suggesting treating a command much like del.icio
treats its urls, anyone can save(copy) them
and then write down whatever notes and tags they want on it. The
beauty of making commands userless would be to connect users by
command and thus allow them to share what they know about it through
examples, descriptions, fixes and improvements. To address your
concerns:
* A command's tags could simply be an aggregrate of all users' tags
for that command.
* What descriptions and examples show up on a command's page is a
little tricky. Possible solutions could be a wiki,
having command admins (how they're picked is another issue), or voting
on them. I like the last solution since it seems like a good balance
of letting the community drive the site but without having too worry
as much about spam. See
urbandictionary.com for a good implementation
of this. Using voting, we could show the highest-voted description and
the top five (arbitrary number) examples.
* As for dealing with broken commands and command improvements (ie
adding more options), I'd use a similar community-driven approach.
Anyone who uses a command would be allowed to post a fix or
improvement to the command's page. As another command user, if I
notice that my command is broken, I'd go to its home page and see if
there are any fixes. If I saw one that worked I'd just copy it to my
local command url. That's an important point. I'd want to allow every
user to keep their own command url. This way when a command's url and
perhaps usage changes, users aren't forced to change unless they want
to.
So how and when would we change a command's official url? We could
keep track of the variant commands and their usage. If the usage got
to be higher than a certain percentage (ie higher than a currently
broken url) the site could automatically change it or flag it for
admin review. If auto-changing, we'd probably want to limit how often
that would happen.
Having said all this, with our current command model there isn't an
easy way to fix commands for everyone and to share improvements.
Hope some of this makes sense,
Gabriel