Linux is collectie van 'hacks' aldus OpenBSD-ontwikkelaar

OpenBSD-fishTheo de Raadt, ontwikkelaar van OpenBSD, is niet te spreken over de broncode van Linux. Volgens hem worden de programma's door middel van 'hacks' voorzien van nieuwe functies en ontdaan van bugs. Dit houdt in dat ontwikkelaars de bugs en standaard functionaliteit omzeilen in plaats van de code te repareren. Volgens De Raadt is de hoge kwaliteit van de OpenBSD-broncode te danken aan nauwkeurige controles en het verspreiden van grote veranderingen over drie releases met een interval van zes maanden. Niet iedereen deelt de mening van De Raadt. Verschillende onderzoeken hebben uitgewezen dat Linux wèl een goed geprogrammeerde structuur heeft in vergelijking met andere systemen. Een van die onderzoeken wees bijvoorbeeld uit dat de Linux-kernel iets minder dan duizend bugs had in 5,7 miljoen regels code, terwijl een vergelijkbaar commercieel programma het vijfvoudige aantal bugs bevatte.

Door Bart Veldstra

Freelance Nieuwsposter

18-06-2005 • 17:36

100 Linkedin

Bron: Forbes.com

Reacties (100)

100
97
48
21
3
20
Wijzig sortering
Beetje suggestieve nieuwsposting door het interview met De Raadt meteen te combineren met een gezochte posting die het tegendeel probeert te bewijzen. Slechte keuze echter: in het artikel zegt Theo de Raadt niet dat Linux vol zit met bugs, maar dat de software kwaliteit niet als doel heeft.

Ofwel, iets kan bugvrij zijn en toch een probleem bijzonder slap oplossen. Zo zijn veel exploits vaak niet eens bugs in de zin dat de code niet correct is, maar een zeer goede implementatie van een gebroken concept. Iets wat een studie over bugs meestal niet laat zien (ook al zijn het wel bugs op een ander niveau).
Linux heeft een ander model van programmeren dan bsd. Bij linux kan iedereen alles erbij hacken wat ze maar willen. Dat is ook de reden waarom driver support en dergelijke meestal wat meer up to date zijn bij linux dan bij bsd varianten.

stel ook nog eens vast dat als iets gesupport wordt op bsd dat die support ook blijft en dat die op een linux systeeemsoms nog opeens kan verdwijnen. Dan lijken de uitspraken van Theo de Raadt ook niet eens zo vreemd meer. Linux wordt meer geprogrammeerd op uitspattingen (omdat mensen wat missen ofzoiets). Bsd wordt meer vooruitgeplanned.
En dat maakt BSD hartstikke goed voor servers met standaard hardware over mainstream interfaces maar absoluut ongeschikt voor consumentensystemen omdat driverontwikkeling voor nieuwe hardware en ondersteuning voor de nieuwste technieken zover dit niet in userspace kan gewoon VEEL te traag gaat.
Trouwens ik heb in de tien jaar dat ik Linux gebruik niet veel ondersteuning die impact had op userspace of hardware drivers zien verdwijnen uit de Linux kernel, tenzij er iets veel beters voor terug kwam. Ik kan de nieuwste kernels nog steeds prima gebruiken op m'n oudste hardware (486'jes met obscure geluidskaarten, wat oude SUN-netjes, een PPC'tje hier en daar....) Het belangrijkste wat mij bijbleef was de firewall die een paar keer is omgegooid. Maar met IPTables kan je ook veel meer dan IPChains...
Naar Theo -> Kom s.v.p. met opbouwende kritiek, of maak een eerlijke vergelijking. Nu vind ik je alleen maar ziellig...
Anoniem: 18254
@jiriw18 juni 2005 21:47
Maar met IPTables kan je ook veel meer dan IPChains...
En met pf kan je nog veel meer. :P
Dat is ook precies de reden dat ik al jaren van plan ben mijn Debian server te migreren naar BSD, en na de uiterst teleurstellend verlopen upgrade naar Sarge heb ik besloten om op zeer korte termijn FreeBSD te installeren. Weliswaar heeft de aanleiding niks met Linux de kernel te maken, maar de onderliggende oorzaken wel. BSD is gewoon veiliger, robuuster en stabieler dan Linux, en sinds FreeBSD 5 zit het met de performance ook wel goed (bij OpenBSD en NetBSD valt het nog steeds een beetje tegen, dat geef ik meteen toe).
Verwacht je dan een "onze concurrent pakt dingen veel beter aan"?

