#summary Melange discussion on IRC channel #melange
#labels Contents-Draft,Phase-Guidelines

The [MelangeIntro Melange] community uses the `#melange` channel on
`irc.freenode.net` ([http://freenode.net Freenode]) for conversations and
discussions about the project.

Contributors listed as "project owners" on the
[http://code.google.com/p/soc/ SoC project] hosted on
[http://code.google.com Google Code] are set to `ACCESS` level `30` in the
channel, which is the `AUTOOP` level for the channel.  Contributors listed
as "project members" on that project page are set to
`ACCESS` level `15` in the channel, which is the `AUTOVOICE` level for the
channel.

Everyone is welcome to participate on the `#melange` IRC channel, even those
who are not project owners or members.  Most of the time, the channel will
be open (no `+m` moderation), but abusive users will be subject to being
kicked or banned, so please be civil.  Channel operators reserve the right
to decide what constitutes abuse.

Occasionally, the project contributors (owners and members) may need to hold
an IRC meeting on the channel, and in those cases the `+m` moderation
_might_ be enabled if the meeting participants deem necessary.  (This is
why project members are set to `ACCESS` level 15, the `AUTOVOICE` level
for the channel.)

----
_Copyright 2008 Google Inc._
_This work is licensed under a_
[http://soc.googlecode.com/svn/wiki/html/licenses/cc-by-attribution-2_5.html Creative Commons Attribution 2.5 License].
[http://creativecommons.org/licenses/by/2.5/ http://soc.googlecode.com/svn/wiki/html/licenses/cc-by-2_5-88x31.png]
