Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 40 reacties
Bron: openLina, submitter: JanDM

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.

Lina-logoDe 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.

Werking Lina
De werking van Lina

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.

Video: een introductie van Lina

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.

Lees meer over

Moderatie-faq Wijzig weergave

Reacties (40)

commerciële ontwikkelaars moeten een nog nader te bepalen licentiebijdrage betalen.
En daar gaat het fout. Was het nou voor iedereen gratis dan had ook daadwerkelijk iedereen er baat bij. Nu zie ik bijvoorbeeld spellen niet uitgebracht worden via dit systeem.
Als het spel zou draaien via lina dan zou het voor de ontwikkelaar toch nog steeds goedkoper zijn om die licentiebijdrage te betalen dan voor elk platform een specifieke compile te maken..
Das waar, maar waarom zouden ze dan extra gaan betalen om het voor een (respectievelijk) kleine doelgroep speelbaar te maken?

Overigens weet ik überhaubt niet of dit ook wel games ondersteund, kan me voorstellen dat het dan allemaal veel te complex wordt ivm 3D e.d.
Je neemt gewoon een licentie waarbij je lina op het systeem van de gebruiker installeert. Dus en win en mac en linux middels 1 distributie van je game. Het wordt dus een kwestie van gewoon meeleveren. De besparing op het ontwikkelen voor verschillende platforms, de besparing in distributie van verschillende platforms zijn dus wel gemakkelijk terug te verdienen.

Als lina niet te veel performance kost voor de systemen, zou dit dus een goede manier kunnen zijn om diverse markten tegelijkertijd te bedienen. Kost het teveel performance dan zijn lina-games dan zal de consument voor games dus snel zijn neus ophalen voor games via dit platform. Het concept heeft in ieder geval potentie, de uitvoering ervan zal een van de belangrijkste zaken worden om te bepalen of dit succes zal hebben.
Volgens mij moet je een licentiebijdrage betalen als je lina aanpast en "commercieel" verspreidt. Dit is niet het geval als je een spel voor lina schrijft.
Van de meer populaire oss applicaties is zo-wie-zo al een Windows/Mac OS X versie beschikbaar. (Firefox, The GIMP, ...)

Wat is dus te toegevoegde waarde van Lina, behalve dat je niet hoeft te compileren e.d.?
Je hoeft software niet te porten. Op elk OS heb je als developer 100% zekerheid dat pakket x en y die jou pakket gebruikt geschikbaar is en ook precies hetzelfde is.

Zo heeft OSX bijv veel BSD unix tools die zich best vaak anders gedragen als GNU unix tools.
Je hoeft software niet te porten. Op elk OS heb je als developer 100% zekerheid dat pakket x en y die jou pakket gebruikt geschikbaar is en ook precies hetzelfde is.
Hoe zit het dan met de externe libraries, zie o.a. het elders genoemde voorbeeld van libpam. Welke libraries zijn wel en welke zijn niet aanwezig?

Er zal ergens een keuze gemaakt moeten worden, waardoor de applicatie dus toch weer voor Lina geschikt gemaakt moet worden - tenzij je een flinke 'VM' installer wilt leveren natuurlijk...


[quote]
Zo heeft OSX bijv veel BSD unix tools die zich best vaak anders gedragen als GNU unix (sic) tools.
[/quote]
Ik kan dat natuurlijk ook andersom stellen, nu heeft GNU/Linux veel tools die zich anders gedragen dan de originele Unix tools op bijvoorbeeld Solaris...
De toegevoegde waarde van Lina is dus het feit dat de niet-geporte applicaties ook draaien op Windows.
In principe kan je elk programma compileren op gelijk welke machine, zolang de programmeur zich maar aan de POSIX specificatie houdt, dan draait het zowel op Mac OS X, BSD, Linux, AIX...

Als je echt cross-platform wilt zonder te recompileren dan kun je ook talen zoals Perl, PHP of Python en Ruby gebruiken, en als je een VM erbij wilt zodat je niet veel van de OS-specifieke functies gebruikt, dan hebben we Java en afgeleiden zoals C#.
In principe kan je elk programma compileren op gelijk welke machine, zolang de programmeur zich maar aan de POSIX specificatie houdt, dan draait het zowel op Mac OS X, BSD, Linux, AIX...
Maar niet per se op Windows. Alleen de SFU-enable windows machines kunnen namelijk POSIX en bij Windows Vista is het zelfs gelimiteerd tot de Enterprise en Ultimate versies.

Bovendien ben je in het schrijven van moderne applicaties vrijwel altijd afhankelijk van libraries. En die moeten op hun beurt ook nog 'ns POSIX-compliant zijn en vervolgens ook non-SFU Windows ondersteunen.

Nee, portability is (helaas) zo makkelijk niet als dat je nu doet voorkomen. :)
Daar heb je MinGW en Cygwin voor:
http://www.mingw.org
http://www.cygwin.com

Hiermee werken al mijn programma's met een recompile ook onder Windows. Ook OpenGL / SDL, GTK en QT applicaties.
Na recompile ja met dit zou dat dus niet nodig zijn.

