U bent hier:
  1. Home
  2. Nieuws
  3. Bekijk


Analyse

GCC viert zilveren jubileum

25 jaar geleden bracht Richard Stallman zijn vrije en opensource C-compiler uit. Sindsdien is GCC uitgegroeid tot een kracht van betekenis in de computerindustrie, waarmee vriend en vijand rekening...

Podium

Puzzelen op vijftigduizend GPS-metingen

Met de Open GPS Tracker-app kunnen bezitters van een Android-telefoon hun route opnemen en op een kaart weergeven. Ondertussen hebben meer...

Redactioneel

Het gat van Verhagen

De eerste klap is een daalder waard, weet ook Hans Clevers. In zijn eerste interview sinds bekend was gemaakt dat hij DWDD-president Robbert Dijkgraaf opvolgt bij de KNAW zei de wereldberoemde...

Achtergrond

Commerciële tools of publieke open source geen alles-of- nietskeuze meer

13 oktober 2005

Veel bedrijven gebruiken open-source GNU-tools voor de ontwikkeling van embedded Linux-software. Als belangrijkste redenen geven zij de prijs, flexibiliteit en stabiliteit. Gebruikers van commercieel gereedschap wijzen op het gebruiksgemak en de performance van hun tools, maar ook op het voordeel van support door de leverancier. Daarnaast zien we steeds meer wisselwerking tussen beide werelden.

De afgelopen tien jaar is Linux uitgegroeid tot een serieuze business in embedded. Niet alleen in OS-varianten maar ook in hulpmiddelen is er tegenwoordig voor elk wat wils. Aan de ene kant van het spectrum staat de publieke open source, met het Linux-project van geestelijke vader Linus Torvalds en de GNU-toolketen als belangrijkste representanten. Aan de andere kant is er de commerciële software waarmee embedded-zwaargewichten als Montavista en Wind River naar de hand van de Linux-ontwikkelaar dingen.

De Eindhovense softwaredienstverlener Fourtress maakt gebruik van openbare open source, onder meer in een mobiele robot op basis van een realtime Linux-systeem. ‘Om niet van commerciële producten afhankelijk te zijn, is publieke open source een weloverwogen keuze geweest’, verklaart directeur Pim Grol. ‘Het voordeel van ‘gratis’ en ‘makkelijk aan te passen’ heeft voor ons de doorslag gegeven om voor de ontwikkelprojecten aan de slag te gaan met Linux.’

Het Leuvense Mind past bij het ontwikkelen van embedded software voor zijn klanten bijna uitsluitend niet-commerciële open source toe. ‘Behalve de lagere kostprijs heeft ook het open programmeermodel voordelen’, motiveert directeur Peter Vandenabeele de keuze. ‘Daardoor houdt de klant zelf controle over alles.’ Ook de goede stabiliteit, de veiligheid en de betere prestaties zijn volgens hem goede redenen om voor openbaar te gaan.

Marina Demoerlooze van de Brusselse Mind-klant Banksys, specialist in elektronisch betalen, is het daarmee eens: ‘Onze keuze baseerden we op een analyse van de beschikbare oplossingen. Enerzijds hadden we aandacht voor de technische eisen van het besturingssysteem en anderzijds speelden de kosten een rol. Daaruit kwam Linux als beste oplossing uit de bus.’ De doorslaggevende argumenten voor Banksys waren de beschikbaarheid van de broncode en de mogelijke ondersteuning door verschillende partners. ‘Daarenboven is Linux technisch superieur aan concurrenten’, aldus Demoerlooze.

Philips Semiconductors maakt waar mogelijk gebruik van open source. Maurice Geraets, vice-president Strategy & Software Partnerships: ‘Wie open-source tools gebruikt, speelt daarmee automatisch een specifieke rol in de open-sourcegemeenschap. Die rol loopt uiteen van parasiet tot evangelist.’ Met parasiet bedoelt hij de commerciële uitbaters van open source die niets aan de gemeenschap teruggeven. Evangelisten vormen het ander uiterste: voor hen is open source heilig. Philips Semiconductors bevindt zich in het midden van dit spectrum: ‘We zoeken een balans tussen gebruiken en teruggeven’, legt Geraets uit. ‘Uiteraard zetten we geen honderd ontwikkelaars op een project dat vooral belangrijk is voor de open-sourcegemeenschap en minder voor ons.’

