Add IRC Best Practices
[releng/docs.git] / docs / freenode.rst
1 .. _freenode:
2
3 ############
4 Freenode IRC
5 ############
6
7 Freenode, is an IRC network used to discuss peer-directed projects. Freenode is
8 a popular choice for Open Source project collaboration and having your project
9 use this network makes it easy to cross collaborate with other communities.
10
11 The Linux Foundation operates :ref:`support channels
12 <freenode-lf-channels>` to provide community help.
13
14 .. important::
15
16    Due to prolonged SPAM attacks on Freenode, all Linux Foundation project
17    channels now require registered accounts to join.
18    :ref:`Register <freenode-register>` your account with the instructions below.
19
20 .. _freenode-register:
21
22 Register your username
23 ======================
24
25 To register you must set your nick, register it and authenticate.
26
27 Set your IRC nick:
28
29 .. code-block:: none
30
31    /nick <username>
32
33 Register your IRC nick:
34
35 .. code-block:: none
36
37    /msg NickServ REGISTER <password> <youremail@example.com>
38
39 To Authenticate:
40
41 .. code-block:: none
42
43    /msg NickServ IDENTIFY <username> <password>
44
45
46 .. note::
47
48    If you are already registered and encounter
49    "-!- Nick YourNick is already in use"
50    you will need to ghost your nick:
51
52    .. code-block:: none
53
54       /msg NickServ ghost <username> <password>
55
56    This command kicks whoever is using your nick allowing you to take it back.
57
58 Your IRC client will have a way of automating your login identification
59 please refer to the docs of your IRC client for instructions.
60
61 For further details on the Freenode registration process,
62 please see https://freenode.net/kb/answer/registration
63
64
65 .. _freenode-lf-channels:
66
67 Linux Foundation Channels
68 =========================
69
70 The Linux Foundation operates the following channels on IRC. We recommend
71 project developers to at least join the ``#lf-releng`` channel for releng or
72 CI related questions.
73
74 ================ ==============================================================
75 Channel          Details
76 ================ ==============================================================
77 #lf-docs         For cross community documentation collaboration.
78 #lf-releng       Linux Foundation Release Engineering channel for asking
79                  general support questions as well as LF projects such as
80                  jjb / lftools / packer / etc...
81 #lf-unregistered Redirect channel for unauthenicated users.
82 ================ ==============================================================
83
84 .. _irc-best-practices:
85
86 IRC Best Practices
87 ==================
88
89 For users
90 ---------
91
92 Skip the formalities and ask your question
93 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
94
95 Avoid the unnecessary 3-way handshake when asking a question. Eg.
96
97     user1> Hi, I have a question.
98     user2> Hello user1, what is your question?
99     user1> My question is...
100
101 Asking the question upfront allows everyone watching the channel to respond
102 to the question. People may be away from their terminals and not see the
103 question when you ask, and hours later you may no longer be around to respond
104 with the question causing an unnecessary feedback loop.
105
106 Be patient
107 ^^^^^^^^^^
108
109 People who might know the answer to your question may not be available but may
110 see it later on. If you are not in the channel when someone who can answer is
111 around then they will not be able to answer.
112
113 Try the mailing list
114 ^^^^^^^^^^^^^^^^^^^^
115
116 If you cannot stick around in the channel for a response try leaving your
117 question on the project's mailing list. Most projects have one at
118 lists.example.org where example.org is the domain of the project.
119
120
121 For channel moderators
122 ----------------------
123
124 DO NOT use ops unless necessary
125 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
126
127 Setting yourself as ops targets you to the top of the channel list, making you
128 the obvious choice to direct questions to. Have everyone in the channel deopped
129 and then use ``/msg chanserv`` commands to administrate the channel. This
130 ensures anonymity when running commands in the channel.