Tag Archives: Microsoft

Adopteert Microsoft de OSS gedragscode?

Na 15 jaar tegen Linux en Open Source software te hebben gestreden, verzet Microsoft zich niet langer. In anderhalf jaar tijd is het bedrijf van fel tegenstander veranderd tot een actief aanhanger. Dit is geweldig nieuws, want van strijd werd niemand beter, van samenwerking natuurlijk wel. Maar een interessante vraag is of het zich aan de (ongeschreven) gedragscode van de Open Source software community’s kan houden. Welke regels zijn dat eigenlijk?

Gedragscode

Gedragscode

Wie deelt heeft meer

Een groot deel van de gedragscode van Open Source software community’s vindt haar oorsprong in de hacker cultuur. De relatie tussen Open Source software projecten en hackers (developers) is van oudsher erg innig. Het zijn voor een belangrijk deel deze hackers die de software schrijven en daarom hun cultuur opleggen.

De term "hacker" wordt vaak misbruikt voor computer criminelen, iemand die 
inbreekt op systemen, data / informatie steelt of virussen schrijft. Volgens 
Wikipedia is een hacker iemand met goede computer (programmeer) skills. 
Het programmeren wordt dan ook wel hacken genoemd en er is zelfs sprake 
van een hacker cultuur. Iemand die computers binnendringt wordt “Cracker” 
genoemd. Tegenwoordig wordt de term hacker voor beide gebruikt en
dat kan verwarrend zijn.

De essentie van Open Source software projecten is gezamenlijk aan de software te werken, de bijdrages te delen en daarvan te profiteren. Het delen van broncode is daarvoor noodzakelijk anders gaat dat niet. Dus wat betreft normen en waarden, gaat het om bijdragen een een gemeenschappelijk belang – het software project. Als mensen niet delen, werkt het principe niet.

Iedereen doet mee

In Open Source software projecten telt alleen je bijdrage, je code. En vooral de kwaliteit van je code is belangrijk. Als gevolg van deze gedragscode worden mensen die willen deelnemen dan ook niet buitengesloten, niet op grond van afkomst, nationaliteit of huidskleur. Het goede nieuws voor bedrijven zoals Microsoft, je mag meedoen, maar je bijdragen moeten van goede kwaliteit zijn.

Vrijheden van OSS

Commerciële software leveranciers houden de broncode juist voor zichzelf en verkopen alleen  het recht op het gebruik van de (gecompileerde) software middels licenties. Hierin verschilt  deze software fundamenteel van Open Source software projecten, want het recht op het gebruik van Open Source software hebben eindgebruikers al en de broncode krijg je erbij. Overeenkomstig is wel dat Open Source software ook onder een licentie valt. Maar hier is de licentie bedoeld om eindgebruiker rechten te geven, de software te beschermen en ervoor te zorgen dat deze “Open” blijft.

Er zijn veel soorten Open Source software licenties. Deze licenties  
beschermen de software tegen misbruik en verlenen de eindgebruiker 
verschillende vrijheden. Volgens Richard Stallman is Vrijheid 0 
het recht om de software te gebruiken voor elk gewenst doel. 
Vrijheid 1 is het recht om de software te bestuderen en aan te passen 
(hiervoor is de beschikbaarheid van de broncode dus een voorwaarde), 
vrijheid 2 betreft het recht om de software te mogen kopiëren en 
te verspreiden en, de laatste vrijheid (3) betreft de het recht 
om de veranderde software te mogen verspreiden. Er zijn veel 
licentievormen voor Open Source software die allemaal in detail 
van elkaar verschillen. Een van de meest bekende is de 
General Public License v2 (GPL v2) die bijvoorbeeld voor 
de Linux kernel gebruikt wordt.

Het respecteren van de gebruikte licentievorm is belangrijke binnen Open Source software community’s. De voorwaarden van de verschillende Open Source software licenties zullen niet altijd in het (commerciële) belang van Microsoft zijn. Het goede nieuws is dat Microsoft vrij is de Open Source licentie (variant) te kiezen die haar het beste past.

Open standaarden