Publiek

De keuze voor een niet-commercieel open-source besturingssysteem impliceert niet automatisch het gebruik van soortgelijke ontwikkeltools. Toch ziet Peter Vandenabeele genoeg redenen om voor publiek te kiezen: ‘Onze klanten vragen meestal om openbare open source. Soms willen ze echter dat we commerciële tools gebruiken en soms een combinatie.’ Een aantal open-source toepassingen zijn volgens de Mind-directeur in de praktijk alleen met publieke open-source tools te bouwen, bijvoorbeeld omwille van extensies die commercieel gereedschap niet ondersteunt.

Vandenabeele onderkent twee grote voordelen bij het gebruik van de openbare GNU-toolketen: ‘De gereedschappen werken zeer goed en zijn stabiel. Ze laten ook toe om het ontwikkelproces te stroomlijnen en een volledig geautomatiseerde buildomgeving op te zetten. Hierdoor kunnen we het hele proces in versiebeheersystemen opslaan.’ Voor alle aspecten van de softwareontwikkeling bestaat heel wat uitstekende niet-commerciële open source, die voor het merendeel al heel volwassen is, aldus Vandenabeele.

Mind bood aan Banksys ondersteuning voor het opzetten van de toolketen voor de C-Zam/Xenta-betaalterminals. ‘Wij gebruiken open-source GNU-gereedschappen’, vertelt Marina Demoerlooze. ‘Als ontwikkelomgeving maken we gebruik van KDevelop, gebaseerd op de Debian-releases van Linux. Banksys past verder geen commerciële software toe.’

Demoerlooze motiveert de keuze voor GNU-gereedschap pragmatisch: ‘De tools die wij gebruiken, voldoen aan de eisen. Ze zijn gratis beschikbaar, wat de totale kosten van het eindproduct interessanter maakt.’ Naar alternatieven kijkt Banksys nog niet uit: ‘Tot nu toe is er geen noodzaak om over te schakelen op commerciële tools.’

Martin Koevoets van het Eindhovense Emdes Dedicated Electronics & Software, gespecialiseerd in de ontwikkeling van elektronische producten en systemen, is eveneens tevreden met de GNU-tools. Momenteel bouwt zijn bedrijf ervaring op in Altera’s Nios II-softcoreprocessor met µClinux en µC/OS-II. Voor de applicatieontwikkeling maakt het ingenieursbureau gebruik van het GNU-kruiscompilatiegereedschap in een Linux-omgeving. Koevoets: ‘Deze tooling sluit het beste aan bij het Linux-besturingssysteem. Tevens gaat het compileren van kernel en applicaties beduidend sneller.’

Pim Grol van Fourtress vindt prijs en onafhankelijkheid belangrijke voordelen van publieke open source. ‘Tevens zijn van de niet-commerciële open-source tools gemakkelijk upgrades te downloaden en kunnen we sources en kernel aanpassen indien nodig. Onze ervaringen met het gebruik van de GNU- en de M68k-toolketen, en de Debian-distributie zijn goed’, aldus Grol.

Commercieel

Philips Semiconductors gebruikt voor de ontwikkeling van embedded software zowel commerciële tools als publieke GNU-software. Geraets: ‘We gebruiken bij voorkeur commerciële gereedschappen. We hebben een stabiele ontwikkelomgeving nodig, met een leverancier die de software gegarandeerd up-to-date houdt. Alleen een commercieel product kan ons dit bieden.’ Volgens Geraets vergt het gebruik van open-source tools bovendien meer inspanningen. De ontwikkelaars moeten te veel tijd steken in de fijnafstemming van de hulpmiddelen: ‘We zijn geen toolbedrijf, maar een chipontwikkelaar. Commercieel gereedschap biedt de mogelijkheid om ons te concentreren op productontwikkeling.’

