Bloatware ( eng. bloatware, fatware, elephantware [1] ) on liian monta lisätoimintoa sisältävä ohjelma, jonka toiminta vie suhteettoman paljon järjestelmäresursseja [2] [3] , varsinkin jos näitä toimintoja ei tarvita tai vähän käyttöä työohjelmille (tällaisia toimintoja kutsutaan usein " temppuiksi " (englanniksi) , " bells and whistles " (englanniksi) , kirjaimellisesti: "bells and whistles") [4] .
Englanninkielisellä termillä bloatware (myös englanniksi crapware, shovelware ) on myös toinen merkitys, joka viittaa resurssiintensiivisiin esiasennettuihin ohjelmistoihin , joita käyttäjä ei tarvitse, mutta joita tietokoneiden, tablettien, älypuhelimien jne. valmistajat määräävät hänelle. [5] [6] [7]
Suurin ero rakentajien ja ohjelmoijien välillä on se, että rakentajat tietävät milloin viimeinen tiili lasketaan, kun taas ohjelmoijat eivät. Jokainen ohjelman uusi versio lisää jotain vanhaan. "Baabelin torni" kasvaa harppauksin ja alkaa jossain vaiheessa kaatua.
Chris Kaspersky [8] .Jokainen ohjelma laajenee, kunnes se pystyy lukemaan viestejä. Ohjelmat, jotka eivät voi laajentua yhtä paljon, korvataan sellaisilla, jotka voivat laajentua.
Jamie Zawinski , Netscape Communicatorin kehittäjäTeknisesti paisuneet ohjelmistot yhdistetään useimmiten käsitteeseen " ominaisuus creep, creeping featurism/featuritis " [ 2] , joka viittaa kehittäjien taipumukseen lisätä ohjelmistotuotteeseen yhä enemmän ominaisuuksia yrittääkseen "pitää mukana" kilpailijat", mutta itse asiassa johtaa hitaamman ja vähemmän tehokkaan tuotteen luomiseen [9] . Vuonna 2002 julkistetun tutkimustiedon mukaan vain 20-25 % ohjelmistotuotteiden toiminnoista käytettiin aina tai usein, kun taas jopa 45 % toiminnoista jäi käyttämättä ollenkaan. Martin Fowlerin mukaan useimpien hankkeiden pitäisi olla vain neljännes nykyisestä koostaan [10] .
Bloat ei vaikuta vain ohjelmien suorituskykyyn: ohjelmakoodin määrän kasvu johtaa sen ylläpidon ja kehittämisen kustannusten nousuun. Lisäksi huonosti suunnitelluista lisäominaisuuksista voi tulla haavoittuvuuksia .
Toinen "ominaisuuksien paisumiseen" vaikuttava tekijä on Frederick Brooksin vuonna 1975 kuvaama "toinen järjestelmäefekti" : toista järjestelmää kehittävä ohjelmoija pyrkii lisäämään kaikki ominaisuudet, joita hän ei voinut lisätä ensimmäiseen järjestelmäänsä (ajan puutteen vuoksi). ). ), joten toinen järjestelmä on usein ylikuormitettu ominaisuuksilla.
Niklaus Wirth kirjoitti vuonna 1996 artikkelin "Down with "fat programmes" ja nosti esiin ohjelmien ongelman, joiden resurssitarve kasvaa enemmän kuin niiden toimivuus ja suorituskyky [11] . Hän lainasi termin " fatware " Byte-lehden vuoden 1993 artikkelista [12] .
Wirth viittasi kahteen vitsailevaan "lakiin", jotka kuitenkin kuvaavat tarkasti tilannetta:
Kaksi tekijää myötävaikuttaa siihen, että kuluttajat hyväksyvät jatkuvasti kasvavat ohjelmistokoot: nopeasti kasvava laitteiston suorituskyky ja tietämättömyys tärkeiden ominaisuuksien ja "kiva saada" ominaisuuksien välisestä perustavanlaatuisesta erosta [11] .
Nathan Myhrvold ilmaisua "ohjelmisto on kaasu" kuvaamaan seuraavaa ilmiötä: riippumatta siitä, kuinka paljon laitteistoa on parannettu, kehittäjillä on aina tapana lisätä toimintoja pakottaakseen ohjelmansa saavuttamaan suorituskyvyn rajoja [13] .
Vanhojen ohjelmien sovittaminen uusiin koneisiin tarkoittaa yleensä muutosten tekemistä, jotta uudet koneet toimivat kuten vanhat.
Alan Perlis [14] .Käyttäjät suhtautuvat paisuneeseen ohjelmistoon negatiivisesti. Joel Spolskyn mukaan he tekevät sen turhaan [15] seuraavista syistä:
Windows-versio | prosessori | Muisti | Levyn koko |
---|---|---|---|
Windows 95 [16] | 25 MHz | 4 Mt | ~50 MB |
Windows 98 [17] | 66 MHz | 16 Mt | ~200 Mt |
Windows 2000 [18] | 133 MHz | 32 Mt | 650 Mt |
Windows XP [19] (2001) | 233 MHz | 64 Mt | 1,5 Gt |
Windows Vista [20] (2007) | 800 MHz | 512 Mt | 15GB |
Windows 7 [21] (2009) | 1 GHz | 1 Gt | 16 Gt |
Windows 8 [22] (2012) | 1 GHz | 1 Gt | 16 Gt |
Windows 10 [23] (2015) | 1 GHz | 1 Gt | 16 Gt |
Windows 11 [24] (2021) | 1 GHz | 4 GIGATAVUA | 64 Gt |
Switched Downloadsquad julkaisi esimerkkejä pahimmista ohjelmista vuonna 2008 kategoriassa "elephantware", eli "paisuneet ohjelmat, jotka saavat uusimmat henkilökohtaiset tietokoneet käynnistymään kuten Pentium 2 , jossa on 64 Mt RAM-muistia" [25] . Seuraavat ohjelmat on nimetty:
Hyvä esimerkki vaatimusten kasvusta on Microsoftin käyttöjärjestelmän asennuksen järjestelmävaatimukset. Kuten näette, niiden kasvu oli selvästi suhteetonta uusien mahdollisuuksien syntymiseen. On syytä muistaa, että tämä johtuu osittain Windows-ominaisuuksien "leikkauksesta" lisenssistä riippuen, kun taas pääjärjestelmätiedostot pysyvät samana. Windows 10:n vähimmäisvaatimukset pysyvät samoina kuin Windows 7:n, kun taas käyttäjät ja testaajat huomaavat muistin kulutuksen todellisen lisääntyneen. Näin ollen vähimmäisvaatimusten säilyttäminen on jossain määrin mainontaa.
Nero Burning ROM [26] mainitaan usein esimerkkinä perusteettomasta turvotuksesta . Tämän ohjelman paketti hankki elinkaaren aikana graafisen ja äänieditorin, ääni- ja videosoittimen sekä vaihtoehtoisen version tallennusohjelmasta yksinkertaistetulla käyttöliittymällä, jotka kaikki toimitettiin erityisellä kuoriohjelmalla käynnistämistä varten. ja sillä oli monimutkaisia graafisen suunnittelun tyylejä .
Täysin bloatin vastakohta on KISS -periaate , joka estää järjestelmiä muuttumasta monimutkaisemmiksi, jos ne toimivat jo hyvin. Myös turvotusta vastaan on Unix-filosofian ensimmäinen periaate .
Vuonna 2014 Etelä-Korea vaati laillisesti älypuhelimien ohjelmistokehittäjiä tarjoamaan mahdollisuuden pakottaa ei-toivotut bloatware-ohjelmat ("tarpeettomat esiasennetut bloatwaret") poistamaan. Tämä vaihe johtui lisääntyvästä käytännöstä esiasennuttaa älypuhelimiin tarpeettomia resursseja vaativia ohjelmistoja, joita ei voida poistaa tavallisin keinoin [27] .