Om software onderling te laten samenwerken (interoperabiliteit) is het nodig dat standaarden gebruikt worden. Standaarden kunnen betrekking hebben op bestanden (zoals document standaarden) of bijvoorbeeld netwerk protocollen. Om deze interoperabiliteit zo goed en makkelijk mogelijk te realiseren zijn Open standaarden nodig. Open standaarden zijn door iedereen te gebruiken en toe te passen. De specificaties zijn beschreven en is geen gevaar van hoge kosten of Intellectual Property (IP). Open Source software projecten baseren zich op Open standaarden vanuit praktische (kosten) overwegingen. Daarnaast is het onmogelijk gesloten standaarden in Open Source software te implementeren, immers, dan worden de standaarden ook open en dat is eigenlijk altijd tegen de licentie van de gesloten standaard. 

Microsoft kan prima open standaarden toepassen of ze zelfs introduceren. Nadeel is wel (kan zijn)  dat anderen dat ook kunnen en er keuze vrijheid voor eindgebruikers ontstaat. Zij kunnen bijvoorbeeld een andere applicatie gebruiken om dezelfde documenten te bewerken. Deze keuze vrijheid maakt het lastig voor Microsoft, want de consequentie is dat er concurrentie op prijs en kwaliteit plaats gaat vinden. Hoe concurreer je met gratis software?

De eerste packet filter (firewall) in Linux was ipfwad. Deze werd vervangen 
door IPchains die werd opgevolgd door IPtables. Inmiddels heeft nftables 
IPtables weer opgevolgd. Commerciële software bedrijven denken er niet aan 
dit zo te doen. Ze zou moeilijk aan haar klanten kunnen uitleggen 
waarom zij haar medewerkers opnieuw op moeten opleiden en wederom een 
migratie moet uitvoeren. En wel tot drie maal toe. Open Source software 
projecten hebben deze commerciële druk niet en kunnen de technisch beste 
oplossing kiezen, ook als dat commercieel niet handig is. Maar is dit niet
te prefereren?

Het beste idee wint

Als software ontwikkelaars samenwerken in een Open Source software project, dan wordt soms de ene implementatie verkozen boven de andere. Ook kan een al bestaande implementatie van een functie vervangen door een compleet nieuwe. Er zijn geen marketing of bedrijfspolitieke redenen om deze keuze te maken. Steevast wordt daarom de (technisch) beste implementatie gekozen. De firewall code in de Linux kernel is daarvan een voorbeeld en is al drie keer volledig vervangen. De beste implementatie wint het bij Open Source software projecten uiteindelijk.

De keuze voor de beste oplossing hangt samen met het efficiënt willen zijn van software ontwikkelaars. Ze willen dan ook geen dingen dubbel doen. Bestaat functionaliteit al, dan heeft het de voorkeur dit te hergebruiken, tenzij het beter kan natuurlijk.

Microsoft heeft wel bedrijfspolitiek en wel een marketing strategie die haar keuzes beïnvloedt. Deze strategie zou strijdig kunnen blijken met de gedragscode dat de beste implementatie altijd gekozen wordt.

Trots

De individuele bijdragen aan projecten kan vanuit verschillende motieven komen. De  ontwikkelaar is bijvoorbeeld trots op zijn of haar werk en wil daar graag de eer van hebben. Ontwikkelaars verbinden immers hun eigen naam aan Open Source software projecten. Er valt eer te behalen, of roem te verliezen naar gelang je goed werk levert. Het is dan “not done” om software te (her) gebruiken zonder de namen te noemen van alle personen die eraan hebben bijgedragen. Dit heeft in essentie alles te maken met werken binnen een community van software ontwikkelaars waarin je elkaar respecteert en individuele bijdrage waardeert.

Transparant

Ontwikkelaars in Open Source community’s hebben vaak een hekel aan commercie. Er mag wel geld verdient worden, maar dan wel door een echte meerwaarde te leveren. De stellingname is dat als je iets zegt je dat waar moet maken. Mooie verkoopverhalen worden niet gewaardeerd.

