Category Archives: Open Source Software

Organiseren, “The Open Source Way”

Op 14 juni 2012 gaf Linus Torvalds een presentatie aan het Aalto University Center for Entrepreneurship. Deze bijeenkomst is gefilmd en op Youtube te vinden. Hij vertel hier hoe hij ooit gestart is met Linux en tot welk een fenomeen het inmiddels is uitgegroeid. Het meest interessant vond ik zelf zijn opmerkingen over hoe hij het (Linux) project managed en hoe het georganiseerd is. Naar mijn stellige overtuiging kunnen we hier wel wat van leren.

“How hard can it be?”

Linus heeft van jongs af aan altijd zijn eigen software (tools) geschreven. Dit is zijn passie. Het kon op verschillende manier gemotiveerd zijn, of de hardware was niet ge-support of hij had niet voldoende geld om de juiste software te kopen. Telkens was het resultaat hetzelfde, hij maakte zijn eigen software. Tegen de tijd dat Linus aan de Universiteit van Helsinki studeerde was dit voor hem een tweede natuur geworden. Toen hij hier in aanraking met UNIX kwam en dit veel te duur bleek, besloot hij zijn eigen UNIX te schrijven.

Linus Torvalds, the founder of Linux operating system.

Zoals hij zelf zegt, “How hard can it be?”.

Snel bleek dat dat naast enthousiaste gebruikers er ook commerciële mogelijkheden werden gezien. Byte Magazine bundelde voor een klein bedrag Linux (op floppy’s). Linus had bereikt wat hij wilde, UNIX was zeer laagdrempelig beschikbaar. De commerciële activiteiten van anderen stelde Linus in de gelegenheid zich te beperken tot datgene dat hij graag wilde, programmeren.

Volgens Linus is dit precies wat het ontwikkelen van Open Source software zo aantrekkelijk maakt. Iedereen heeft andere belangen en heeft zijn eigen interesses. Het Linux Open Source project geeft hiervoor ruimte en iedereen kan precies doen waarin hij goed is. Zo is Linus zelf  geïnteresseerd in het optimaliseren van specifieke onderdelen in Linux (aansturing van hardware). De algemene opvatting in de IT industrie is echter dat je geen micro optimalisatie moet doen. Maar als dat nou precies is wat je leuk vind? Het resultaat is dat er buitengewoon goed geoptimaliseerde code in de Linux kernel te vinden is. Alle gebruikers profiteren daarvan.

De waarde van commercie

Linus is van mening dat alle commerciële activiteiten van anderen (bedrijven o.a.) hem in staat stellen zich te concentreren op het programmeerwerk dat hij leuk vindt. Bovendien is Linux daardoor een veel beter gebalanceerd product geworden. Q&A en user interfaces programmeren vindt Linus niet het leukste werk. En nu doen ander mensen (bedrijven) dat, geweldig!

Inmiddels richt Linus zich steeds meer op het managen van het proces rond de ontwikkeling van de Linux kernel. De organisatie hiervan functioneert als een piramide. Linus heeft een klein groepje vertrouwelingen van wie hij code accepteert. Zijn vertrouwelingen richten zich op een (sub-onder) deel van de kernel en organiseren dat precies op dezelfde wijze. Kern van deze organisatie is dat het is gebaseerd op wederzijds vertrouwen en dat kan alleen met een beperkte groep mensen. Deze manier van organiseren is zo ontstaan en blijkt juist te zijn. Er is verder geen (ander) management, logistiek of planning voor nodig.

Software development is geen gepland proces, maar gebaseerd op toeval. Zo is er enkele jaren geleden veel werk verricht om multi core systemen goed en efficient te laten functioneren. Destijds was daar behoefte aan omdat dit een belangrijk was bij grote main frame systemen. Inmiddels jaren verder, profiteren we daar van met onze smart phones die nu ook multi cores hebben. Dit was vooraf niet te plannen of te bedenken geweest.

“Nvidea, Fuck You!”

Nvidea_fuck_youOok op een ander punt doorbreekt Linus gevestigde opvattingen. Linus staat niet bekend om zijn beleefde en voorzichtige uitlatingen. Hij is van mening dat beleefd zijn niet helpt. De kans op miscommunicatie is veel te groot. Daarom is Linus direct en recht door zee ook wanneer hij mensen daarmee beledigd (zie bijvoorbeeld “Nvidea, fuck you!” op 50.02 minuten in de video).

De bovenstaande zaken laten me achter met de vraag of we deze lessen / methode van werken ook op andere gebieden kunnen toepassen. Eén succesvol project is nog geen bewijs dat het principe universeel toepasbaar is. Toch heb ik sterk het gevoel dat hier iets waardevols is ontdekt.

