top of page

Author: Frank da Cruz

 

Original Source: https://www.kermitproject.org/kermit.html

Kermit Projekti

MIKÄ ON KERMIT?

Kermit on nimi tiedostonsiirto- ja -hallintaprotokollalle ja monentyyppisille tietokoneille tarkoitetulle tietokoneohjelmasarjalle, joka toteuttaa kyseisen protokollan sekä muita viestintätoimintoja päätelaitteen emuloinnista viestintätehtävien automatisointiin korkean tason monialustaisen skriptikielen avulla. Ohjelmisto on siirtomuodosta riippumaton ja toimii TCP/IP-yhteyksien kautta perinteisessä selväkielisessä tilassa tai suojattuna SSH:lla, SSL/TLS:llä tai Kerberos IV:llä tai V:llä sekä sarjaporttiyhteyksien, modeemien ja muiden viestintämenetelmien kautta (X.25, DECnet, erilaiset lähiverkkoprotokollat, kuten NETBIOS ja LAT, rinnakkaisportit jne. tietyillä alustoilla).

Kermit-projekti perustettiin Columbian yliopiston tietokonekeskuksessa (nykyisin CUIT) vuonna 1981 vastaamaan tiettyyn tarpeeseen, ja 1990-luvun puoliväliin ja loppupuolelle asti Kermit oli Columbian yliopiston standardi työpöytäyhteysohjelmisto, jota opiskelijat, opettajat ja henkilökunta käyttivät yleisesti liittääkseen pöytämikrotietokoneet, PC:t, Macintoshit ja Unix-työasemat keskusyksikköihin: IBM keskusyksiköihin (1963-2017), DECSYSTEM-20 (1977-1988), CLIO (Columbian ensimmäinen verkkokirjastotietojärjestelmä, 1984-2003) ja Cunixiin (Unix-pohjaiset palvelimemme, 1986-nykyisin) sekä laitosten VAX-, PDP-11-, Sun- ja muihin minitietokoneisiin. Mikrotietokoneiden ja PC:iden alkuaikoina, mutta ennen lähiverkkojen ja niihin liitettävien työasemien laajamittaista käyttöönottoa, Kermit-ohjelmisto yhdisti työpöydän sähköpostiin, ilmoitustauluihin, tiedostojen jakamiseen, tekstinkäsittelyyn, viestinvälitykseen ja muihin nykyään itsestään selviin uuden verkkokulttuurin osa-alueisiin, kauan ennen kuin näitä kokemuksia oli saatavilla useimmissa muissa laitoksissa. Columbian yliopistossa DEC-20-koneet ja osastojen minitietokoneet ovat jo kauan sitten kadonneet, ja IBM suurtietokoneita käytetään enää vain backoffice-käyttöön, mutta Kermit-ohjelmistoa käytetään edelleen SSH-istuntoihin työpöydältä CUNIX-tietokoneeseen, ja tekninen henkilökunta käyttää sitä järjestelmä- ja verkonhallintatehtäviin; esimerkiksi HP blade-palvelimia täynnä olevien telineiden konfigurointiin niiden saapuessa paikalle, yliopiston puhelinjärjestelmän hallintaan, CGI-skriptien kirjoittamiseen, päivystäjien alfa-pagingiin ja niin edelleen. Lisäksi tietysti vanhoilliset käyttäjät, jotka yksinkertaisesti pitävät enemmän tekstimoodin komentotulkki-istuntojen turvallisuudesta ja tehokkuudesta sähköpostin lähettämisessä ja työnsä tekemisessä, esimerkiksi ohjelmistokehityksessä ja verkkosivujen hallinnassa.

Vuosien mittaan Kermit-projekti kasvoi maailmanlaajuiseksi voittoa tavoittelemattomaksi ohjelmistojen kehitys- ja jakelupyrkimykseksi, jonka pääkonttori sijaitsee Columbian yliopistossa ja jota koordinoidaan Columbia Universitystä käsin, kun Kermit-ohjelmistoja siirrettiin tai kehitettiin yhä useammille tietokoneille ja käyttöjärjestelmille (katso luettelo). Kermit-projekti on omistautunut tuottamaan monialustaisia, pitkäikäisiä, vakaita, standardien mukaisia ja yhteentoimivia viestintäohjelmistoja, ja se on osallistunut aktiivisesti standardointiprosessiin. Kermit-ohjelmistoja käytetään kaikkialla maailmassa kaikilla talouden aloilla: valtionhallinnossa, osavaltio- ja paikallishallinnossa, yliopistoissa, lääketieteessä ja terveydenhuollossa, tekniikan alalla, ilmailu- ja avaruusalalla, voittoa tavoittelemattomissa yhteisöissä ja kaupallisissa yrityksissä.

1.jpg

