Ik zal als een insider in de OS development wereld even wat dingen toelichten naast die voorraad stereotypen.
Wat voor mensen kom ik daar zoal tegen? Er zijn in principe drie stereotypen:
- Je hebt de mensen die dusdanig slecht kunnen programmeren dat ze zelfs "hello world" niet voor elkaar krijgen
- Je hebt de mensen die de basis van programmeren bevatten, maar niet de (technische) creativiteit dan wel de motivatie hebben om zelf iets te kunnen ontwerpen
- Je hebt de mensen die de kennis en de motivatie hebben om echt een OS te maken.
In de veronderstelling dat Gerben inderdaad zelf de code aan de praat heeft gekregen en een substitutie van namen heeft gedaan kunnen we de eerste categorie wel schrappen.
Wat vaak gebeurd bij de tweede categorie is dat ze meestal flink aan de tutorials zijn, en binnen de OS development wereld zijn daar meer van dan eigenlijk goed voor de mensen is. Beschouw de unix tutorial op
http://jamesmolloy.co.uk/tutorial_html/index.html - Er komen nogal wat dingen aan bod die essentieel zijn voor een OS - beveiliging, bestandsystemen en multitasking staan op het schema om zo over te nemen. Wat er dus gebeurd is dat mensen een tutorial volgen, de code gewoon overnemen zonder de honderd-en-een details die er onderliggen te begrijpen, wat dingen proberen toe te voegen, en dan uiteindelijk op osdev.org komen vragen naar redelijk geavanceerde dingen en als er dan naar een technische handleiding wordt verwezen slaan ze meteen dicht door de overvloed van informatie waar ze geen weet van hebben hoe ze daar doorheen moeten komen. Uiteindelijk leidt dat door vertrek door frustratie, of in sommige rare gevallen tot een ban als ze blijven zeuren dat andere mensen hun code moeten schrijven.
En daarbij komen we tot de werkelijke moeilijkheid van het OS ontwikkelen - kan jij de complete processorhandleiding doorspitten en op eigen gelegenheid daar iets op baseren? Ik heb een gedrukte versie liggen, de 6 boeken zijn bij elkaar ongeveer 15 cm dik (!)
Terug naar Yaosp: Als we gaan kijken naar wat er aan
geimplementeerde features gemeld staan in het artikel dan kun je nagaan dat alles wat al bestaat Yaosp's code is. De enige wijziging is die van de naam, maar het mag duidelijk zijn dat dat geen
nieuwe code zal betreffen. Dus de enige aanwijzing die we hebben is dat er een implementatie van PHP moet komen.
Komen we bij de dingen die niet vooraan zichtbaar zijn maar wel belangrijk zijn: Yaosp bevat een aantal standaardapplicaties die al geport zijn: bash (de standaard linux shell), gcc (de standaard in compilers, ook op linux gebruikt), python (nog een programmeertaal), en een aantal libraries die bij ons bekend staan om het feit dat ze goed in elkaar zitten en daardoor makkelijk te porten zijn. Verder vind ik in de broncode nog meer typische unix dingen zoals signals en de standaard unix system calls.
De consequentie hiervan is dat het van buiten niet veel anders is dan de bestaande UNIX systemen. Wat ook tot gevolg heeft dat het porten van nog meer applicaties (lees: PHP) opeens een veel eenvoudigere klus is omdat het zware werk in essentie al gedaan is.
Met andere woorden, ik persoonlijk zou hem niet de credit van het OS zelf geven omdat de taak die hij aan het doen is dan het porten van een bestaande applicatie naar een soortgelijk systeem. De ervaring zoals hierboven leert mij overigens sceptisch te zijn over een mogelijk resultaat - dat moet de tijd ons maar leren. Een ieder die over opleidingen wil zeuren kan beter eerst eens wat lezen over statistiek en kansberekening voordat ze overhaast conclusies gaan trekken: Je kan het niet zeker weten.