Voor iedereen die de video zelf wil bekijken, onderstaand is de link te vinden.

Elevator pitch Open Source Software

Het overkomt me nog wel eens dat me gevraagd wordt waarom bedrijven en organisaties voor Open Source Software moeten kiezen. Ik denk daarom al langere tijd na over een “elevator pitch”. Veelal is het sentiment namelijk dat Open Source Software geen doel op zich moet zijn en dat de beste tool voor de job gekozen moet worden. Maar is dat voldoende?

Fysieke wereld

Wij mensen leven in een fysieke wereld en zijn gewend aan de wetmatigheden die daar gelden. Zo weten we bijvoorbeeld dat wanneer we iets delen in de fysieke wereld (bijvoorbeeld een taart), dat iedereen met wie we delen een stukje krijgt. We weten ook dat wanneer we met steeds meer mensen delen de stukken steeds kleiner worden. Consequentie hiervan is dat er dus sprake is van een afnemend nut.

Voor de duidelijkheid, dit is geen betoog tegen delen 
in de fysieke wereld, want ook daarvoor geldt, wie deelt 
heeft meer!

Digitaal delen is vermenigvuldigen

Tegenwoordig hebben we steeds meer zaken digitaal, zoals muziek, foto’s film, teksten (boeken) en software. In  tegenstelling tot delen in de fysieke wereld, krijgt iedereen met wie we digitale content delen het geheel. Je kan daarom stellen: “digitaal delen is vermenigvuldigen”.elevator_pitch_oss

Voor onze discussie over nut geldt dan dat iedere kopie evenveel nut geeft. In de figuur is e.e.a. grafisch weergegeven. Overigens gaat het hier (op de verticale as) om nut, niet om de prijs die je daar eventueel voor betaald.

 

 

Digitale content veroudert en slijt niet. Leveranciers van film, 
muziek en software bedenken daarom constructies om klanten telkens opnieuw 
te laten betalen. Een voorbeeld hiervan zijn Spotify en Netflix abonnementen 
of een "software assurance" waarvan de geldigheid na 3 jaar verloopt. 
Hiermee "slijt" digitale content en moet er periodiek opnieuw voor betaald 
worden. Feitelijk betreft dit huur. Gesteld kan worden dat men probeert
wetmatigheden van de fysieke wereld toe te passen op de content in
de digitale wereld. Hiermee wil ik niet zeggen dat het toch geen 
"goede deal" kan zijn. Zowel Spotify als Netflix leveren additionele
diensten zoals de mogelijkheid afspeellijsten te maken of het attent
maken op nieuwe content.

Open Source Software

Bij Open Source Software wordt iedereen in staat gesteld de content aan te passen en te verbeteren. Je kan stellen dat het nut toeneemt naar mate je deze met meer mensen deelt.

Vaak wordt gesteld dat slechts maar een heel klein percentage 
mensen een bijdrage (verbetering) levert aan open source 
software. Dat mag het geval zijn, maar zelfs een klein percentage 
levert uiteindelijk voor iedereen veel op, mits we met voldoende
mensen delen! M.a.w. hier loont het zich juist om met zoveel
mogelijk mensen te delen.

 Conclusie

Het delen van digitale content is een ander proces dan delen in de fysieke wereld. In plaats van een deel krijgt iedereen een volledige kopie. Digitaal delen is daarom vermenigvuldigen. Zodra de mensen met wie je deelt in staat zijn de content te verbeteren (zoals dat bij open source software het geval is) neemt het nut zelfs toe. Voor bedrijven en organisaties betekent dit investeren in de toekomst in plaats van betalen voor het verleden.

Natuurlijk leveren ook fabrikanten van commerciële software nieuwe versies. 
Je kan dit in de grafieken voorstellen als een nieuwe lijn, zij het dat die 
op een hoger punt (meer nut) begint. Software die volgens het huur 
principe wordt verkocht kan je voorstellen als een lijn die op een bepaald 
tijdstip ophoudt te bestaan.

 

OpenStack, “T minus 10 seconds….”

De Cloud hype in de IT wereld is je vast niet ontgaan. Bedrijven hebben delen van hun automatisering in een cloud omgeving onder gebracht of overwegen dat binnenkort te doen. IT dienstverleners volgen deze trend op de voet en willen graag cloud computing diensten aanbieden. En dan speelt er nog ook de verwarring over wat cloud computing precies is. Toch is het nu “hot” en met reden.