Next! BP-topman vind Shell te duur!, Friesche Vlag koffiemelk is niet goed, volgens Campina, en BMW top-man vind Chrysler slechte auto's maken.
:Z
For the record, Campina ownt Friesche vlag.
Daar staat niets van op hun website, er word zelfs een ander moederbedrijf genoemd op hun website:

http://www.frieschevlag.nl/corporate.asp

Misinformatie al is het off topic moet bestreden worden!
:)
Anoniem: 110993
@jp18 juni 2005 17:47
Dat BMW de Chryslers slecht vind lijkt mij niet... zit aan hetzelfde moederbedrijf. :Y)
Ehhh niet juist, Mercedes en Chrysler zitten samen.
Mercedes Matiz ?
offtopic:
- Eeuh, Chrysler is van de Daimler-Chrysler groep. Ik denk dat echt niet dat BMW ook onder die groep valt. BMW = BMW AG.
Anoniem: 139454
18 juni 2005 17:47
Ik vindt Theo Raadt, maar een eigenwijs mannetje, maar dat mag, OpenBSD heeft z'n aanhangers. , maar ondersteund weinig hardware t.o.v Linux en had tot voor kort geen support voor meerdere cpu's.

Die BSD ontwikkelaars kunnen wel tegen Linux aantrappen, maar zonder Linux zouden er niet zo zo veel applicaties zijn, die ze ook op de BSD Unixen en die geport zijn naar de BSD's en die ze kunnen gebruiken, zoals Gnome of KDE.
Andersom is het uiteraard ook het geval. Denk hierbij bijvoorbeeld aan openssh e.d.
ondersteund weinig hardware ?!?

Dat valt best mee, maar ligt eraan waar je het voor wil gebruiken. Als desktop systeem is het misschien wat minder bruikbaar, maar als server heb ik nog niks beters gezien.
Geen enge grafische installers die maar ff alles voor je beslissen, een duidelijke filesystem structuur waar ook de config in /etc gedaan wordt, en niet door het hele filesystem heen. Secure by default! Een geweldige Firewall, met spamfilter/bandwidthshaper enz enz. Ik kan nog wel ff doorgaan.
Misschien ondersteund het dan inderdaad wel niet de allernieuwste Nvidia GForce 189283GTXR3 weetikveel, maar who cares... Gamen doe je op een console of onder windows (laat de bommen maar vallen :) ), voor servers gebruik je gewoon andere hardware.

Ik heb linux regelmatig geprobeerd, maar word telkens weer verrast door de slechte kwaliteit van de installers (debian, fedora, suse, mandrake), waabij OpenBSD de meest simpele installer heeft die ik ooit gezien heb. Ideaal... Configgen van je systeem doe je niet tijdens de install, dat doe je erna....

Theo is misschien wel een eikel, maar wat betreft hoe een OS hoort te werken denk ik dat nog heel veel Linux developers wat van hem kunnen leren....

ps Ook in de linux community zijn ze maar wat blij met zijn OpenSSH :)
jii hebt zeker nog nooit gentoo gezien?


ok, portage is gejat van ports... maar verder geen enkele installer (gewoon vi (voor de mietjes nano) en gaan met die banaan als je je settings maakt).
(voor de mietjes nano)
want als er één type programma is waarbij een belachelijke learning curve logisch is dan is het wel een ascii editor!
Anoniem: 117693
@Boudewijn18 juni 2005 23:28
ik gebruik Gentoo op m'n desktop doos, en inderdaad, je kunt zelf kiezen wat je wil installeren, helemaal kaal is default. Geen grafische installers, gewoon met de hand schijven mounten en untarren die handel. En inderdaad, Linux is handig als je de nieuwste nvidia driver wil hebben - en die wil je hebben, toch? :-)