Vaikka päätelaite-emulointi on suurelta osin syrjäytetty verkkopalvelun avulla, Kermit-ohjelmistoilla on edelleen merkitystä muissa sovelluksissa, kuten kaukokartoituksessa ja tiedonkeruussa, verkko- ja tietoliikennelaitteiden hallinnassa ja vianmäärityksessä, back office -toiminnoissa, rahdin ja varaston hallinnassa, sairausvakuutushakemusten jättämisessä, sähköisessä varainsiirrossa ja veroilmoitusten jättämisessä verkossa. Kermit-ohjelmisto on upotettu verkkoreitittimiin ja -kytkimiin, matkapuhelinmastoihin, lääketieteellisiin diagnosointi- ja valvontalaitteisiin ja jopa sydämentahdistimiin, puhumattakaan useiden suurten vähittäiskauppojen kassakoneista. Vuonna 2002 Kermit lensi ISS, ja Kermit-ohjelmisto on viestintämenetelmä, jota käyttävät EM APEX -merialusten kellukkeet (vasemmalla), jotka toimittavat reaaliaikaisia tietoja hurrikaanitutkijoille ja -seurantalaitteille vielä tänäkin päivänä (hurrikaanihanke siirtyi uuteen laajennettuun vaiheeseen vuonna 2010, joka perustuu uuteen versioon sulautetusta Kermit).

Kermit-protokollaa ja -ohjelmistoja on 1980-luvulta lähtien käytetty tehtailla ohjelmoitavissa stanssauslaitteissa, puristusjarrussa, laminointikoneissa, litteärullakoneissa, leikkauslaitteissa, metalli- ja muovinkäsittelykoneissa, puuntyöstökoneissa ja muissa koneissa. Esimerkiksi Boeing 787 -lentokoneen valmistuksessa, jossa Kermitiä käytetään ohjaamaan tiettyjä rungon osia muodostavaa teippikerrosta. Voit lukea lisää siitä, miten Kermitiä käytetään tehtaalla, täältä ja täältä.

2.jpg
3.jpg
4.jpg

 

1990-luvulla Kermit-ohjelmistoa käytettiin Yhdysvaltain postilaitoksen automatisoinnissa, se oli avainasemassa Brasilian vuoden 1994 kansallisissa vaaleissa (siihen mennessä maailman historian suurimmat vaalit), ja se oli keskeisessä asemassa Bosnian-avustusoperaatiossa, sillä se "yhdisti koko projektin toimintakokonaisuuden keskusyksiköistä, minitietokoneista, tietokoneista, kannettaviin laitteisiin ja viivakoodinlukijoihin".

5.jpg

 

1980-luvulla Kermit-protokollan kestävyys sopi erinomaisesti käytettäväksi Neuvostoliiton Kermit-paita Vihreä vallankumous Afrikassa, Euroopan ja Neuvostoliiton yhteinen Giotto-avaruuslento, ja ehkäpä merkittävimpänä tehtävänä oli palauttaa tiedonsiirto Yhdysvaltain tutkimusasemien välille Etelämantereella sen jälkeen, kun ne katkaistiin vuonna 1986 tietokonevahingossa yhdeksän kuukautta kestäneen Etelämantereen talven aikana. Vuonna 1989 Moskovassa, Neuvostoliitossa, järjestettiin kansainvälinen Kermit-konferenssi, ja Kermit-istuntoja pidettiin 1980-luvulla myös muissa konferensseissa Tokiossa, Bernissä, Pariisissa, Nashvillessä ja muualla.

Kermit-protokolla ja -ohjelmisto on nimetty Muppet Show -televisiosarjan tähden Kermit-sammakon mukaan; nimeä Kermit käytetään Henson Associates, Inc:n luvalla. Miksi se on nimetty Kermit-sammakon mukaan? Toukokuussa 1981 meillä oli jo ensimmäiset protokollan toteutukset toiminnassa, mutta meillä ei ollut vielä nimeä protokollalle tai ohjelmistolle. Ryhmämme keskusteli siitä (minä, Bill Catchings, Bill Schilit, Jeff Damens, se taisi olla se ryhmä) välittämättä siitä oikeastaan liikaa, koska emme koskaan odottaneet, että ohjelmisto leviäisi kaikkialle maailmaan ja kestäisi vuosikymmeniä. Satuin seisomaan seinää vastapäätä, jossa oli Muppets-kalenteri, ja koska lapseni olivat niin suuria Muppet Show'n faneja, sanoin: "Entä Kermit?  Kolmekymmentä vuotta myöhemmin (toukokuussa 2011) löysin kalenterisivun, jota katselin sanoessani tuon, näet sen vasemmalla, ja voit klikata sitä nähdäksesi suuremman kuvan.

KERMIT-OHJELMISTO

