Het Californische bedrijf Lina lanceert deze maand de eerste versie van zijn softwarepakket dat het mogelijk moet maken Linux-applicaties op Unix, Windows, Mac OS en Linux te draaien, zonder aanpassingen aan het programma.
De applicatie, ook Lina genaamd, is in feite een virtuele machine die op de genoemde besturingssystemen kan draaien. Een softwarepakket wordt specifiek voor de Lina-VM gecompileerd en vervolgens kan dezelfde executable op verschillende besturingsystemen gebruikt worden. Het compileren voor Lina is niet anders dan het compileren voor de verschillende Linux-versies zoals SuSE of Red Hat. Het bedrijf hoopt dat het met zijn oplossing mogelijk wordt de duizenden opensource programma’s die beschikbaar zijn, op ieder willekeurig systeem te draaien. ‘Ons belangrijkste doel is de wereld van opensource software voor de grote massa beschikbaar te maken’, aldus Chief Technology Officer Nile Geisinger. ‘We hopen dat in de komende jaren grote softwarebedrijven er voor kiezen om software voor Linux uit te brengen, in plaats van zich te binden aan het Microsoft-platform.’ Het feit dat deze software wel gebruikt kan worden op Windows-systemen moet de bedrijven over de streep trekken.
Lina bestaat uit een platformspecifieke applicatie die de x86-processor van het host-systeem emuleert. Een aangepaste Linux-kernel - op dit moment versie 2.6.19 - draait binnen de virtuele omgeving. De kernel heeft een filesystem onder zijn beheer met de standaard Linux-libraries die zijn aangepast om met de verschillende onderdelen van het gast-OS te werken. Het programma is na het downloaden 15MB groot, en beslaat na het installeren ongeveer 40MB harddiskruimte. Een groot voordeel van het gebruik van Lina is het feit dat de 'look-and-feel' van de applicaties kenmerkend voor het gast-OS is. Dezelfde applicatie heeft een Windows-uiterlijk op een Windows-machine en gedraagt zich als een Mac-applicatie op een computer van Apple. Voor het draaien op een Windows-pc is overigens wel het gebruik van cygwin nodig.

Een bekende naam in de markt van write once run everywhere-systemen is uiteraard Java. Volgens Geisinger heeft Java zijn beloftes echter nooit helemaal waar kunnen maken. 'Er zitten verschillende bugs in de api's, en vanwege het closed-source model van Java was er geen grote community die de problemen kon oplossen. Wij hopen op een actieve bijdrage uit de community', zo vertelt hij. Een ander voordeel van Lina ten opzichte van de Java-VM is dat een applicatie niet in Java geschreven hoeft te worden, maar slechts gecompileerd moet worden voor Lina. De talrijke C/C++ Linux-applicaties die al geschreven zijn kunnen dus eenvoudig geschikt gemaakt worden voor een ander platform. De werkwijze van Lina heeft ook overeenkomsten met een ander product: het Qt-framework van Trolltech. Toch is Lina niet hetzelfde: voor Lina is slechts een executable nodig, terwijl bij het gebruik van Qt voor ieder platform een executable gecompileerd moet worden. Daarnaast moet bij het ontwikkelen van een Qt-applicatie gebruik gemaakt worden van het Qt-framework, terwijl bij Lina een 'gewone' C/C++ applicatie gemaakt kan worden.
Op dit moment is er voor het installeren van de Lina-VM nog wel enige kennis nodig: een eenvoudiger installer ontbreekt en verschillende opties moeten via de commandline ingesteld worden. Na de release van de eerste versie zal meer aandacht aan een goede installer en gui besteed worden zodat ook minder ervaren computergebruikers met het pakket overweg kunnen. Ontwikkelaars die hun programma als gratis opensource software uitgeven kunnen Lina zonder kosten gebruiken; commerciële ontwikkelaars moeten een nog nader te bepalen licentiebijdrage betalen. Deze maand wordt ook de developers-site openlina.org gelanceerd. Deze site is bedoeld om ontwikkelaars te betrekken bij het project, en hen te ondersteunen.