Maar ik heb ook een FreeBSD server en het is waar: BSD is stukken overzichtelijker en veel eenvoudiger te installeren. De documentatie, het FreeBSD Handbook, is echt fenomenaal goed tegenover alles wat ik ooit voor Linux heb gezien. Op de een of andere manier "klopt" alles gewoon. NetBSD is ook heel simpel, OpenBSD ken ik niet maar ik verwacht hetzelfde. De Raadt heeft gelijk, Linux is gewoon een zooitje. Maar het loopt hier prima en het is wel leuk om mee te spelen dus ik blijf 't gewoon gebruiken :-)
@MBV
heel simpel: bewegen door de code heen met de pijltjes in erg onhandig, je moet dan steeds je hand verplaatsen. Waarschijnlijk heb jij nooit een echte functie van vim gebruikt.

@derx666
Wat is er slecht aan apt van debian eigenlijk?

@the rob
Ja, Gentoo is inderdaad goed. En zijn pakketbeheer is ook goed.
@theRob

he professional: als je gentoo dan zo bagger vindt, verlicht dan de gentoo-gebruikende tweakers even met jouw heilige oplossing... :z

Heel hard roepen dat iets slecht is maar geen onderbouwing en alternatief meegeven is wel erg kansloos, en getuigt mijns inziens van een behoorlijk gebrek aan intelligentie.
[flamewar] vi is voor mietjes. Neem gewoon emacs :P

Wil iemand mij uitleggen waarom ik niet gewoon iets in kan typen in vi? Welke *** heeft verzonnen dat je dan eerst op insert moet drukken? |:( Als je "hallo" intypt zonder dat te doen staat er volgens mij "llo" ergens linksbovenaan ofzo. Is toch wel een beetje apart...
Geef mij dus maar nano, of nog beter: mcedit :)
[/flamewar]

geen idee trouwens of emacs beter is, nooit gezien. collega van me roept dat altijd
Anoniem: 117693
@Boudewijn19 juni 2005 01:55
@theRob:
hey professional! Jij durft gentoo goed te noemen.
Brakke distro voor compile geile mietjes!
En als ik compilen nu geil vind, wat is daar dan mis mee? Laten we elkaar geen mietje noemen.
@TheFonz:

Gentoo is goed, werkt snel, maar als je niet over voldoende vrije tijd beschikt is het een nogal langdurig proces al het compileren. Ik heb Gentoo gedraaid, maar ik heb simpelweg de tijd niet om alles bij te houden.

Ik draai nu suse 9.3 wat gewoon goed draait, al mijn hardware ondersteund en simpel te updaten is en een simpele installer heeft. Ik moet een distro hebben waar iedereen in huis mee om kan gaan.
Anoniem: 92314
@derx66618 juni 2005 21:32
Ik heb linux regelmatig geprobeerd, maar word telkens weer verrast door de slechte kwaliteit van de installers (debian, fedora, suse, mandrake)
ooit al eens aan gedacht voor "minimal install" te kiezen en er alles zelf opzetten? gaat zelfs perfect zonder x, als je dat wilt. als je een degelijke pc hebt zijn die wizards van o.a. mandrake en SuSe zeker niet slecht te noemen.

edit: fedora is daarintegen amper goed te noemen, selecteer optie "install server tools" en kom tot de ontdekking dat er geen tool tussen zit voor de standaard geinstalleerde apache, en andere van deze praktijken
@mxcreep:
Beetje fout wat je hier doet. Fedora en Professionele beheerder in 1 verhaal schrijven. Fedora is gewoon speelgoed voor thuisgebruik. Voor het echte werk hebben we de verschillende BSD versies en een aantal linux distro's die wel kaal geinstalleerd kunnen worden.
Welke serieuse beheerder gebruikt dan ook een tool om apache te configgen...ik heb nog nooit een tool gezien die alle opties van apache fatsoenlijk ondersteund en nette config files achterlaat...eerlijk gezegd denk ik dat webmin nog de gene is die het dichtst bij komt, gewoon lekker met een text editor dus...