Kermit-ohjelmisto on kirjoitettu sadoille eri tietokoneille ja käyttöjärjestelmille, osan siitä ovat tehneet vapaaehtoiset ohjelmoijat ympäri maailmaa, osan Kermit-projektin ammattilaiset. Suosituimpien Kermit-ohjelmien pääominaisuudet ovat:

Kermitin käyttöliittymä ja skriptiohjelmointikieli ovat yhdenmukaisia eri alustoilla ja viestintämenetelmissä, joten oppimiseen tehty investointi maksaa itsensä takaisin kerta toisensa jälkeen, kun siirryt alustalta toiselle ja viestintämenetelmästä toiseen.


Ensisijaiset Kermit-ohjelmistototeutuksemme ovat:

  • Kermit 95 Windows 95/98/ME:lle, Windows NT/2000/XP/Vista/7/8/10:lle ja OS/2:lle;

  • C-Kermit UNIXille, VMS:lle, VOS:lle ja useille muille käyttöjärjestelmäperheille;

  • E-Kermit upottamista varten.

  • MS-DOS Kermit DOS:lle ja Windows 3.x:lle;

  • IBM Mainframe Kermit VM/CMS:lle, MVS/TSO:lle ja CICS:lle.

C-Kermit ja IBM Mainframe Kermit ovat isäntäpohjaisia paketteja, joiden monipuolisuus on vertaansa vailla. Kermit 95 ja MS-DOS Kermit ovat täydellisiä työpöytäviestintäohjelmia, jotka kilpailevat laadultaan minkä tahansa muun markkinoilla (tai muualla) olevan ohjelman kanssa, paitsi ehkä käyttöliittymän näyttävyydessä: Kermit-ohjelmat noudattavat entisaikojen tekstimoodin kehote- ja komentotyyliä, mikä on joillekin hämmentävää, kunnes he ymmärtävät sen edut:

  • Komentosarja on kohtuullisen yhdenmukainen kaikilla alustoilla ja lähes täysin yhdenmukainen nykyaikaisilla alustoilla, kuten Windows, Mac OS X, Linux ja VMS. Opettele se kerran, käytä sitä kaikkialla.

  • Komentoja voidaan yhdistää "makroiksi" tai "ohjelmiksi" minkä tahansa käsin suoritettavan tehtävän automatisoimiseksi, kuten tässä on kuvattu. Itse asiassa C-Kermitissä ja Kermit 95:ssä komentokieli on varsinainen ohjelmointikieli, jossa on muuttujia, ohjausrakenteita, funktioita, "aliohjelmia" ja muutamia yllätyksiä.

  • Sinun ei tarvitse tietää komentoja etukäteen eikä kirjoittaa niitä kokonaan. Komentotyyli on nimeltään "kontekstisidonnainen valikko pyynnöstä" (näet käytettävissä olevat vaihtoehdot, kun kirjoitat kysymysmerkin), ja avainsanoja voi lyhentää. Sisäänrakennettua apua on runsaasti, ja Kermit-verkkosivulta löytyy paljon lisää apua; esimerkiksi C-Kermit-opas ja Kermit 95 -opas, vain alkajaisiksi.

  • Kosketuskirjoittajat voivat työskennellä nopeammin, kun heidän ei tarvitse siirtää kättään pois kotinäppäimiltä, ja he kärsivät vähemmän toistuvasta rasitusvammasta.

  • Tiettyjä asioita ei vain voi tehdä tehokkaasti tai lainkaan graafisen käyttöliittymän avulla. Tämä on täysin sattumanvarainen esimerkki, mutta se osoittaa asian:

Minulla on tietokoneella hakemisto, joka sisältää tuhansia kuvia ja niiden pikkukuvat. Jokaisesta kuvasta xxx.jpg on olemassa pikkukuva xxx-t.jpg. Haluan ladata kaikki pikkukuvat Photoshopiin. Hiiren avulla tähän menisi koko päivä. Kermitillä se onnistuu näin (Kermitin komentorivillä):

mkdir thumbnails

rename *-t.jpg thumbnails/

Ja sitten pikkukuvien alihakemistossa, Ctrl-A "valitse kaikki" ja vedä Photoshopiin (ja sitten, jos haluat, vedä pikkukuvat takaisin alkuperäiseen hakemistoon yhdellä hiiren liikkeellä, tai nimeä ne takaisin yhdellä Kermit-komennolla).

7.jpg

 

