kamiel299 schreef op zondag 09 mei 2010 @ 13:15:
Even wat korte aanvullingen/reacties
We werken aan een systeem voor een kleine, hoogs kritische doelgroep die tot heden proprietaty Unixen gebruikte. Linux is gevoelsmatig voor hen al een hele stap.
Als het zo mission critical is, waarom ben jij er dan een onderdeel van? Als ik jouw klant zou zijn en ik zou bovenstaande zin zien, dan zou ik snel iemand opzoeken die wel kan spellen.
>> Waarom kiezen? Gewoon uitbrengen voor alle platformen
Omdat we maar een (zeer beperkt aantal) systeem(en) door en door gaan testen en garanderen.
Ik weet niet wat je onder testen verstaat, maar als het echt mission critical is kom je daar niet zo ver mee.
>>Ubuntu 8.10 is overigens geen LTS, 8.04 was dat wel.
correct, we zoeken naar een distro met een langzame cyclus dus LTS stond op de wishlist. We draaien nu 8.10 (no LTS)
Iedereen die gebruik maakt van "Linux" die een beetje geavanceerd bezig is wil zelf zijn kernel kunnen compilen.
>>Als je het systeem gewoon open sourced kunnen anderen meewerken
Bij een zeer klein doelpubliek werkt Open Source m.i. niet. Er zijn te weinig stakeholders die er effort in gaan steken. Mission critical klanten willen ook niet afhankelijk zijn van de goodwill van een paar (verdwijnende) developpers die toevallig hun distro ondersteunen. Tevens is software die >gevoelige< zaken bevat (denk aan zaken die in het patent circuit zitten of militair van belang zijn) ook minder geschikt voor open source. Voor je het weet heb je wat noord korreaanse co-developpers.
Wat jij denkt over Open Source heeft niets te maken met de werkelijkheid. Als jullie bedrijf achter de software gaat staan en contracten afsluit over ondersteuning is dat best mogelijk. Wat iets realistischer is, dan alles te open sourcen is alle afhankelijkheden goed documenteren en dan uitspraken te doen als "heb je versie X.Y.Z van bibliotheek Foo met compile opties A, B,C, dan beloven wij dat het werkt". Je kunt dit hetzelfde doen voor kernels natuurlijk. Alle Linux distros zijn nl. uiteindelijk nog gewoon "Linux". Voor mission-critical systemen moet je natuurlijk wel weten bijv. welke scheduler er gebruikt wordt en zo zijn er waarschijnlijk nog wel een paar honderd dingen waarop je voor een realistisch systeem moet testen (d.w.z. of de feature aanwezig is of niet). Als je het alleen voor kernels wilt doen moet je de software gewoon statisch compileren, maar ook dat heeft nadelen.
Wat betreft de Noord-Koreaanse ontwikkelaars kan ik zeggen dat niet alles van een geheim militair systeem ook daadwerkelijk geheim hoeft te zijn. Bepaalde data structuren zou je bijv. makkelijk kunnen open-sourcen. En je bent er natuurlijk altijd nog zelf bij of je de aanpassingen van derde partijen wilt accepteren of niet.
>>ant je hebt blijkbaar geen idee hoe Linux werkt
Blijkbaar suggereer je dus dat jij dat wel weet dus leg het maar eens uit. En dan graag ff iets verder dan 'alles moet open source, anders wil ik niet met je $pelen". FYI: Software 'onTop of linux' valt niet onder GNU en kan closed source. In onze opinie dus gewoon een andere Unix variant.
En dit kan ook gewoon, maar ik begrijp eigenlijk niet hoe je iets mission critical niet in kernel space wilt laten draaien, maar goed. Als je het in user-space laat draaien, kun je inderdaad de broncode gesloten houden.
>>@Guru Evi: ik denk dat die software dedicated gedraaid wordt op die server (als backend)
Correct
>>denk ik dat het relatief eenvoudig is om debjes en rpms van jullie software te maken voor de meest >>gangbare Debian / Ubuntu en Redhat / CentOS releases. Wel moet je dan natuurlijk nadenken welke
>> platform jullie voorkeur heeft qua support.
Portering is technisch niet zozeer de issue. Het gaat er meer om hoe we met zo min mogelijk versies (vanwege onderhoudbaarheid, qualifying trajecten en garanties) een zo breed mogelijke marktacceptatie krijgen. Ubuntu werkt prima maar sites die helemaal op RH zitten gaan niet een vreemde eend inzetten. Support technisch niet houdbaar.
Als je kijkt naar populaire Linux software zie je dat deze software zo ongeveer overal draait (d.w.z. ook op FreeBSD, Mac, en commerciele Unix distributies). Deze software is vaak van de hoogste kwaliteit, juist _omdat_ het op zoveel platformen werkt. Het is heel makkelijk een regel code te schrijven die alleen toevallig op dat platform werkt.
Mijn eigen idee was om naar Radhat te gaan (voor hen die duur op de eerste rij willen zitten en ook commercieele support willen inkopen) en om een schaduwtraject (qua testing) op CentOS te laten lopen voor hen die gratis willen. Hiermee kunnen we met een (1) codebase/qualifying traject beide typen klanten bedienen.
benieuwd naar jullie gedachten.
Zoals velen denk ik dat het concept om tegen je klanten te zeggen "we doen alleen versie X van Linux distro Y" resulteert in iets dat we EPIC FAIL noemen, maar je mag het best proberen en vertellen wat er van je bedrijf terecht is gekomen over een paar jaar.