A bloatware ( eng. bloatware, fatware, elephantware [1] ) egy túl sok kiegészítő funkcióval rendelkező program, amelynek működése aránytalanul sok rendszererőforrást igényel [2] [3] , különösen akkor, ha ezekre a funkciókra nincs szükség, ill. kevés haszna van a munkaprogramoknak (az ilyen funkciókat gyakran nevezik " trükköknek " (angolul) , " bells and whistles "-nek (angolul) , szó szerint: "bells and whistles") [4] .
Az angol bloatware (szintén angolul crapware, shovelware ) kifejezésnek van egy második jelentése is, ami az erőforrás-igényes előre telepített szoftvereket jelenti, amelyekre a felhasználónak nincs szüksége, de ráerőltetik a számítógépek, táblagépek, okostelefonok stb. gyártói. [5] [6] [7]
A fő különbség az építők és a programozók között az, hogy az építők tudják, mikor kell lerakni az utolsó téglát, míg a programozók nem. A program minden új verziója hozzáad valamit a régihez. A "Bábel tornya" ugrásszerűen növekszik, és egy ponton zuhanni kezd.
Chris Kaspersky [8] .Minden program addig bővül, amíg el nem tudja olvasni a leveleket. Azokat a programokat, amelyek nem tudnak annyira bővülni, olyanok váltják fel, amelyek képesek.
Jamie Zawinski , a Netscape Communicator fejlesztőjeA technikailag felduzzadt szoftvereket leggyakrabban a „ funkciókúszás, kúszó featurizmus/featuritisz ” [ 2] fogalmával társítják , ami arra utal, hogy a fejlesztők egyre több funkciót adnak hozzá egy szoftvertermékhez, hogy lépést tartsanak versenytársak", de valójában egy lassabb és kevésbé hatékony termék létrehozásához vezet [9] . A 2002-ben közölt kutatási adatok szerint a szoftvertermékek funkcióinak mindössze 20-25%-át használták mindig vagy gyakran, míg a funkciók 45%-át egyáltalán nem. Martin Fowler szerint a legtöbb projektnek csak a jelenlegi méretének a negyedére lenne szüksége [10] .
A bloat nem csak a programok teljesítményét befolyásolja: a programkód mennyiségének növekedése a karbantartási és fejlesztési költségek növekedéséhez vezet. Ezenkívül a rosszul megtervezett kiegészítő szolgáltatások sebezhetőségek forrásává válhatnak .
A "funkció felfúvódásához" egy másik tényező a "második rendszer effektusa", amelyet Frederick Brooks írt le 1975-ben: a második rendszerét fejlesztő programozó hajlamos minden olyan funkciót hozzáadni az első rendszeréhez, amelyet nem tudott hozzáadni (időhiány miatt). ). ), így a második rendszer gyakran túlterhelt funkciókkal.
Niklaus Wirth 1996-ban írta a "Down with "fat programs" című cikket, felveti azon programok problémáját, amelyeknél az erőforrásigény növekedése meghaladja a funkcionalitás és a teljesítmény növekedését [11] . A " fatware " kifejezést a Byte magazin 1993 -as cikkéből kölcsönözte [12] .
Wirth két tréfás "törvényre" mutatott rá, amelyek ennek ellenére pontosan tükrözik a helyzetet:
Két tényező járul hozzá ahhoz, hogy a fogyasztók elfogadják az egyre növekvő szoftverméreteket: a gyorsan növekvő hardverteljesítmény, valamint a létfontosságú szolgáltatások és a „szép, ha rendelkezünk” közötti alapvető különbségek ismerete [11] .
Nathan Myhrvold a "szoftver egy gáz" kifejezést a következő jelenség leírására: bármennyire is fejlődött a hardver, a fejlesztők mindig hajlamosak olyan funkciókat hozzáadni, amelyek arra kényszerítik programjaikat, hogy elérjék a teljesítmény határait. [13] .
A régi programok új gépekhez való illesztése általában azt jelenti, hogy változtatásokat kell végrehajtani annak érdekében, hogy az új gépek úgy működjenek, mint a régiek.
Alan Perlis [14] .A felhasználók hajlamosak negatívan értékelni a dagadt szoftvereket. Joel Spolsky szerint hiába teszik ezt, [15] a következő okok miatt:
Windows verzió | processzor | memória | Lemezméret |
---|---|---|---|
Windows 95 [16] | 25 MHz | 4 MB | ~50 MB |
Windows 98 [17] | 66 MHz | 16 MB | ~200 MB |
Windows 2000 [18] | 133 MHz | 32 MB | 650 MB |
Windows XP [19] (2001) | 233 MHz | 64 MB | 1,5 GB |
Windows Vista [20] (2007) | 800 MHz | 512 MB | 15 GB |
Windows 7 [21] (2009) | 1 GHz | 1 GB | 16 GB |
Windows 8 [22] (2012) | 1 GHz | 1 GB | 16 GB |
Windows 10 [23] (2015) | 1 GHz | 1 GB | 16 GB |
Windows 11 [24] (2021) | 1 GHz | 4GB | 64 GB |
A Switched Downloadsquad 2008-ban az „elephantware” kategóriában publikált példákat a legrosszabb programokról, vagyis „olyan felduzzadt programokról, amelyek hatására a legújabb személyi számítógépek úgy indulnak el, mint egy 64 MB RAM-mal rendelkező Pentium 2 ” [25] . A következő programokat nevezték el:
Jó példa a követelmények növekedésére a Microsoft operációs rendszer telepítéséhez szükséges rendszerkövetelmények. Mint látható, növekedésük egyértelműen aránytalan volt az új lehetőségek megjelenésével. Nem szabad megfeledkezni arról, hogy ez részben a Windows-képességek licenctől függő "csonkításának" tudható be, miközben a fő rendszerfájlok azonos számban maradnak. A Windows 10 minimális követelményei ugyanazok, mint a Windows 7 esetében, miközben a felhasználók és a tesztelők a memóriafelhasználás tényleges növekedését észlelik. Ebből következően a minimumkövetelmények betartása bizonyos mértékig reklám jellegű.
A Nero Burning ROM -ot [26] gyakran említik az indokolatlan felfúvódás példájaként . A programcsomag életciklusa során beszerzett egy grafikus és hangszerkesztőt, egy audio- és videolejátszót, valamint a rögzítőprogram alternatív változatát egyszerűsített felülettel, melyek mindegyike egy speciális shell programmal lett ellátva az indításhoz. és összetett grafikai tervezési stílusokkal rendelkezett .
A felfújás pontos ellentéte a KISS -elv , amely megtiltja, hogy a rendszerek bonyolultabbá váljanak, ha már jól működnek. Szintén a duzzanat ellen szól a Unix filozófia első elve .
2014-ben Dél-Korea jogilag megkövetelte az okostelefonok szoftverfejlesztőitől, hogy biztosítsák a nem kívánt bloatware ("felesleges előre telepített bloatware") eltávolításának lehetőségét. Ezt a lépést az okozta, hogy egyre gyakoribb a szükségtelen, erőforrás-igényes szoftverek előtelepítése az okostelefonokra, amelyek szabványos eszközökkel nem távolíthatók el [27] .