Afhankelijk van het gekozen perspectief, heeft cloud computing betrekking op alleen de infrastructuur (Infrastructure As A Service – IAAS), biedt het standaard platform voor diensten aan (Platform As A Service – PAAS) of biedt het standaard software producten (Software As A Service – SAAS). Deze opsomming is niet compleet, maar wat mij betreft is de rode draad wel duidelijk. Waar het hier namelijk om gaat is dat IT ondersteunend moet zijn aan de doelstellingen van de organisatie, zeker wanneer die snel veranderen zoals dat tegenwoordig het geval is. En dat is precies waarin cloud computing behulpzaam kan zijn. Door alle techniek “in software te vatten” kan de IT afdeling eindelijk weer snel de veranderende vraag van de organisatie volgen.

Amazon is een aanbieder van cloud computing van het eerste uur. Volgens veel vakgenoten hebben ze het dan ook “begrepen”. De manier waarop zij cloud computing aanbiedt getuigt van visie op de (IT) toekomst. Het aanbod van Amazon is namelijk volledig gericht op de eindgebruiker van IT diensten. De techniek (voornamelijk hardware zoals servers en netwerk) wordt bij eindgebruikers weggehouden. De diensten zijn flexibel en volledig schaalbaar naar behoefte. De kosten worden achteraf betaald (OpEx) en zijn op basis van daadwerkelijk gebruik. Een interessant detail is dat het platform van Amazon voor een belangrijk deel gebouwd op basis van open source software. Naast het aanbod van Amazon kunnen organisaties ook zelf private cloud omgevingen bouwen, bijvoorbeeld op basis van bestaande virtualisatie oplossingen zoals VMware.

OpenStackNASA en RackSpace volgende hetzelfde spoor en vonden dit interessant genoeg zelf een cloud computing software project te starten. OpenStack was een feit. Steeds meer grote IT bedrijven hebben zich sindsdien bij dit initiatief aangesloten zoals, IBM, HP, Cisco, VMware, Microsoft, Canonical (het bedrijf achter Ubuntu – waarop OpenStack tot nu toe ontwikkeld werd) en sinds twee jaar ook Red Hat. Het belang om deel te nemen kan egoïstisch zijn. Microsoft wil bijvoorbeeld graag dat haar Windows goed te gebruiken valt binnen OpenStack en ik vind dat een prima reden. Red Hat streeft andere belangen na. Zij wil graag dat er geen OpenStack implementaties komen met beperkingen en verdor lockin. Inmiddels levert Red Hat een substantiële bijdrage in het ontwikkelwerk van OpenStack. Natuurlijk heeft Red Hat dan nu ook een Open Stack aanbod. Dat niet alleen, ze zetten er vol op in….

Welke onderdelen kent OpenStack nu al?
Nova - compute nodes
Glance - image management
Swift - Object storage
Cinder - Block storage
Keystone - Identity management
Neutron - Network management
Horizon - Dashboard

Is OpenStack nu al bruikbaar voor klanten van IT diensten? Dit hangt af van de aanwezige (of ingekochte) kennis. Met voldoende technische ondersteuning is OpenStack prima bruikbaar. Het is nog wel sterk in ontwikkeling. Het is dan eigenlijk ook geen “kant en klaar” product, maar eerder een set van puzzelstukjes die gebruikt kunnen worden om een computing cloud te bouwen. Sommige stukjes zijn goed uit ontwikkeld, andere zijn nog niet goed (of zonder tuning) bruikbaar. Toch is Open Stack belangrijk. De delen die voldoende uitontwikkeld zijn kunnen nu al gebruikt worden een computing cloud te bouwen. De onvolwassen delen kunnen (voorlopig) ongebruikt blijven. Het belang van OpenStack voor eindgebruikers (organisaties en bedrijven) is de keuze voor een onafhankelijk cloud platform waar de markt gezamenlijk aan ontwikkeld. Er is nu tenminste keuze. Daarnaast blijven kosten een belangrijke rol spelen. Doordat OpenStack open source software is, kan het tegen lage (licentie) kosten gebouwd worden.

Voor de IT bedrijven die diensten willen aanbieden op OpenStack ligt de situatie naar mijn idee anders. Ziet men toekomst in OpenStack, dan is nu het moment om in te stappen. Zo kan nu nog tijdig voldoende kennis, ervaring en referenties opgedaan worden voordat de vraagzijde van de markt echte groei doormaakt. Zo was ik onlangs bij een presentatie van Mirantis die OpenStack implementaties hebben gedaan bij o.a. Webex, GAP en PayPal. Het is mij duidelijk, als deze bedrijven OpenStack gaan gebruiken, dan komt de rest van de markt ook los. Mijn advies aan IT bedrijven die OpenStack willen aanbieden, nu instappen, “T minus 10 seconds….”.