IRC (, puhekielessä irkki) on eräs Internetin pikaviestintäpalvelu (instant messenger), joka mahdollistaa reaaliaikaisen keskustelun Internet-käyttäjien välillä. IRC:n keskustelut käydään kirjoittamalla tekstiä ja lukemalla näytöltä muiden kirjoittamia viestejä. IRC:iin pääsee tarkoitusta varten tehdyllä asiakasohjelmalla tai joidenkin WWW-sivujen kautta.
Historiaa
thumb|right|Tolsun, Oulun yliopiston tietojenkäsittelyopin laitoksen (TOL) Sun-3-tietokone esillä yliopiston tiloissa IRC:n kehitti Jarkko "Wiz" Oikarinen vuoden 1988 kesällä korvaamaan OuluBox BBS:n MUT ("MultiUser Talk") -ohjelman. IRC:n edeltäjä ja inspiraatio oli Bitnet Relay Chat -niminen ohjelma, joka mahdollisti reaaliaikaisen keskustelun kansainvälisten akateemisten verkkojen muodostamassa BITNET-verkossa. Ensimmäinen IRC-palvelin aloitti toimintansa Oulussa elokuussa 1988, osoitteenaan tolsun.oulu.fi. http://www.irc.org/history_docs/jarkko.html
Vuoden 1989 puolivälissä IRC-palvelimia oli maailmanlaajuisesti noin 40 kappaletta. Samana vuonna Michael Sandrof julkaisi tunnetun ircII-asiakasohjelman. Heinäkuussa 1990 IRC:tä käytti keskimäärin 12 käyttäjää 38 palvelimella History of IRC (Internet Relay Chat). Daniel.haxx.se. .
IRC tuli kuuluisaksi, kun Neuvostoliiton vallankaappauksen yhteydessä käyttäjät kertoivat rautaesiripun takaisista tapahtumista. Yliopistonlehtori Mikael Niku muistaa myöhästyneensä koulusta, koska seurasi eräänä elokuisena aamuna Moskovan vallankaappausta IRC:ssä. Kuwaitilaiset käyttivät sitä aikaisemmin samalla tavalla Saddam Husseinin hyökättyä maahan. Vuonna 1991 saavutettiin ensimmäisen kerran 300 yhtäaikaisen käyttäjän raja .
Sittemmin IRC:stä tuli merkittävä kansainvälisen keskustelun media. IRC-verkot kasvoivat sekä määrällisesti että käyttäjämäärältään Internetin yleistyessä voimakkaasti 1990-luvun lopussa ja 2000-luvun alussa. Huippuvuosi IRC:n käytössä oli vuosi 2004, jonka jälkeen käyttäjämäärät ovat pääsääntöisesti laskeneet vuosi vuodelta irc.netsplit.de-sivuston tilastojen mukaan. Huippuvuonna 2004 esimerkiksi suurimmassa verkossa Quakenetissä oli parhaimmillaan noin 240 000 yhtäaikaista käyttäjää ja vuonna 2013 Quakenetissä on keskimäärin 70 000 samanaikaista käyttäjää. Hidas käyttäjämäärien lasku on todettavissa myös muissa suurissa ja perinteisissä IRC-verkoissa.http://irc.netsplit.de/networks/top10.php IRC Networks - Top 10 by comparison.
IRC:n ympärille on Suomessa kehittynyt muutama WWW-palvelu, kuten IRC-Galleria. Lisäksi Internetiin on ilmaantunut IRC:n kaltaisia palveluita, chattejä. Nämä ja sosiaaliset verkkopalvelut ovat vallanneet alaa aloittelijalle vaikeakäyttöiseltä IRC-palvelulta.
Jarkko Oikarinen sai vuonna 1997 Dvorak-palkinnon (John C. Dvorak Telecommunications Excellence Award) IRC:n kehittämisestä. Lisäksi IRC on palkittu Millennium-sovelluspalkinnolla vuonna 2005.
Käyttötapoja
IRC:n yleisin käyttö on todennäköisesti lähinnä yksityisten henkilöiden välistä keskustelua. IRC:ssä on valtava määrä kanavia eri aiheista monilla eri kielillä. IRC:ssä on keskustelua vuorokaudenaikaan katsomatta lähes aina. Suosittuja kanavia ovat esimerkiksi harrastus-, paikkakunta- ja opiskelukanavat. Osa IRC:n viehätyksestä perustunee kasvottomuuteen: halutessaan voi olla nimetön ja vaikkapa käyttää aina erilaista nimimerkkiä. Keskustelijan nimeä, ulkonäköä ja asuinpaikkaa ei tiedä kukaan – ellei sitä itse halua kertoa. Monille kanaville muodostuu sisäpiiri, joka tapaa toisiaan säännöllisesti myös kasvotusten. IRC:stä löytää melko varmasti samanhenkistä seuraa, kunhan muistaa normaalit käytöstavat, terveen järjen ja netiketin.
Toiminta
right|thumb|Kaavio IRC-verkon toiminnasta. Vihreät neliöt kuvaavat normaaleja asiakasohjelmia, siniset IRC-botteja ja oranssit bouncer-ohjelmia
IRC on avoin, ja usein salaamaton, TCP/IP:n päällä toimiva protokolla. Käyttäjä käyttää IRC:tä ottamalla yhteyden haluamaansa IRC-palvelimeen asiakasohjelmalla. IRC:stä on useita palvelin- ja asiakasohjelmatoteutuksia. IRC-palvelimet muodostavat keskenään IRC-verkkoja. Suosituimmat IRC-verkot ovat QuakeNet, EFnet (Eris Free Network), IRCnet sekä Undernet, joista IRCnet ja EFnet vastaavat parhaiten alkuperäistä vuonna 1988 aloitettua IRC-verkkoa. Joillakin kielillä on omia verkkojaan, esimerkiksi ranskankielinen EpiKnet ja espanjankielinen IRC-Hispano. Useimmat IRC-verkot ovat julkisia, eli verkkoon voi liittyä keskustelemaan kuka tahansa. IRC:n käyttäjä saa viestejä ainoastaan ollessaan kytkeytyneenä palvelimeen; jos käyttäjä ei ole verkossa, hänelle lähetetyt viestit jäävät saapumatta. Pysyvä IRC:ssä paikallaolo vaatii koko ajan päällä olevan asiakasohjelman pysyvästi verkossa olevalla koneella. Tämä voi tapahtua Unix-koneessa ajettavalla tekstipohjaisella IRC-ohjelmalla (joka voi myös tapahtua ns. shell-tunnuksen avulla) tai esimerkiksi ns. bouncer-ohjelmalla, joka toimii välityspalvelimena ja kerää viestejä käyttäjän poissaolon aikana.
IRC:n peruskäsitteisiin kuuluvat nimimerkki (nickname) ja kanava.
Nimimerkit ja käyttäjätunnukset Jokaisella käyttäjällä on oma IRC-nimimerkki (nickname) ja käyttäjätunnus (username). Kunkin käyttäjän täytyy valita itselleen nimimerkki, jolla muut käyttäjät tunnistavat hänet. Nimimerkki määritellään asiakasohjelman asetuksissa ennen ensimmäistä käyttökertaa. Nimimerkki näkyy muille IRC:n käyttäjille kunkin käyttäjän kirjoittamien tekstirivien alussa.
Esimerkki: <Matti> Hei Maija, mitä kuuluu? <Maija> Kiitos hyvää, Matti!
Alun perin käyttäjätunnuksen (username) tarkoituksena oli näyttää se käyttäjätunnus, joka käyttäjällä on hänen käyttämässään laiteympäristössä. Useimmissa nykyisissä asiakasohjelmissa käyttäjätunnukseksi voi asettaa kuitenkin minkä tahansa haluamansa tekstin.
Teknisesti käyttäjä tunnistetaan maskista, joka on muotoa nimimerkki!käyttäjätunnus@osoite, jossa osoite (hostname) on käyttäjän IP-osoite tai sitä vastaava DNS-nimi. identd-palvelu antaa käyttäjätunnuksen palvelimelle pyydettäessä. Palvelin lisää käyttäjätunnuksen eteen ~-merkin ja jotkut palvelimet "+" tai "-" -merkin merkiksi rajoitetusta yhteydestä, jos ne eivät saa vastausta identd-palvelimelta, tai mahdollisesti epäävät pääsyn kokonaan.
Tästä huolimatta IRC:ssä on kuitenkin mahdollista esiintyä myös jonain toisena käyttäjänä muiden välttämättä hoksaamatta käyttäjän todellista identiteettiä.
Kanavat
Pääasiallisesti IRC:ssä keskustellaan monien kuulijoiden kanssa, joten peruskommunikointi IRC:ssä tapahtuu kanavalla (puhekielessä puhutaan myös kannusta). Kanavat ovat ns. keskusteluhuoneita, jotka käsittelevät jotain kanavan jäsenten valitsemaa aihetta, esimerkiksi harrastusta tai paikkakuntaa. Kun käyttäjä liittyy kanavalle, hänen kirjoittamansa tekstit välitetään muille samalle kanavalle liittyneille käyttäjille.
Kullakin kanavalla on nimi. Kanavien nimet alkavat erikoismerkillä, joka on normaaleilla kanavilla "#". Joissain verkoissa on myös muita, harvemmin käytettyjä etuliitteitä, kuten "&", "+" ja "!". Kanavan nimi voi olla esimerkiksi #wikipedia.
Kanava syntyy automaattisesti, kun ensimmäinen keskustelija liittyy kanavalle. Vastavuoroisesti kanava lakkaa olemasta, kun viimeinen käyttäjä poistuu kanavalta. Käyttäjät voivat liittyä yhtä aikaa myös useille kanaville, joilla käydyt keskustelut eivät näy muille kanaville.
Kanavaoperaattorit
Ensimmäinen IRC-kanavalle liittynyt keskustelija saa kanavaoperaattorin oikeudet sekä @-merkin nimimerkkinsä eteen. Kanavaoperaattorin oikeudet antavat kanavan perustajalle määräysvallan kanavalla käytävän keskustelun ja käytöksen suhteen. Näin keskustelut saadaan haluttaessa pysymään tietyn aiheen ympärillä. Kanavaoperaattori voi antaa edelleen muille kanavalla oleville kanavaoperaattorin oikeuden, tai poistaa oikeuden toiselta operaattorilta.
Kanavaoperaattorin oikeuksiin kuuluvat muun muassa: Kanavan jäsenen poistaminen kanavalta (pois potkaiseminen eli kick) Tietyn käyttäjän tai käyttäjäjoukon kanavalle pääsyn epääminen (bannaus eli ban) kickban on vakiintunut mutta epävirallinen termi, jolla tarkoitetaan jonkin käyttäjän poistamista (potkaisemista) kanavalta, estäen samalla hänen pääsynsä takaisin kanavalle (ban) Kanavan moodin muuttaminen (katso Kanavamoodit) Kanavan otsikon vaihtaminen, jos se on rajoitettu t-moodilla Kanavalle liittymiseen vaadittavan salasanan asettaminen Puheoikeuksien jakaminen, jos kanavalla keskustelu on rajoitettu m-moodilla
Kanavaoperaattorien määrä vaihtelee kanavakohtaisesti: joillain kanavilla ei ole yhtään operaattoria, kun taas joillain kanavilla kaikki kanavan kaikille käyttäjille on annettu operaattorin oikeudet. Koska kanavaoperaattorit ovat vallan määrältään tasa-arvoisia, yksi kanavaoperaattori voi teoriassa päättää koko kanavan asioista. Usein kanavayhteisöt ovat kuitenkin jonkinasteisia demokratioita – ainakin operaattorien kesken.
Kanavaoperaattorin oikeuden menettää poistuessaan kanavalta joko tarkoituksella tai verkko-ongelmien johdosta, tai sen voi menettää toisen operaattorin poistamana. Tämän vuoksi IRC-kanavilla nähdään silloin tällöin tilanne, jossa kenelläkään kanavalla olevalla ei ole operaattorin oikeuksia. Tällainen tilanne on ei-toivottava, koska kukaan ei voi muuttaa kanavalle mahdollisesti asetettuja kanavamoodeja. Tilannetta voidaan pyrkiä estämään käyttämällä IRC-botteja tai nykyaikaisempien palvelinohjelmiston tarjoamia toimintoja.
Tilat
Sekä kanavilla että käyttäjillä voi olla eri tiloja (mode). Useissa IRC-palvelimissa on paljon dokumentoimattomia ja uusia moodeja. Tämä aiheuttaa päänvaivaa asiakasohjelmien tekijöille ja ennen kaikkea niihin skriptejä kirjoittaville.
Standardimoodit, joiden pitäisi toimia kaikkialla: Käyttäjämoodit Moodi Nimi Toiminto o IRC-operator Käyttäjä on IRC-operaattori. IRC-operaattorilla on oikeuksia koko IRC-verkon toimintoihin; mm. kill, joka poistaa käyttäjän koko verkosta. w wallops Käyttäjä vastaanottaa WALLOPS-viestejä. Nämä viestit ovat IRC-operaattoreille suunnattuja viestejä toisilta IRC-operaattoreilta. s server notices Käyttäjä vastaanottaa IRC-palvelimen viestejä. Näitä viestejä ovat KILL-viestit ja viestit palvelimien linkityksistä. i invisible Käyttäjä ei näy listauksissa, ellei listaajalla ole kontaktia käyttäjään (esimerkiksi yhteinen kanava). Nykyaikana tämä on lähes ilmiselvä ja pakollinen valinta esimerkiksi mainostusbottien takia. Kanavamoodit Moodi Nimi Toiminto s secret Kanava ei näy listauksissa. m moderated Kanavalla ei voi puhua ilman erikoisoikeuksia (esimerkiksi +v tai +o). n no external messages Kanavalle ei voi lähettää viestejä, jos ei ole liittynyt kanavalle. t only ops can change topic Vain kanavaoperaattorit voivat asettaa kanavan otsikon. b nick!ident@hostname pääsykielto (ban) käyttäjä, jonka nick!ident@hostname-maski sopii asetettuun maskiin, ei pääse kanavalle. Kanavaoperaattorit voivat asettaa ja poistaa pääsykieltoja. o käyttäjä operator Käyttäjällä on kanavaoperaattorioikeudet. v käyttäjä voice Käyttäjällä on puheoikeudet, jos m-moodi on asetettu. k salasana key Kanavalle pääsemiseksi tarvitsee liittymisen yhteydessä antaa määritelty salasana. i invite only Kanavalle pääsee vain kutsuttaessa. l numero limit Kanavalla voi olla enintään annettu määrä ihmisiä.
Verkkokohtaisia moodeja: Kanavamoodit Moodi Nimi Verkko Toiminto R reop IRCnet Määrittää kanavalle käyttäjämaskin, jolla tai joilla on oikeus saada kanavaoperaattorin status automaattisesti, mikäli kanavalla ei ole jo kanavaoperaattoria.
Yksityisviestit Kaikki IRCissä tapahtuva kommunikaatio ei tapahdu kanavilla. Käyttäjät voivat lähettää toisilleen myös yksityisviestejä, jotka ainoastaan yksityisviestin vastaanottaja ja lähettäjä voi nähdä. Yksityisviestit lähetetään useimmissa asiakasohjelmissa seuraavanlaisella komennolla. Viestin sisällöllä on tietty järjestys toimivuuden kannalta, joten ensin pitää kirjoittaa /msg sitten vastaanottaja -kohtaan laitetaan nimimerkki ja lopuksi haluamasi viesti perinteisellä kirjoitustyylillä. /msg vastaanottaja Sinun viestisi.
IRC-operaattorit