Kermit 95 kehitettiin paitsi täyttämään Columbian tarve saada yhteys Windows 95:stä (ja myöhemmistä) keskeisiin tekstipohjaisiin palveluihin, myös keräämään rahaa Kermit-projektin tukemiseen. Toisin kuin muut Kermit-ohjelmat, K95 oli puhtaasti kaupallinen, ja sitä oli saatavana sekä vähittäismyyntipakkauksessa (oikealla) että irtotavarana kopiointioikeudet sisältävinä lisensseinä. Vuonna 1995 tapahtuneesta julkaisusta vuoden 2011 puoliväliin asti yli neljännesmiljoona irtolisenssipaikkaa ostettiin yli 1000 lisenssissä, joiden koko vaihteli 100:sta 10 000:een. Noin 30 000 käärittyä kappaletta myytiin, useita tuhansia lisää ostettiin ladattavaksi e-academysta, ja K95:n käyttöoikeuksia oli yli 100 yliopistossa sekä kokonaisissa osavaltion laajuisissa yliopistojärjestelmissä, kuten SUNY:ssä (64 kampusta, joissa on noin 400 000 opiskelijaa).

Kermit-projekti laitettiin omarahoitusosuuteen vuonna 1984, ja siitä lähtien ja sen peruuttamiseen asti vuonna 2011, se toteutti $8,894,912.00 tuloja yliopistolle, sekä laiteavustus (Hermit-projekti) arvoltaan $3,000,000.00. Vuodesta 1984, jolloin Kermit-"liiketoiminta" alkoi, vuoteen 1998, jolloin Internet valtasi maailman, toimitimme 31 591 Kermit-ohjelmistoa magneettivälineillä (pääasiassa 10-tuumaisilla keloilla 9-raitaista magneettinauhaa); näistä 4679 oli kansainvälisiä 107 eri maahan, mukaan lukien joihinkin maihin, joita ei enää ole olemassa, kuten Neuvostoliittoon ja Jugoslaviaan, ja joihinkin muihin maihin, kuten Uuteen-Kaledoniaan, joita ei ehkä odottaisi.

KERMIT-PROTOKOLLA

Vuonna 1981 tapahtuneen perustamisensa jälkeen Kermit-protokolla on kehittynyt hienostuneeksi, tehokkaaksi ja laajennettavissa olevaksi, tiedonsiirrosta riippumattomaksi työkaluksi tiedostojen siirtoon ja hallintaan, joka sisältää muun muassa seuraavat ominaisuudet:

Kermit-protokolla käyttää tarkoin määriteltyjä, peräkkäisiä, virheiden tarkistettuja paketteja kumpaankin suuntaan tiedostonsiirtoistunnon toteuttamiseksi protokollan kerrostamisen vakiosääntöjä noudattaen. Paketit on suunniteltu mahdollisimman läpinäkyviksi, joten ne voivat kulkea minkä tahansa tiedonsiirtovälineen läpi, olipa se kuinka rajoittava tahansa. Puoliduplex- (pysähdy ja odota), täysduplex- (liukuvat ikkunat ja valikoiva uudelleenlähetys) ja jatkuva suoratoistoliikenne voidaan mukauttaa mihin tahansa yhteyteen.

Kermit-protokollan erottaa useimmista muista ominaisuuksista se, että siinä on laaja valikoima asetuksia, jotka mahdollistavat sopeutumisen minkä tahansa kahden tietokoneen välisen yhteyden laatuun ja laatuun - paketin pituus, pakettien koodaus, ikkunakoko, merkistö, virheentunnistusmenetelmä, aikakatkaisut, tauot. Useimmat muut protokollat on suunniteltu toimimaan vain tietyntyyppisissä tai -laatuisissa yhteyksissä ja/tai tietyntyyppisten tietokoneiden tai tiedostojärjestelmien välillä, minkä vuoksi ne toimivat huonosti (tai eivät lainkaan) muualla ja tarjoavat vain vähän tai ei lainkaan menetelmiä, joilla voidaan mukautua odottamattomiin tilanteisiin. Kermitin avulla voit sitä vastoin saavuttaa onnistuneen tiedostonsiirron ja parhaan mahdollisen suorituskyvyn millä tahansa yhteydellä.

Toisin kuin FTP tai X-, Y- ja ZMODEM (muut protokollat, joihin Kermitiä useimmiten verrataan), Kermit-protokolla ei oleta eikä vaadi:

  • täysduplex-yhteys;

  • yhteys, joka on läpinäkyvä ohjausmerkeille;

  • 8-bittinen yhteys;

  • puhdas yhteys;

  • suuret puskurit koko tiedonsiirtoreitillä;

  • fyysisen linkkikerroksen virranohjaus.

(vaikka Kermit ei vaadi mitään näistä ehdoista, se voi hyödyntää niitä, kun ne ovat käytettävissä). Dr. Dobb's Journal -lehden helmikuun 1996 numerossa julkaistussa Tim Kientzlen Kermit-protokollaa käsittelevässä artikkelissa todettiin, että "Kermitin ikkunointi on nopeampi kuin XModemin ja YModemin kaltaiset protokollat ... . Moni ei kuitenkaan tiedä, että vähemmän kuin ihanteellisissa olosuhteissa Kermitin ikkunointi on huomattavasti nopeampi kuin ZModem, protokolla, jolla on ansaittu maine nopeista siirroista hyvälaatuisilla linjoilla." Kermit-protokollan tehokkuutta on analysoitu perusteellisesti täällä ja täällä.