Klaas van Gend, field sales engineer bij Montavista Software in het Belgische Kessel, beaamt dit: ‘Klanten installeren onze cd-roms en onze software werkt gewoon out-of-the-box. Wanneer ik onze oplossing bij een klant installeer, sta ik binnen twee uur weer buiten. Met demonstratie erbij duurt het drie uur.’ Voor elk platform maakt Montavista zijn tools op maat om ze vervolgens te optimaliseren. Van Gend: ‘Als een bedrijf dit zelf wil doen met de GNU-tools, moet het er minimaal twee maanden een ingenieur op zetten. Als alles meezit. Veel Linux-gereedschap vereist nog te veel kennis.’

Als belangrijkste voordeel van commerciële ontwikkeltools ziet Vandenabeele dat ze het de beginnende ontwikkelaar gemakkelijker maken. ‘De belangrijkste feature van vele commerciële hulpmiddelen is dat ze een GUI en voorgedefinieerde configuraties aanbieden die de instap vergemakkelijken.’ Naarmate ontwikkelaars meer ervaring krijgen, zijn ze volgens Vandenabeele echter geneigd om over te stappen op command-linetools en zelf samengestelde configuraties om het hele ontwikkelproces te automatiseren. ‘Op dat moment wordt de GUI overbodig en soms zelfs hinderlijk, en grijp je toch terug op de standaard open-source compilers (GCC), debuggers (GDB), versiebeheergereedschappen (CVS/GIT/SVN/TLA) en buildtools (Make).’

Philippe Bauwens van Siemens uit Brussel onderkent een ander nadeel van commerciële hulpmiddelen: ‘Je verliest flexibiliteit, omdat je afhankelijk bent van de leverancier. Als de componenten van zijn toolketen niet aan onze specifieke eisen voldoen, dan kunnen we niet zelf aanpassingen doorvoeren.’

Of commercieel dan wel publiek gereedschap het beste is, hangt dikwijls af van de specifieke eisen. Voor het compileren van Linux is het eenvoudiger en efficiënter om GCC te gebruiken. Niet altijd is openbare open source echter de beste oplossing. ‘In sommige gevallen is performance, bijvoorbeeld codeomvang of uitvoersnelheid, cruciaal en daar scoort een commerciële toolketen iets beter op’, aldus Mind-ingenieur Jan Veldeman.

Montavista gelooft sterk in optimalisaties. Zo biedt het bedrijf naast de algemene Pro-editie ook Mobilinux aan, een geoptimaliseerd Linux-besturingssysteem en -ontwikkelgereedschap voor mobiele telefoons. Van Gend: ‘In de Mobilinux-kernel zijn extra haakjes aangebracht waarmee een ontwikkelaar bijvoorbeeld in de Linux Trace Toolkit de opstarttijd van zijn systeem kan analyseren. Hierna kan hij besluiten om items te verwisselen of trage onderdelen naar het einde te verplaatsen. Onze aangepaste Linux-kernel start in enkele tientallen milliseconden, waardoor het hele systeem in een paar seconden in de lucht is.’

Peter De Schrijver, chief technical officer van Mind, meent dat het onderhoud op lange termijn echter een probleem vormt voor commerciële gereedschappen: ‘Als je vijftien jaar na ingebruikname de broncode opnieuw moet compileren voor een bugfix, moet je ofwel de originele toolketen hebben bewaard ofwel de code migreren naar nieuw gereedschap.’ De originele keten gebruiken is volgens De Schrijver niet zo voor de hand liggend bij commerciële software.