Elon Musk, de CEO van zowel Tesla als SpaceX, doet regelmatig product presentaties 
zoals onlangs van de Tesla Model 3. Hoewel deze bedrijven commercieel opereren 
vinden veel technisch geïnteresseerde mensen ze cool. Uit de presentaties die 
Elon geeft blijkt dat hij technisch op de hoogte is, er echte vernieuwingen 
zijn (geen “oude wijn in nieuwe zakken”) en hij bedient zich van 
“techneuten humor”. Bovendien draagt hij gewoon een jeans en geen stropdas. 
Echt interessant is dat ook veel niet-technisch aangelegde mensen zijn 
presentaties cool vinden. Het lijkt wel of nerds populair worden.

Het logische gevolg hiervan is dat als er zich problemen voordoen (bijvoorbeeld met security issues in software) dat deze niet verzwegen worden. Openheid en transparantie zijn namelijk de norm. Dergelijke issues worden zo snel mogelijk bekend gemaakt en als gevolg daarvan komen security fixes eveneens snel beschikbaar. De community’s zijn er, evenals het NIST, van overtuigd dat “Security through obscurity” niet werkt.

Commerciële software bedrijven hebben geen goede reputatie als het gaat om transparantie bij security issues. De vraag is daarbij hoe klanten dat zien. Zouden zij het juist niet waarderen als ook Microsoft hier transparant is?

Kan Microsoft de gedragscode naleven?

Zoals gezegd, de (ongeschreven) gedragscode binnen Open Source software projecten zijn een afgeleide van de hacker cultuur. Sommige daarvan zijn ook binnen commerciële software bedrijven te vinden, zoals (o.a.) het naleven van licentievoorwaarden. Maar er zijn voldoende spelregels die lastig zullen zijn voor een groot bedrijf. De transparantie die de norm is, staat haaks op het achterhouden van software exploits en security issues. Het gebruik van open standaarden laat klanten vrij andere software te gaan gebruiken. De vier vrijheden van Open Source software zijn ook niet in het belang van commerciële software bedrijven.
Als grote bedrijven zoals Microsoft serieus willen participeren in Open Source software community’s en daarbij van de voordelen te profiteren, dan helpt het als ze zich op deze punten kunnen schikken naar de norm. Vanwege de grote commerciële en financiële belangen is dit een hele uitdaging, zowel om het te doen, maar vooral om het niet te doen.

Gaan OSS en Microsoft wel samen?

De afgelopen 15 à 20 jaar was de relatie tussen Microsoft en Linux- en opensourcesoft- warecommunity’s niet best. Linux en OSS bedreigden het verdienmodel van Microsoft, terwijl Microsoft Linux en OSS op alle manieren dwarszat. De situatie verandert. Microsoft heeft het afgelopen jaar grote stappen gezet om OSS te adopteren, zegt Jan van der Torn.

verschenen in de Automatiseringgids mei 2016 (of download de PDF AG-201609_Expert-VanDerTorn).

“Wie deelt, heeft meer”

De in 2011 overleden Steve Jobs zei het al, kannibaliseer jezelf, voordat iemand anders dat doet. Hij vond dat je hier niet bang voor moest zijn. Gelijk heeft hij, je blijft op deze wijze “in het spel” betrokken. Je zou kunnen zeggen dat je met jezelf concurreert.

Bedrijven zien misschien de waarde niet van “met jezelf concurreren” of kunnen dat niet goed in de praktijk brengen. Het gevolg is wel dat men zich dan wel eerder protectionistisch opstelt met alle gevolgen van dien. Er worden “trucs” toegepast zoals bijvoorbeeld “vendor lockin”.

Van Vendor lockin is bijvoorbeeld sprake bij de licenties die gemeenten voor Oracle databases moeten hebben / aanschaffen. Deze databases zijn voorwaardelijk voor de specifieke gemeente applicaties. Alle gemeenten moeten die applicaties hebben. Er zijn maar 2 of 3 aanbieders van deze applicaties en de Oracle database is de gecertificeerde database daarvoor. De aanbieders van de gemeente applicaties vinden de status quo prima omdat zij ook geld verdienen aan de licenties, dus waarom zou men hierin verandering aanbrengen? Waarom zou men de applicatie voor een andere (bijvoorbeeld goedkopere open source database) geschikt maken? Geen keuze dus en daarom spreken we van “vendor lockin”. Dit specifieke voorbeeld doet veel gemeenten pijn, want de licentiekosten van Oracle zijn erg hoog. Interessante vraag is, hoe kom je er vanaf?