Näin ollen Kermit-siirrot toimivat "out of the box" lähes aina. Ja korkeammalla tasolla Kermitin komentokieli mahdollistaa kaikenlaisten kätevien tiedostojen valintaperusteiden käyttämisen missä tahansa yhdistelmässä, esim:

Näin Kermit-siirrot toimivat lähes aina "out of the box". Ja korkeammalla tasolla Kermitin komentokieli mahdollistaa esimerkiksi kaikenlaisten kätevien tiedostojen valintaperusteiden käyttämisen missä tahansa yhdistelmässä:

Jokerimerkkejä ja kuvioita tiedostojen nimien yhteensovittamiseen.

 

  • Valinta päivämäärän mukaan

  • Valinta kokoalueiden mukaan

  • Vain tekstitiedostot

  • Vain binääritiedostot

  • Vain tiedostot, joita ei ole olemassa toisessa päässä tai jotka ovat uudempia.

  • Poikkeusluettelot ja mallit


Melkein minkä tahansa ryhmittelyn toteuttamiseksi, jonka voit kuvitella. Tiedoston merkistö voidaan muuntaa siirron aikana, se voidaan siirtää suodattimen läpi jne., ja onnistuneen siirron jälkeen lähdetiedosto voidaan poistaa tai nimetä uudelleen, kohdetiedosto voidaan nimetä uudelleen tai lähettää postitse ja niin edelleen.

Kermit-protokollan määrittely

Kermit-tiedostonsiirtoprotokollan määrittely on esitetty Frank da Cruzin kirjassa Kermit, A File Transfer Protocol, jonka esipuheen on kirjoittanut Donald Knuth (nyt saatavilla verkossa PDF-muodossa). Määrittely on myös saatavilla verkossa Kermit Protocol Manualin kuudennessa painoksessa (1986). Molemmista puuttuvat myöhemmät parannukset, mutta ne sisältävät palvelintilan, pitkät paketit, liukuvat ikkunat jne. Myöhempien lisäysten dokumentaatio on koottu ja julkisesti saatavilla TÄÄLLÄ. James Huggins Michiganin yliopistosta julkaisi vuonna 1995 Kermit-protokollan muodollisen määrittelyn ja todentamisen; voit ladata sen TÄÄLTÄ.

8.jpg

 

KERMIT-TIEDOSTONSIIRTO ESIMERKKI

Tarkastellaan tavallista tapausta, jossa sinulla on Windows-pöytäkone, jolla on yhteys - mikä tahansa yhteys (modeemi, sarjaportti, tavallinen Telnet, suojattu Telnet, rlogin, suojattu rlogin, SSH) - komentotulkki-istuntoon Unix-palvelimella ("Unix" = Linux, Mac OS X, FreeBSD, Solaris, AIX, HP-UX jne.), ja haluat siirtää tiedoston tietokoneen ja Unix-palvelimen välillä. Windowsissa terminaali-emulaattorisi on Kermit 95, ja Unix-palvelimelle on asennettu C-Kermit tai G-Kermit, jotka voidaan käynnistää yksinkertaisesti kirjoittamalla komentotulkkiin "kermit" (tai ehkä "ckermit" tai "gkermit").


Jos haluat ladata tiedoston, vaikkapa message.txt, kirjoitat komentokehotteeseen seuraavan komennon:

kermit -s message.txt

Tiedosto lähetetään Kermit 95:n nykyiseen hakemistoon tietokoneellasi (tai sen LATAUSHAKEMUKSEEN, jos olet määritellyt sellaisen). Sillä ei ole väliä, onko tiedosto teksti- vai binääritiedosto; Kermit selvittää sen ja siirtää sen automaattisesti sopivassa tilassa.
Vastaavasti jos haluat siirtää ryhmän tiedostoja, esimerkiksi kaikki tiedostot, joiden nimet alkavat "daily.":

kermit -s daily.*

Kermit lähettää jokaisen vastaavan tiedoston vaihtaen automaattisesti teksti- ja binääritilan välillä kunkin tiedoston kohdalla (daily.jpg, daily.xls, daily.txt, ...).


Tiedoston lataaminen tietokoneesta Unixiin on yhtä helppoa. Oletetaan, että sinulla on tiedosto nimeltä "budget.xls" Kermit 95:n nykyisessä hakemistossa tietokoneellasi. Jos haluat ladata sen UNIXiin, kirjoita tämä Unixin komentotulkin kehotteeseen:

kermit -g budget.xls

Nämä ovat perusasioita; on olemassa monia muunnelmia ja hienosäätöjä, esimerkiksi:

  • Siirrä vain tiedostoja, jotka ovat uudempia kuin vastapuolen tiedostot.

  • Muunna tekstitiedostojen merkistö asianmukaisesti (esim. ISO 8859-1 ja Unicode UTF-8 välillä).

  • Osittaisen siirron palauttaminen vikakohdasta (vain binääritilassa).

Voit säästää kirjoitustyöltäsi Unixissa (komentotulkkiprofiilissa) määrittämällä aliaksia:

alias s="kermit -Ys"

alias g="kermit -Yg"

(s tarkoittaa Send, g tarkoittaa Get). Ja sitten:

s message.txt g budget.xls

Kannattaa huomata, että siirrät tiedostosi saman yhteyden kautta, joka sinulla jo on, joten sinun ei tarvitse luoda uutta yhteyttä, tunnistautua uudelleen tai muuta vastaavaa byrokratiaa. Jos yhteys on suojattu SSH:lla, Kerberosilla, SSL:llä, TLS:llä tai SRP:llä, myös tiedostonsiirto on automaattisesti suojattu.


Tämä merkitsee vertaansa vailla olevaa helppoutta. Kun käsket C-Kermitiä Unixissa lähettämään tai saamaan tiedoston, Kermit 95:n pääteemulaattori tunnistaa sen ensimmäisen tiedostonsiirtopaketin automaattisesti, ja K95 siirtyy joko vastaanotto- tai palvelintilaan suunnasta riippuen, ja kun siirto on päättynyt, K95 palaa pääteemulaattorinäyttöönsä. Jos tapahtuu virhe (esimerkiksi jos sinulla ei ole kirjoitusoikeutta kohdehakemistossa), K95 jää tiedostonsiirtonäyttöön, jotta voit nähdä, mikä oli ongelma.

Samat menettelyt toimivat myös Unixista Unixiin, K95:stä VMS:ään, Unixista VMS:ään, VMS:stä Unixiin tai OS/2:stä VMS:ään tai Unixiin, kunhan käytät pääteohjelmana K95:tä tai C-Kermitiä.

HÄIRIÖT

Vuosien mittaan Kermit-projektista ja -ohjelmistosta on käyty useita kiistoja, erityisesti:

Lisenssi


Alusta asti halusimme, että Kermit-ohjelmisto olisi ilmainen kaikille. Vuodesta 1984 lähtien Columbia University pakotti meidät kuitenkin etsimään keinon, jolla saisimme sen maksamaan itsensä, eli maksamaan koko- ja osa-aikaisen henkilökunnan palkat, laitteet, tarvikkeet, puhelimen jne. Muuten emme saisi jatkaa ohjelmiston kehittämistä, ylläpitoa, jakelua ja tukemista, ja ohjelmasta oli tuohon mennessä tullut suosittu kaikkialla maailmassa.


Ratkaisumme oli pitää ohjelmisto vapaana jokaiselle yksityishenkilölle ja organisaatiolle omaan käyttöön, mutta vaatia yrityksiä lisensoimaan se, jos ne aikovat liittää sen johonkin tuotteeseen tai muuten toimittaa sen asiakkaille tai asiakkaille, toisin sanoen jos ne haluavat ansaita rahaa työmme avulla. Näin ne voisivat ansaita rahaa, mutta niiden olisi jaettava se niiden kanssa, jotka tekivät työtä.

Vapaiden ohjelmistojen liikkeen juurtumisen myötä sen kannattajat vastustivat voimakkaasti tätä lähestymistapaa, mutta se antoi Kermit-projektin jatkaa vielä 10 vuotta. Vuonna 1994, kun Microsoft Windows 95 oli tulossa, päätimme julkaista ainoan Kermit-ohjelman, joka oli 100-prosenttisesti kaupallinen: Kermit 95. Tämän tuotteen ansiosta Kermit-projekti kukoisti noin vuoteen 2003 asti, jolloin Yhdysvaltojen ja maailman talous alkoi romahtaa, ja jatkoi olemassaoloaan yhä pienemmässä määrin vuoteen 2011 asti, jolloin Kermit-projekti Columbian yliopistossa lopetettiin lopullisesti. Koska kenenkään työpaikka ei enää riippunut siitä, kaikki Kermit-ohjelmistot, joihin meillä oli täydet oikeudet, asetettiin avoimen lähdekoodin lisenssin alaisuuteen, ja nyt kaikki ovat tyytyväisiä lukuun ottamatta niitä, jotka menettivät työpaikkansa, ja niitä, jotka soittivat ilmaiseen teknisen tukemme numeroon aina kun he tarvitsivat apua. Ja ne, jotka ihmettelevät, miksi Kermit 95:stä ei koskaan julkaistu toista versiota.