Overigens die standaard optie server is ook niet bedoeld voor professionele servers...iedereen die weet waar ie mee bezig is en dat verwacht ik dus van een *nix beheerder, die neemt de custom optie bij install en installed wat ie zelf wil...
Zelf doe ik overigens het liefst een minimale install en install ik de rest van de software achteraf samen met het configgen van de rest van het os...zo kom je ook eventuele wijzigingen in pakketten het snelst tegen.

Fedora zelf zit als distro prima in elkaar...niet veel anders als de betaalde redhats...enige vervelende (vind ik althans) dat ze wel erg snel gaan met nieuwere releases en soms ook snel zijn met nieuwe versies van software adopteren (bijvoorbeeld php5 in fedora core 4). Voor mij is dat minder handig, maar goed daarom loop ik ook twee versies achter met mijn fedora servers.
Welke serieuse beheerder gebruikt dan ook een tool om apache te configgen..
ooit al eens iets getest om te zien wat het geeft? wie weet kan het nog nuttige dingen doen waardoor ik zelf moet verbeteren en niet editen

het ging er trouwens over dat die tool er niet bij zat terwijl de optie "server tools" geselecteert staat
"maar zonder Linux zouden er niet zo zo veel applicaties zijn,"

1 - veel is niet beter en
2 - ik gebruikte al OS voor het zo heette, en sterker, voor
Linus nog maar 1 regel Linux geschreven had (met behulp van OS)
Gebruikte je toen *BSD of GNU?
Zonder BSD zou er geen "linux" zijn. Linux is niet meer dan een kernel. Een hoop van de basistools (zoals de TCP/IP stack) zijn rechtstreeks geport vanuit BSD.
Anoniem: 77640
18 juni 2005 19:34
Een van die onderzoeken wees bijvoorbeeld uit dat de Linux-kernel iets minder dan duizend bugs had in 5,7 miljoen regels code, terwijl een vergelijkbaar commercieel programma het vijfvoudige aantal bugs bevatte.
We praten hier wel over een kernel... Een applicatie die af en toe raar doet is aanvaardbaar. Een kernel crasht gewoon je hele systeem of brengt zelfs schade toe!
Een bug wil natuurlijk niet altijd zeggen dat het programma of de kernel meteen crasht... Het kan bijvoorbeeld (geen real life situatie) zo zijn dat de kernel onder bepaalde omstandigheden (obscure hardware oid) alleen het eerste IDE kanaal kan lezen/schrijven en het tweede dus niet. Zo heb je een bug, maar geen crash :).
Ja, maar je perfect geschreven kritische applicatie draait niet meer zoals het hoort...

Applicaties draaien bovenop de kernel, dus de kwaliteit van het eindresultaat hangt meteen af van die van de kernel. Dus moet je heel wat minder fouttolerant zijn voor de kernel!
Een van die onderzoeken wees bijvoorbeeld uit dat de Linux-kernel iets minder dan duizend bugs had in 5,7 miljoen regels code, terwijl een vergelijkbaar commercieel programma het vijfvoudige aantal bugs bevatte.

Ik lees hier dus in dat het vergeleken is met andere kernels of system-critical software. Of is het oorspronkelijk citaat fout?
Anoniem: 77640
@HAL 900018 juni 2005 20:46
En als je de link volgt:
The research suggests that the Linux kernel scored better than run-of-the-mill commercial code.
Het gaat dus duidelijk over de 'gemiddelde' appilicatie. Gezien dat de Linux kernel zo kritisch is en door velen wordt nagekeken moet ik concluderen dat het er toch niet zo best mee gesteld is... of dat de gemiddelde commerciële software van relatief goede kwaliteit is!