Het Ieperse Protronic, producent van mechatronische systemen, is om dezelfde reden slechts gematigd positief over commerciële systemen. Het bedrijf heeft een gebruikersinterface voor weefgetouwen die in twee versies draait: een op Linux en een op VxWorks. Die laatste variant onderhoudt Protronic al bijna vijf jaar met de ontwikkelomgeving Tornado 2.0. Upgrades gaan niet altijd rimpelloos, zegt projectingenieur Hans Vermeersch. ‘Voor onze toepassing moeten we altijd kunnen teruggrijpen naar oudere versies en die opnieuw kunnen aanmaken. Dit verplicht ons om de volledige ontwikkelomgeving te gaan archiveren vooraleer we upgrades uitvoeren. Dit is niet houdbaar op lange termijn.’

Volgens Maurice Geraets van Philips Semiconductors voelen producenten van commerciële ontwikkeltools de concurrentie van publieke open source. ‘Het grote aanbod aan openbaar open-source gereedschap creëert een prijsdruk op de markt. Commerciële leveranciers verlagen hun prijzen door de concurrentie met de gratis GNU-tools of doen extra moeite om hun producten een meerwaarde te geven. En dat is natuurlijk goed.’ Hij voegt daaraan toe: ‘Functioneel gezien zijn commerciële tools op dit moment even goed als hun publieke tegenhangers en dikwijls zelfs beter.’ Semiconductors is ook gebruiker van commerciële Wind River-gereedschappen. Op de ervaringen daarmee wil Geraets echter niet ingaan.

Ondersteuning is uiteraard een belangrijk deel van de meerwaarde die ontwikkelaars van commerciële tools leveren. Montavista biedt bijvoorbeeld garantie. ‘Als klanten een bug vinden in onze software, fixen wij die voor hen’, aldus Van Gend. Volgens Philippe Bauwens is zulke contractuele support het grootste voordeel van commerciële gereedschappen.

Het beste van twee werelden

Publieke open source of commercieel, het is allang geen alles-of-nietsbeslissing meer. Volgens Jan Veldeman is het meer en meer mogelijk beide te combineren. ‘Doordat de interoperabiliteit tussen bijvoorbeeld de commerciële ARM Developer Suite-compiler en GCC steeds verbetert, wordt het steeds aantrekkelijker om enkele cruciale delen met ADS te compileren en het overige met GCC.’ Ook bij Montavista is dit mogelijk. Van Gend: ‘In versie 4.0 van Mobilinux kun je willekeurige delen van user-spacetoepassingen met ADS compileren. In de volgende versie zal dat ook voor de kernel gelden.’

Geraets ziet deze wisselwerking tussen commerciële tools en hun openbare tegenhangers als een interessante trend. ‘Het Eclipse-raamwerk maakt het mogelijk om meerdere gereedschappen te combineren. Zo kun je bijvoorbeeld een publieke open-source debugger en een commerciële compiler gebruiken in één omgeving.’ Toolontwikkelaars zijn de laatste jaren al op die trend gesprongen. ‘Enkele leveranciers bundelen commerciële met niet-commerciële gereedschappen tot een afgewerkt product. De meerwaarde van de leverancier ligt dan vooral in onderhoud en specifieke uitbreidingen’, aldus Geraets.

Een voorbeeld van deze strategie toont Montavista, dat zijn commerciële Devrocket-IDE rond publieke open-source tools heeft gebouwd. Klaas van Gend: ‘Onze ontwikkelomgeving is gebaseerd op Eclipse, maar bevat heel wat eigen uitbreidingen zoals een remote debugger, remote ltrace/strace, en zelf geschreven grafische front-ends voor preëmptie- en interruptlatencymetingen en voor de Linux Trace Toolkit.’ Montavista optimaliseert alles voor gebruik op afstand. Van Gend: ‘Het draaien van een volledige GDB op een embedded target met beperkt geheugen is niet realistisch. De remote GDB-componenten zijn ook beschikbaar als open source, dus iedereen kan dit zelf doen, als ze er maar de tijd voor hebben.’

Koen Vervloesem

Terug naar overzicht



© Bits & Chips | Deze pagina op internet: http://www.bits-chips.nl/nieuws/bekijk/artikel/commerciele-tools-of-publieke-open-source-geen-alles-of-nietskeuze-meer.html