Kermit vs. X/Y/ZMODEM

XMODEM-tiedostonsiirtoprotokolla kehitettiin muualla vuonna 1977 tiedostojen siirtämiseen puhelinyhteyksien välityksellä mikrotietokoneesta toiseen, ja se löysi siten laajaa käyttöä tietokoneharrastajien, BYTE-lehtien fanien, BBS-järjestelmien käyttäjien ja ylläpitäjien ja vastaavien keskuudessa. Sen seuraajat, kuten YMODEM ja ZMODEM, kasvoivat samassa kulttuurissa ja palvelivat suunnilleen samaa käyttäjäkuntaa. BBS-maailmassa tietoliikenneyhteydet olivat aina 100-prosenttisen läpinäkyviä kaikille 256 tavun arvoille, minkä ansiosta nämä protokollat olivat suhteellisen yksinkertaisia ja toimivat silti hyvin kyseisessä ympäristössä; näin ollen BBS- ja harrastelijakulttuurin asukkailla ei ollut syytä tarvita tai oppia Kermitistä.


Kermit-protokolla sen sijaan suunniteltiin mikro-pääkoneyhteyksiä varten, jotka olivat paljon vähemmän suvaitsevaisia ja paljon vaativampia, koska yhteydet olivat harvoin läpinäkyviä ja taustalla olevat tietokoneet olivat radikaalisti erilaisia; ne saattoivat esimerkiksi käyttää erilaisia tiedostomuotoja ja merkistöjä tiedostojen tallentamiseen. Kermit oli siis suunnattu pikemminkin laitoksille - yliopistoille, sairaaloille, yrityksille ja valtion virastoille - joissa oli konesaleja, joissa oli suuria jaettuja keskustietokoneita tai erilaisia osastojen minitietokoneita sekä yksittäisiä käyttäjiä, joilla oli PC:t tai työasemat työpöydällään, eikä niinkään harrastajille, joilla kaikilla oli suhteellisen homogeeniset henkilökohtaiset mikrotietokoneet.

XMODEM oli tuskallisen hidas protokolla, joten sitä pyrittiin kehittämään yhä nopeampiin protokolliin; tästä syntyivät YMODEM ja ZMODEM. Uudemmat MODEM-protokollat edellyttivät kuitenkin edelleen (enemmän tai vähemmän) 100-prosenttisesti läpinäkyvää yhteyttä kahden identtisen tai hyvin samanlaisen tietokoneen välillä.

YMODEMin ja ZMODEMin ilmestyessä Kermit-protokollaa alettiin kritisoida hitaaksi, kuten se alkuperäisessä muodossaan olikin: lyhyet paketit, koska useimmat suurtietokoneet eivät kestäneet pitkiä päätelaitteelta tulevia tietopätkiä; puolittainen pysäytys- ja odotteluprosessi, koska IBM:n suurtietokoneet eivät tukeneet täyttä dupleksiviestintää; tulostettavat koodaukset ohjausmerkeille ja kahdeksanbittisille merkeille, koska ne eivät päässeet läpi suurtietokoneen päätelaiteohjaimen kautta. Alkuperäinen Kermit-protokolla oli siis "pienin yhteinen nimittäjä" kaikilla alustoilla, joilla sitä piti käyttää (ja monilla muillakin, kuten kävi ilmi). Sen suurin vahvuus oli se, että se oli mukautettavissa mille tahansa alustalle tai tietoliikennemenetelmälle, myös niille, joihin XMODEM-perhe ei sopinut lainkaan; esimerkiksi IBM:n suurtietokoneiden maailmaan.

Samaan aikaan jotkut BBS-ohjelmistopaketit tarjosivat Kermit-protokollaa Upload- ja Download-valikoissaan, mutta nämä Kermit-toteutukset olivat poikkeuksetta minimaalisia (eli hitaita), usein bugisia ja toisinaan täysin toimimattomia (katso Väärinymmärryksiä -sivu kolmansien osapuolten Kermit-protokollatoteutuksista). Tämä oli omiaan vahvistamaan harrastajakulttuurin sisällä sitä käsitystä, että Kermit-protokolla oli hidas.

Vastataksemme suorituskykyyn liittyviin valituksiin hyödynsimme Kermit-protokollan luontaista laajennettavuutta (jossa siirrot alkavat ominaisuuksien neuvotteluvaiheella) ja lisäsimme vaihtoehtoja pidempiä paketteja ja täysdupleksisia liukuvia ikkunoita, joissa on valikoiva uudelleenlähetys, sekä vaihtoehtoja pakkaamiseen ja läpinäkyvien ja/tai virheettömien yhteyksien (esimerkiksi verkkoyhteyksien) hyödyntämiseen silloin, kun niitä oli saatavilla. Nämä muutokset tekivät Kermit-protokollasta yhtä nopean tai nopeamman kuin ZMODEM uhraamatta sen yleispätevyyttä, datan muunto-ominaisuuksia, vankkuutta ja (mikä tärkeintä) taaksepäin yhteensopivuutta (minkä vuoksi et näe erillisiä protokollia: XKERMIT, YKERMIT, ZKERMIT). Suorituskykymuutokset ovat peräisin noin vuodelta 1993; ks. vertailuarvot.

