Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 100 reacties
Bron: Forbes.com

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 wl 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.

Moderatie-faq Wijzig weergave

Reacties (100)

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...
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).
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!
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
@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.
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
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.
"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?
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!
:)
Dat BMW de Chryslers slecht vind lijkt mij niet... zit aan hetzelfde moederbedrijf. :Y)
Ehhh niet juist, Mercedes en Chrysler zitten samen.
En sangjung
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.
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 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?
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 commercile 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 vr 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 vr 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 vr 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...
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.
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!
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 :) )
Komaan, zo kun je toch niet beginnen, om te beginnen ondersteunen de BSD's te weinig hardware om de gemiddelde moderne desktops erop te doen draaien en door hun extreme streven naar perfectie heb je nog eens dat ze die ondersteuning nooit zullen kunnen verkrijgen.
Linux daarentegen heeft een heel ander streefdoel, nl. een goeie ondersteuning geven zoveel mogelijk hardware, zodat linux ook zo wijd mogelijk inzetbaar is.
Trouwens iedereen die zegt dat duizend bugs (en dat zijn niet alle kritische) op 5,7 M lijnen code veel is heeft nooit C geprogrammeerd, het is ongelooflijk dat aan het huidige ontwikkelingsratio het aantal niet hoger ligt.
Iedereen die twijfelt aan C als ontwikkelingstaal voor een kernel is krankzinnig. C is en blijft de snelste taal die er is (buiten zuivere assembler), moest de kernel in iets anders geschreven zijn zou dit linux zeker een stuk trager zijn (zelfs als het C++ zou geweest zijn).
Een hack is niet altijd slecht, maar code die quasi enkel op hacks gebaseerd is lijdt tot onhandelbare code waarbij je bij elke aanpassing fouten in een ander stuk van de code krijgt. Dit wil niet zeggen dat linux slechter gaat draaien, wel dat het gewoon ambetanter gaat zijn om aanpassingen te maken. Het is wel zo dat er stukken grondig worden herschreven als het de spuigaten uitloopt en er wel degelijk aanpassingen nodig zijn, dwz. dat het nodige werk om code op te kuisen wel degelijk gebeurd, maar enkel als het echt nodig is. Hierdoor kan je meer tijd steken in het toevoegen van nieuwe dingen, ipv. het intern oppoetsen van code die in feite toch al werkt.
Hiermee hoop ik van de minder snuggere argumenten die hierboven werden aangebracht min of meer in de kiem te smoren.
Komaan, zo kun je toch niet beginnen, om te beginnen ondersteunen de BSD's te weinig hardware om de gemiddelde moderne desktops erop te doen draaien en door hun extreme streven naar perfectie heb je nog eens dat ze die ondersteuning nooit zullen kunnen verkrijgen.
het is ook alles behalve het doel van de BSD's om als desktop systeem gebruikt te worden. Het kan, en het kan vrij goed ook vind ik persoonlijk, maar primair worden de BSD's toch ontwikkeld als Server OS, en als niets anders. Daarom ligt de focus veel meer bij het onwikkelen van drivers voor server essentieele hardware en veel minder bij een driver voor <insert geluidskaart>.
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.
'Verschillende onderzoeken hebben uitgewezen dat Linux wl een goed geprogrammeerde structuur '

Het aantal bugs zegt niks over een goede structuur...
zonde dat ze flamen...
allebei een geweldige kernel
samenwerken heeft meer zin dan tegenwerken...

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True