Emulaties zijn over het algemeen traag dus processor intensieve applicaties zouden een probleem kunnen zijn.
Ja, en mingw is veeeeel makkelijk dan dit systeem wou je zeggen? :z
Kunnen ze beter niet zo maken dat Windows applicaties onder Linux kunnen draaien bijvoorbeeld Ubuntu. Als je Linux wilt promoten dan dan zou dat veel beter gaan wanneer je ook Windows applicaties onder Linux kunt instaleren. Dan hebben mensen geen dure licentie nodig zoals bij Vista.
Daar zijn ze toch al mee bezig, denk maar aan Wine, het is echter een enorme klus om dit perfect te optimaliseren. Daarbij krijg je ook erge last van patenten aangezien de Windows API's niet open-source zijn en er niet voor elke API een Linux tegenhanger bestaat.
Patenten schend je volgens Microsoft toch wel, of je nou wel of niet gebruik maakt van hun API's.
Ik vraag me af of het wel zo 'flexibel' is als men beweert, we hebben dit soort beweringen wel vaker gezien in het verleden... En hoe zit het met bv performance?
En hoe zit het met bv performance?
Performance zal geen probleem zijn (als je geen 3D apps draait oid) er zijn genoeg voorbeelden van goed werkende virtualisatie - dit is namelijk gewoon een andere vorm van virtualisatie en dan voor Windows.

(Xen, Parallels voor de Mac, VMWARE maken ook al gebruik van dit soort constructies en ook het eerder genoemde co-linux doet dat...)
Dat klinkt heel erg leuk, maar met alleen een kernel en filesystem mapping kom je er toch echt niet.

Hoe gaan ze bij Lina-VM ervoor zorgen dat ook de libraries ook op alle platformen aanwezig zijn. Natuurlijk kun je alles statisch linken, maar dan krijg je mega bestanden uit het jaar 0.

Op bijna alle platformen is het gebruik van shared objects (.so / .dll) de gewoonste zaak geworden.

Zo linken veel mijn applicaties aan de PAM library. Hoe gaan zij beschikbaar maken onder windows zodat het programma nog steeds werkt?

In c# (.NET) kan ik via interop nog altijd aan een niet-managed library linken om op die manier specifieke functionaliteit te gebruiken.

Verder vraag ik mij af wat deze extra laag gaat doen met betrekking tot de performance..
goede vragen. En dan is er nog het punt dat ze de look & feel van het native platform hebben. Hoe doen ze dat? Kun je een gewone, bestaande app nemen, en via een simpel proces omzetten naar Lina? of moet je speciaal voor Lina ontwikkelen, heeft lina een eigen GUI toolkit? Dat lijkt me dus echt NIETS.

Wat mij betreft doen Qt en in wat mindere mate GTK2 het beter - apps daarin ontwikkeld kun je ook gewoon compilen voor alle andere platformen. Met GTK is dat iets lastiger, maar met Qt4/KDE4 word het echt triviaal. Wat voegt Lina dan nog toe...

*edit: OK, het draait dus bovenop Qt / GTK. Klinkt goed, en het maakt deze oplossing een stuk interessanter...
Ik blijf rustig wachten op iets wat zonder VM kan.
Iets als Wine, maar dan andersom. Dat je Linux binaries onder windows kan draaien.

Maar voorlopig zie ik daar zonder VM of virtualisatie nog geen oplossing voor.
Daar heb je coLinux en Cygwin voor. Het zal echter nooit zo werken als Wine (klik en run), aangezien "Linux" alleen de kernel is. Er is geen standaard Linux-platform. Je zal dus altijd dependencies moeten managen/downloaden.
write once run everywhere
Hebben ze over nagedacht. Ze wilden oorspronkelijk: Write Here Once, Run Everywhere... :+
Zou wel beter blijven hangen bij de menigte.

'This application is WHORE enabled'

Das pas marketing :)
Dit gaat niet over techniek. Het gaat om geld.
Fantastische claims en een semi-technisch gebrabbel maakt het interessant voor investeerders. Vele facetten zijn met een mooi verhaal onderbouwd, maar alle facetten samenbrengen dat is technisch niet rond te breien.
Maar als dit 'state-of-the-art high-tech flavor-of-the-month' bedrijf maar voor goed geld kan worden overgekocht voordat het product staat, dan springen de 'wizards' die het verzonnen hebben er goed uit.
lijkt me toch wel erg kort door de bocht. virtualisatie staat nog eigenlijk in de kinderschoenen, en software als Lina heeft echt wel een doelgroep. Ze zomaar beschuldigen van "zeepbel-technologie" te verkopen lijkt me dan ook ongerechtvaardigd, of misschien heb jij informatie die wij niet weten? Enkele argumenten dan ook aub.

Ik kan u trouwens al één app noemen die op dit systeem perfect zou kunnen draaien: mediabibliotheken (zoals itunes) die connectiviteit met een mediaspeler moeten garanderen. Vooral kleine applicaties die best wel op alle OS'en gedraaid zouden kunnen worden hebben hier wel nood aan.

Ik kan u ook één gigant opnoemen die dit eveneens wel interessant kan vinden: Google. Momenteel moeten applicaties als picasa2 ed door crossover overgezet worden voor linux. Lina bvb kan dit eenvoudiger maken, een argument waar niet alle bedrijven doof voor zijn.
beetje net zoiets al colinux dus maar dan voor alle os'en?

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True