Kummallakin leirillä oli kuitenkin kannattajansa, jotka perustuivat pitkälti omaan kulttuuriinsa, ja kummallakin oli taipumus hylätä toinen, ja tämä suuntaus jatkuu tähän päivään asti. Useimmat Kermitin arvostelijat perustavat havaintonsa 1980-luvun alun Kermit-ohjelmistoihin tai kolmannen osapuolen Kermit-protokollatoteutuksiin, jotka yleensä toimivat huonosti. Yksityiskohtaisempi keskustelu on sivulla Väärinkäsitykset.

Vuonna 2013 huomasin Slashdot-keskustelun Kermit-projektin peruuttamisesta Columbian yliopistossa. Se havainnollistaa melko hyvin nykyistä aihetta, sillä keskustelua hallitsevat harrastajat ja BBS-käyttäjät. Mutta myös muutama asiantunteva Kermit-käyttäjä osallistui keskusteluun; tässä muutamia esimerkkejä:

  • Vau, käytin tuota protokollaa opiskeluaikanani ja sen jälkeen niin monessa paikassa ja niin monella tavalla, etten voi edes alkaa laskea. Se oli hyvin konservatiivinen protokolla, joka pystyi käymään läpi melkein mitä tahansa. Kerran se kulki kannettavasta tietokoneesta modeemiyhteyden kautta Equinox-datakytkimeen, AT&T 3b5 Unixiin, cu:sta takaisin Equinoxiin (vaihtaakseni nopeuden 300 baudista 9600 baudiin) IBM 7171 -protokollakonvertteriin ja IBM 4361:een. Ja se pystyi todella siirtämään tiedostoja. Toisella kerralla minun oli testattava DECNET-päätelaitesimulaattoria Sunissa (vanha versio petti keskellä päivää kiireisimpinä päivinä), joten käytin kermitiä muodostaakseni yhteyden host1:een, sitten host2:een, takaisin host1:een, takaisin host2:een, muistaakseni noin 40 kertaa. Sitten tein tiedostonsiirron kaikkien yhteyksien kautta. Se toimi.

  • Vau. 90-luvun alussa olin vastuussa ensimmäisten romanialaisten yliopistojen (erityisesti Bukarestin) liittämisestä Internetiin. Koska emme erilaisista teknisistä syistä saaneet IP:tä toimimaan, päätimme ainakin sillä välin hankkia heille sähköpostin. Ensimmäinen yritys oli uucp, mutta he eivät pystyneet hoitamaan sen toimintaa Bukarestin puolella. Puhelinlinjat eivät olleet silloin tarpeeksi vakaita. Niinpä ensimmäisen kuuden kuukauden ajan sähköpostia lähetettiin Bukarestiin Kermit-tiedostonsiirrolla, jonka käynnisti sendmailin käynnistämä MDA-skriptien sekamelska. Kermit oli paljon vakaampi kuin mikään muu tiedostonsiirtoprotokolla tuohon aikaan, ja uskoimme, että se pystyisi lopulta käsittelemään bittisiirtoja märkien vaatelinjojen yli.

  • Kyllä, sitä käytetään paljon sulautetussa maailmassa. Se on yksi harvoista saatavilla olevista työkaluista, joilla voidaan palauttaa tiiliskivipohjainen RS232-pohjainen laite. Sitä käytetään esimerkiksi gumstixissa, beagleboardissa ja monissa muissa SBC:n kaltaisissa ARM-pohjaisissa sulautetuissa laitteissa. Jos teet/tilaat mukautettuja versioita tai oma toimitustuotteesi ei sisällä vaihtoehtoja, kuten MMC/SD-kortin käynnistysominaisuuksia, c-kermit on yksi harvoista laitteista, joiden avulla voit käynnistää, ladata koodia ja siirtyä konsoliin yhdellä työkalulla tällaisissa laitteissa. Se on pelastanut minut (ja työnantajani) monta kertaa tiiliskivistä tai bugisista sulautetuista laitteista.

  • Samassa keskustelussa valitetaan, ettei annettu riittävää selitystä sille, miksi joitakin Kermit 95:n moduuleja ei voitu julkaista avoimena lähdekoodina. Selitys oli, ja on, TÄÄLLÄ.

bottom of page