Tiedoksi kaikille pöhköpenteille: sovellusohjelmistojen ja käyttöjärjestelmien bugisuus kertoo hyvin, hyvin usein, joskaan ei aina, vain siitä miten paljon sovellusohjelmistoja ja käyttöjärjestelmäversioita on tosiasiassa testattu. Bugitonta sovellusta tai järjestelmää ei ole eikä tule. Niitä on vain markkinamiesten jorinoissa ja haavekuvissa. Jotta sovelluksesta saisi VÄHEMMÄN BUGISEN vaatii se suurta testaajien joukkoa ja työmäärää. Jo tämä asia sinänsä varmistaa sen ettei kaupalliset järjestelmät kuten Mac OSX, iOS, Windows tai vaikkapa Android voi olla erityisen "virheettömiä" koska testaukseen panostaminen vähentää voittomarginaaleja. Tämä yksinkertainen perusfakta näyttää monilta unohtuvan.
Juuri tämän vuoksi ei-kaupalliset, avoimen lähdekoodin ja vapaaehtoisuuteen perustuvalla työllä tehdyt järjestelmät kuten Debian tai Fedora tai BSD ovat paljon turvallisempia ja vakaampia (LTS:t) kuin nämä kaupalliset tekeleet.
Tämä sama sääntö pätee myös mm. selaimiin. Internet Exploarerin bugisuus tulee ilmi vasta kun käyttäjät ovat ottaneet selaimen käyttöön. Sitä näet testataan vähemmän kuin Firefoxia tai Chromea.
Juuri tämän vuoksi ei-kaupalliset, avoimen lähdekoodin ja vapaaehtoisuuteen perustuvalla työllä tehdyt järjestelmät kuten Debian tai Fedora tai BSD ovat paljon turvallisempia ja vakaampia (LTS:t) kuin nämä kaupalliset tekeleet.
Tämä sama sääntö pätee myös mm. selaimiin. Internet Exploarerin bugisuus tulee ilmi vasta kun käyttäjät ovat ottaneet selaimen käyttöön. Sitä näet testataan vähemmän kuin Firefoxia tai Chromea.
Vastaukset 9
Vanhimmat
Microsoftilla väitetään olevan vain noin 400 ihmistä jotka keskittyvät työssään Windowsin tietoturvaongelmiin. Tietoturvatyö on ulkoistettu tämän maailman "hyppösille" sillä share holders value on asia joka menee Redmondissa ohi kuluttajien turvallisuuden.
Ei ihan pidä paikkaansa. Windowsia on tekemässä noin 1000 ihmistä yhteensä. Testaajien suhde kehittäjiin on 1:1 ja mukana on myös managerereita. Tietoturvaominaisuuksia ja näihin erikoistuneita ihmisiä on vain noin 40. Turvaominaisuuksien kehittäjien ja testaajien suhde 1:1 ja tätäkin porukaa manageroidaan täysipäiväisesti. Varsinaisia tietoturvakehittäjiä Windowsissa on siis alle 20, toiset alle 20 testaa niiden kehittäjien tekemisiä. Sitten on ne perseellepotkijat että hommat tulee tehtyä, niin testaus kuin kehitys.
Tämä siis itse tuotteen kehitykseen. Tiettävästi Microsoftilla on erikseen ylläpitoporukka joka sitten tuotteen julkaisun jälkeen tekee niitä korjauksia niihin kun löytyy bugeja.
Microsoftin ylläpitoresurssit ovat itseasiassa varsin rajalliset. Vaikka Windowsjulkaisuilla on hyvät tukikäytännöt niin niitä ei täysin ylläpidetä. Esim.
-IE:n aikaisemmat versiot eivät saa samalla tasolla huomiota turvakorjauksissa kuin uusin versio.
-Microsoft on jättää joitakin turva-aukkoja korjaamatta Windowsin elinkaaren loppupuolella.
-Microsoft lopettaa joidenkin toimintojen tukemisen aikaisemmin kuin mitä elinkaarikäytännössä on ilmoitetaan.
Ei ihmiset todellisuudessa välitä tietoturvasta pätkänkään vertaa. Ne menee kauppaan ja ostavat tietokoneen, eivät käyttöjärjestelmää eivätkä "turvallisuutta".
Ehkäpä ihmiset ostavat TOIMIVUUTTA! Sellaista ei tubutin voi tarjota.
"Bugitonta sovellusta tai järjestelmää ei ole eikä tule."
Lähes bugittomia tai bugittomia järjestelmiä on jo. Sellaisia joissa on bugeja noin luokkaa 0-2 jokaista 500000 riviä kohden.
"Jotta sovelluksesta saisi VÄHEMMÄN BUGISEN vaatii se suurta testaajien joukkoa ja työmäärää."
Työmäärä on korkea mutta valtavaa testausta ei välttämättä tarvitse. Homman juju on kehitysprosessissa jossa itse kehitysprosessissa huomioidaan virhemahdollisuudet ja miten ne havaitaan mahdollisimman aikaisessa vaiheessa ja mahdollisimman automatisoidusti, ja lähdekoodia auditoidaan huolellisesti. Yksi työkalu tähän on todistus. Matematiikassa voidaan todistaa lausekkeita ja myös ohjelmakoodia on mahdollista tuottaa formaalisti, todistaen sen oikeellisuutta.
Näin siis kun tehdään virheettömiä ohjelmistoja. Sen sijaan helpoin tapa löytää virheitä on ohjelmiston ottamineen käyttöön. Yrityksistä Red Hat on ollut tässä asiassa yksi pioneereista ottaessaan käytännön jossa käyttöjärjestelmästä on rinnalla kehittäjille ja testaukseen tarkoitettu versio jossa tuotetta käytetään mahdollisimman varhain jotta bugeja löydetään tehokkaasti. Tällä tavalla lopputuotetta saadaan paremmin testattua.
Muut firmat ovat sitten seuranneet Red Hatin esimerkkiä, kuten esim. Sun Microsystems/Oracle, Canonical, Microsoft, Novell/Attachmate jne.
"Juuri tämän vuoksi ei-kaupalliset, avoimen lähdekoodin ja vapaaehtoisuuteen perustuvalla työllä tehdyt järjestelmät kuten Debian tai Fedora tai BSD ovat paljon turvallisempia ja vakaampia (LTS:t) kuin nämä kaupalliset tekeleet."
Hölynpölyä. Kaupallisuusasteella ei ole merkitystä virheettömyyteen.
Vapaaehtoisuus VOI vaikuttaa joissakin tilanteissa virheettömyyteen, voi olla virheettömämpi tai sitten enemmän virheitä, tapauksesta riippuen. Jos joku tuottaa vapaaehtoisesti, omana hengentuotteena ja rakkaudella omaan tekemiseensä lähdekoodia, tämä tarkoittaa vähemmän virheitä kuin se joka tekee 8-16 päivätyönä hommaa, ainoana motivaationa palkka ja tehtävänä oman työlistan läpikäymistä.
Toisaalta, vapaaehtoisuus voi tarkoittaa myös sitä että joku tekee just sen verran työtä homman eteen että saa oman tarpeensa täytettyä ja lopputulosta ei ole tuotteistettu millään tasolla. 8-16 päivätyönä hommaa tekevä saa paremman tuloksen jos lopputuotteen hyväksymiskelpoisuus määritelty paremmaksi.
Eli vapaaehtoisuus parantaa virheettömyyttä mikäli kehittäjä on motivoitunut tuottamaan omaan hengentuotteeseensa laatua "rakkaudella".
Koodin avoimuus on etu virheettömyydelle, sillä silloin koodi on paremmin auditoitavissa ja kun se koodi lähtee alkuperäiseltä kehittäjältä päätyen useiden testien ja auditointien läpi lopputuotteeseen, se parantaa laatua. Tällä ei kuitenkaan ole merkitystä siinä vaiheessa jos kehitysprosessi on muutenkin todella korkeatasoinen.
---
Ja sitten sellainen juttu, että Fedora on erittäin buginen viritys, sillä se on juurikin se Red Hatin kehittäjille ja varhaiseen testaukseen suunniteltu rinnakkainen käyttöjärjestelmäjulkaisu.
Vakauteen taas vaikuttaa aika pitkälti tukikäytännöt mitä lopputuotteella on, eli kuinka pitkään tuotetta tuetaan niin että sitä ei muutella.
"Tämä sama sääntö pätee myös mm. selaimiin. Internet Exploarerin bugisuus tulee ilmi vasta kun käyttäjät ovat ottaneet selaimen käyttöön. Sitä näet testataan vähemmän kuin Firefoxia tai Chromea."
Microsoft itse kyllä testaa Internet Explorerin varsin hyvin. Siinä missä Mozilla Firefoxia ja Google Chromea. Firefoxin ja Chromen edut laadun puolesta ei tule sisäisestä testauksesta vaan ulkoisesta testauksesta. Näiden lähdekoodi nimittäin saatavissa ja Mozillalla sekä Googlella on palkkiojärjestelmä tietoturvavirheiden löytämiseksi.
Toinen virheitä vähentävä seikka on se, että miten paljon sitä koodia muutellaan. Muutokset nimittäin tuo virheitä. Internet Exploreria ja Firefoxia pidetään vakaina ja samaa testattua koodipohjaa korjataan entisestään virheistä kun koodia ylläpidetään. Chromea sen sijaan muutellaan vähän väliä. Mozillalla tämä ylläpitoprosessi on vähän parempi kuin Microsoftilla koska IE:lle ei niitä korjauksia niin paljoa tehdä.
Eli Firefox ESR on näistä kolmesta selaimesta laadukkain mitä tulee virheiden määrään ja toimintavarmuuteen.
Kaupallisuus merkitsee sitä että kustannussäästöjen takia testaamiseen ei panosteta. Siksi kaupalliset sovellukset ovat bugisempia kuin ei-kaupalliset avoimen lähdekoodin versiot, siis ne joita testataan paljon vapaaehtoisvoimin.
"Hölynpölyä. Kaupallisuusasteella ei ole merkitystä virheettömyyteen."
Ilmaisautot- ja elokuvat ovat tästä selkeä osoitus.
Otsikko sen jo kertoo, että ei linux rupistys ole hyvä, sillä sitähän testataan eniten ja jopas on "Bukeja" vaikka toisillekin jakaa !
Linuks kurttausten bugit ovat jo nyt niin valtavat ym. toimimattomuudet, ettei ole mitään syytä niitä enää tähän kirjoittaa - ei näet mahdu kuin 5000 merkkiä yhteen viestiin!