|
1 |
| -# Modern IRC |
| 1 | +# Modern IRC Documents |
2 | 2 |
|
3 |
| -This is an attempt to create an updated document about how the IRC client protocol works these days. |
| 3 | +This site contains documents describing the IRC protocol and related technologies. The documents hosted here are intended to be useful to software developers working with IRC. |
4 | 4 |
|
5 |
| -This document does not specify brand new stuff -- only existing behaviour and what we consider best-practices for new software. Where external, up-to-date and authoritative specifications exist for commands and messages, we prefer to link to those rather than needlessly rewrite sections (see the [`CAP`](http://modern.ircdocs.horse/#cap-message) message for an example of this). |
| 5 | +* [Modern IRC Client Protocol](http://modern.ircdocs.horse/) document |
6 | 6 |
|
7 |
| -We specify commands, messages and numerics as SHOULD and MUST based on how much of the IRC software out there today uses them (as well as the guidance of the RFCs and common-sense). Someone writing a client or server based off this document SHOULD end up with an implementation that interacts nicely with most IRC software and networks out there today. |
| 7 | +For suggestions of other documents to create / maintain, please [create an issue](https://github.com/ircdocs/modern-irc/issues) or [send me an email](mailto:[email protected])! |
8 | 8 |
|
9 |
| -This document is not an RFC. Writing an RFC and putting it through the IETF process is the job of someone else, and whoever does it is free to use anything from this document. Just try to respect the authors section at the top of the page if a decent amount of text is used. Look at [ircv3-harmony](https://github.com/kaniini/ircv3-harmony) for something which aims to be an RFC. |
| 9 | +The behaviour and constants described in these documents SHOULD converge, and/or be interoperable with the majority of IRC software. These documents should allow a client or server author to build software which can communicate with almost any other piece of IRC software it interacts with. |
10 | 10 |
|
11 |
| -If something written in here isn't correct for or interoperable with an IRC server / network you know of, please open an issue or send me an [email](mailto:[email protected]). Pull requests are appreciated. |
| 11 | +These documents contain existing behaviour and what we consider best-practices for new software. Where external, up-to-date and authoritative specifications exist for commands/messages/behaviours, we prefer to link to those rather than needlessly rewrite them (see the Client Protocol's [`CAP`](http://modern.ircdocs.horse/#cap-message) message for an example of this). |
12 | 12 |
|
13 |
| -This covers the client-server protocol only, and does not touch the S2S protocol. The reasons for this are discussed in the document. This document includes bits and pieces cherry-picked from the RFCs, [IRCv3](http://ircv3.net/), Internet-Drafts, and commands/replies that have generally been accepted by the IRC community. |
| 13 | +These document are not RFCs. Writing an RFC and putting it through the IETF process is the job of someone else, and whoever does it is free to use anything from these documents. Just respect the authors section at the top of the document if a decent amount of text is used from it. Look at [ircv3-harmony](https://github.com/kaniini/ircv3-harmony) for something which aims to be an RFC. |
| 14 | + |
| 15 | +If something written in these documents isn't correct for or interoperable with an IRC client / server / network you know of, please open an issue or send me an [email ](mailto:[email protected]). Pull requests are appreciated. |
14 | 16 |
|
15 | 17 | ---
|
16 | 18 |
|
17 |
| -This document draws from [RFC1459](https://tools.ietf.org/html/rfc1459) and [RFC2812](https://tools.ietf.org/html/rfc2812), as well as other specifications and drafts [listed](http://modern.ircdocs.horse/#acknowledgements). |
| 19 | +## Modern IRC Client Protocol |
| 20 | + |
| 21 | +This is an attempt to create an updated document about how the IRC client protocol works these days. |
| 22 | + |
| 23 | +We specify commands, messages and numerics as SHOULD and MUST based on how much of the IRC software out there today uses them (as well as the guidance of the RFCs and common-sense). Someone writing a client or server based off this document SHOULD end up with an implementation that interacts nicely with most IRC software and networks out there today. |
| 24 | + |
| 25 | +This ignores the S2S protocol. The reasons for this are discussed in the document. This document includes bits and pieces cherry-picked from the RFCs, [IRCv3](http://ircv3.net/), Internet-Drafts, and commands/replies that have generally been accepted by the IRC community. |
0 commit comments