Cloaks

Revision 1 as of 2010-01-17 08:52:18

Clear message

There are 2 different Ubuntu cloaks possible on Freenode:

  • "ubuntu/member/nickname"

  • "ubuntu/bot/nickname"

Member cloaks

All Ubuntu members can request an Ubuntu cloak by asking a member of the IRC Council for one. Please do not go to Freenode staff first as they require approval from a group contact for group cloaks.

Just join #ubuntu-irc and ask, giving a link to your Launchpad profile and make sure you have set up your account as per these steps.

All cloaked people should be added to the ubuntu-irc-cloaks Launchpad team.

Bot cloaks

The ubuntu/bot cloak is only available for bots approved by the IRC council. More information about the bots may be found at UbuntuBots. The following bots currently have a cloak:

Bots can be cloaked if the following conditions are met

  • The bot performs a useful function in Ubuntu teamchannels or LoCo channels of official LoCoTeams

  • There is no other bot performing this function in those channels
  • The bot is allowed by the channel admins of the channels it is in
  • The bot owner is trusted by the IRC council and/or the channel admins of the channels it is in
  • The bot will not join other channels unless the channel owner agrees
  • Preferably, the code for the bot is free software so we can inspect it

Cloaking your bot by linking it to your cloaked nickname is not allowed and will result in your cloak being revoked. If your bot does not meet these requirements, you can always ask Freenode staff for an unaffiliated cloak.

Maintenance

Verifying that all members of that team are still Ubuntu members can be done with this python snippet:

import urllib2
from xml.dom import minidom

def get_team(team):
    string = urllib2.urlopen('http://launchpad.net/~%s/+rdf' % team).read()
    tree = minidom.parseString(string)
    members = tree.getElementsByTagName('foaf:Person')
    members = [(x.getElementsByTagName('foaf:name'), x.getElementsByTagName('foaf:mbox_sha1sum')) for x in members ]
    members = [(x[0][0].firstChild.toxml(), x[1][0].firstChild.toxml()) for x in members if len(x[1])]
    return members

cloaks = get_team('ubuntu-irc-cloaks')
members = get_team('ubuntumembers')
print "\n".join(x[0] for x in cloaks if x not in members)


CategoryIRC