Hoe je van een dergelijke vendor lockin 
af kan komen is een ander verhaal. Naar 
mijn idee zijn er verschillende oplossingsrichtingen. 
In het beschreven voorbeeld 
kunnen gemeenten de handen ineen slaan. Hierdoor 
staan ze sterker en kan er druk 
op leveranciers worden uitgeoefend. Een andere 
mogelijkheid is "zekerheid" van de certificering 
los te laten. Krijg je de applicatie werkend op 
een andere database en komt het door alle testen heen, 
dan ben je een stap verder.

Overigens zegt een vendor lockin niets over de 
kwaliteit van de software, 
commerciële software kan van goede kwaliteit zijn. 
Lockin gaat over de 
(on)mogelijkheid om architectuur -en productkeuzes 
te maken.

Een ander voorbeeld dat me onlangs opviel is dat van de AppleTV versus de Roku. Beide zijn media player devices. Het verschil is echter dat je bij Apple alleen de door Apple goedgekeurde kanalen mag gebruiken (het zijn er nu een handje vol), terwijl bij de Roku er veel meer mogelijkheden zijn (700 op dit moment van schrijven, in America wel te verstaan…). Je kan bijvoorbeeld ook nog “hidden” of “private” channels aan de Roku toevoegen. Roku kiest er schijnbaar voor aan het device zelf te willen verdienen, niet per sé aan de content. Blijkbaar zijn er weinig obstakels om zelf channels te maken en heeft Roku hierdoor veel mensen (en bedrijven) gemotiveerd dat te doen. Bij Apple zal er meespelen dat zij het liefste wil dat de eindgebruiker alleen content van Apple betrekt. Hiermee houdt Apple veel invloed op de content die beschikbaar wordt gesteld, bijvoorbeeld voor wat betreft de inhoudelijke kwaliteit daarvan. Hiermee wordt bijvoorbeeld pornografische content geweerd, maar ook channels die zouden concurreren met Apple zelf. Dit is vanuit een bedrijfsstandpunt bezien logisch, maar voor eindgebruikers verliest het apparaat nut, je wordt namelijk erg beperkt in de mogelijkheden. Consumenten willen juist extra mogelijkheden benutten zonder daarin beperkt te worden.

Interessant is dat juist Apple hiermee tegen het uitgangspunt van Steve Jobs ingaat. Het lijkt mij dat wanneer je wilt verdienen aan het apparaat, je de mogelijkheid daarvoor content aan te bieden zo makkelijk mogelijk moet maken. Je loopt mogelijk (content) inkomsten mis, maar je stimuleert de acceptatie van het apparaat en zorgt ervoor dat het een succes kan worden. Even zo goed kan je ervoor kiezen het bedrijfsmodel te baseren op het aanbieden van content. Maak dan niet zelf een apparaat, maar sluit je aan bij bestaande initiatieven, zoals Roku bijvoorbeeld. Het is blijkbaar erg lastig van “twee walletjes te eten”. Misschien moet je daarom anderen ook iets gunnen.

Ik zou daarom de uitspraak van Steve Jobs graag willen aanvullen. Kannibaliseer jezelf én gun anderen een “deel van de koek”. Hiermee blijf je zelf “in het spel” wordt “het spel” waarschijnlijk groter (anderen kunnen ook meedoen en verdienen) en profiteer je daarmee van de initiatieven van anderen.

Ter verdediging van Apple moet ik zeggen dat ze dit overigens met hun AppStore wel te doen. Hiervan wordt regelmatig gemeld hoeveel van de omzet naar de developers is gegaan. Toch is er ook hier een strenge controle op welke applicaties in de app store mogen komen.

Uit de voorbeelden die ik in de markt zie, lijkt de “aanval wel eens de beste verdediging” te zijn. Je loopt risico als je met jezelf concurreert, maar je hebt er in ieder geval invloed op. Ruimte voor anderen kan ook bijdragen aan het eigen succes. We gaan meer en meer naar een wereld waarin “delen” de norm wordt. Ik kende ooit iemand die leefde volgens de overtuiging. “Wie deelt heeft meer”.