Verbaast me weinig eigenlijk. Terwijl iedereen met geavanceerde IDE's werkt met krachtige debuggers, 'managed' programmeertalen, en extreme programming praktijken, wordt de Linux kernel nog voor het grootste deel in een standaard teksteditor geschreven, in C, met weinig of geen regressietesten vóór de release.
Verbaast me weinig eigenlijk. Terwijl iedereen met geavanceerde IDE's werkt met krachtige debuggers, 'managed' programmeertalen, en extreme programming praktijken, wordt de Linux kernel nog voor het grootste deel in een standaard teksteditor geschreven, in C, met weinig of geen regressietesten vóór de release.
hmm, sec. primary master (hda, root voor de noobs) crashed, de geinstalleerde windows begeeft het volledig, de geinstalleerde linux start nog op, en heeft nog de functionaliteit om heel de schijf (paar bestanden hopeloos verloren) over te slepen naar een andere schijf.

moraal van het verhaal: het maakt niet uit hoe de code wordt gemaakt, het maakt uit hoe deze werkt, en aangezien deze kan draaien op een schijf die door een "vergelijkbaar os"(here come the flames) totaal nutteloos is, toch nog werkt in die "collectie van hacks" (kernel met volledig functionaliteit, sommige programma's hadden corrupte files(waaronder kde))
Verbaast me weinig eigenlijk. Terwijl iedereen met geavanceerde IDE's werkt met krachtige debuggers, 'managed' programmeertalen, en extreme programming praktijken, wordt de Linux kernel nog voor het grootste deel in een standaard teksteditor geschreven, in C, met weinig of geen regressietesten vóór de release.
Enig idee hoe Visicalc ooit gemaakt is ? Of hoe de 1000'en C64 games ooit geschreven zijn ?

De manier dat iets gemaakt wordt zegt niets over de kwaliteit ervan...
Anoniem: 77640
@HAL 900018 juni 2005 20:34
Er staat wel 'programma', dat interpreteer ik als een applicatie die bovenop het besturingssysteem draait. In ieder geval is het maar een heel zwak argument om de kwaliteit van de Linux kernel aan te tonen.
Bij een lezing op FOSDEM dit jaar gaf zelfs Alan Cox toe dat bijvoorbeeld de tty code zwaar hacky-hacky was, en dat men er niet aan durfde te komen, zonder zeer goede beweegredenen omdat je ervan uit kon gaan dat het gedeelte wat je aanpaste, ergens anders een onbedoelt bijeffect zou hebben.
Hetgeen volgens hem alleen opgelost zou kunnen worden door de tty code compleet weg te gooien en opnieuw te beginnen.

Dus voor zover heeft Theo gelijk. Alleen vergeet hij een belangrijk punt: De code is een hack, true, maar wel een verdomt goede hack. OK, de /dev code is inmiddels al 2 keer over de kop gegaan, maar zolang het resultaat beter is, heb ik daar persoonlijk geen problemen mee.

Je kunt je wel afvragen of de nieuwe developmentmethode die Linus een tijdje geleden introduceerde een geode zet is geweest.
Ik denk dat Theo doelt op het regelmatig auditen van de code van bijvoorbeeld de BSD's dat mis je toch wel bij linux.
De linuxcode wordt door meer mensen gezien dan je denkt, de echte kernelhackers lezen elke submit door (OK, de crackers ook, maar dat is weer een heel ander verhaal :) )
Anoniem: 51383
18 juni 2005 19:29
'Verschillende onderzoeken hebben uitgewezen dat Linux wèl een goed geprogrammeerde structuur '

Het aantal bugs zegt niks over een goede structuur...
Anoniem: 137466
18 juni 2005 21:01
zonde dat ze flamen...
allebei een geweldige kernel
samenwerken heeft meer zin dan tegenwerken...
Anoniem: 119538
18 juni 2005 21:12
Om op deze manier uitspraken te doen over linux (waar of niet) zegt meer over de mate van frustratie van Theo dan over de kwaliteit van linux.

btw. dit is natuurlijk ook alleen maar mijn mening

Op dit item kan niet meer gereageerd worden.

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee