Portable Software
Als portable Software (vom lateinischen „portare“ für „tragen“ oder „mit sich tragen“) wird Software bezeichnet, welche ohne weitere Anpassungen oder Installationen auf verschiedenen Computern ausgeführt werden kann. Portable Software kann so z.B. auf einen Wechseldatenträger kopiert werden, und dann auf jedem (kompatiblen) Computer ausgeführt werden, ohne dass das Programm auf diesem Computer installiert werden muss.
Programme, die auf unterschiedlichen Plattformen übersetzt werden können, nennt man hingegen plattformunabhängige Software.
Motivation und Nutzen
Bestimmte Anwendungen, aber auch deren Einstellungen und persönliche Daten, möchten viele Nutzer an verschiedenen Computern zur Verfügung haben. Mit Hilfe von portabler Software können diese Programme auf einen USB-Stick (oder einen anderen Wechseldatenträger) kopiert werden, so dass der Benutzer nur diesen Stick einstecken muss, um Zugriff auf seine Programme und Einstellungen zu haben.
Da portable Software keine Spuren auf dem Computer hinterlässt und keine Installation braucht, kann man sie auch auf Computern nutzen, auf denen man keine Administrator-Rechte hat.
Eigenschaften
Prinzipiell kann gesagt werden, dass Portable Software nur wenig mit dem Betriebssystem interagiert bzw. in dieses integriert ist und dementsprechend nur von möglichst wenigen spezifischen Eigenschaften dessen abhängt.
Keine Installation notwendig
Typischerweise braucht Portable Software keine Installation und kann direkt vom Trägermedium aus oder durch Kopieren in ein Verzeichnis gebrauchsfertig gemacht werden. Meist kann die gebrauchsfertige Software auch nach Benutzung durch einfaches Kopieren dupliziert werden, was für eine einfache Datensicherung auf einem weiteren Datenträger sowie ein einfaches Weitergeben der Software vorteilhaft ist.
Portable Software wird häufig als gepacktes Archiv verbreitet, welches nur in ein Verzeichnis ausgepackt werden muss, ohne dass systemspezifische Installationsprogramme benötigt werden. Dieses einfache Auspacken wird zum Teil irreführend auch als Installieren bezeichnet.
Wird eine portable Software doch "installiert", geht es hierbei um die Einrichtung einer Anwendung unter sehr in-restriktiven Bedingungen, d.h. der Ablageort kann frei gewählt werden, die vorausgesetzten Systembibliotheken sind minimiert und spezielle Nutzerrechte (Admin oder Root) sind nicht notwendig usw. .
Keine Spuren auf dem Wirtssystem
Im Idealfall hinterlässt portable Software keine Spuren auf dem Wirtssystem.
Spuren können einerseits Installationseinträge jeglicher Art (zum Beispiel in der Registrierung, im Benutzerprofil oder Ähnliches) oder aber Benutzerdaten sein, die nicht auf einem fremden Rechner zurückbleiben sollten.
Funktion mit eingeschränkten Rechten
Auf dem Wirtssystem hat man häufig keine Administratorrechte. Die Software soll daher auch mit eingeschränkten Rechten lauffähig sein. Somit kann sie bei ordentlicher Konfiguration des Wirtssystems auch keinen übermäßigen Schaden anrichten.
Dies ist allerdings nicht möglich, wenn das Programm direkten Zugriff auf die Hardware oder gewisse Systemkomponenten braucht. So benötigen z. B. die Verschlüsselungsprogramme FreeOTFE oder TrueCrypt selbst im „Portable Mode" bzw. „Traveller Mode“, zum Ver- bzw. Entschlüsseln des Wechseldatenträgers Administratorrechte.
Entwicklung von portablen Programmen
Oft sind portable Programme angepasste Versionen von konventionellen, installationsbedürftigen Programmen. Um sie von diesen zu unterscheiden, wird oft das Prädikat „portable“ vorangestellt. Es gibt auch Programme, die beispielsweise bezüglich der Schreibzugriffe auf die Verhältnisse der speziellen Datenträger (meist Flash-Speicher) zugeschnitten sind.
Eine Sonderform ist U3-Software, welche nur von einem mit der proprietären U3-Software verträglichen USB-Stick ausgeführt werden kann.
Es kann jedoch nicht von jedem Programm eine portable Version erstellt werden.
Grenzen portabler Programme
Hardwareplattform-Abhängigkeit
Anwendungen, welche in einem Binärformat (z.B. ELF oder PE) vorliegen, wurden von einem Compiler für eine spezifische Hardwareplattform generiert (z.B. IA-32). Verschiedene CPU-Architekturen variieren in Befehlssatz, Datenwortgröße (z.B. 32-Bit oder 64-Bit) oder Byte-order. Dies beschränkt den portablen Einsatz von Applikationen auf Plattformen der gleichen Hardware. Ein portabler Ansatz zur Umgehung dieser Problematik sind sogenannte Fat Binaries, welche Applikationsvarianten für mehrere Hardwareplattformen enthalten. Beispielsweise Apple setzt seit 2006 Fat Binaries ein, hier Universal Binary genannt, für den problemlosen Übergang von den PowerPC-CPUs zu den Intel-CPUs{{cite web| author=Apple Computer| title="Universal Binaries and 32-bit/64-bit PowerPC Binaries" in der Mac OS X ABI Mach-O File Format Referenz| date=2006-03-08 | url=http://developer.apple.com/documentation/DeveloperTools/Conceptual/MachORuntime/Reference/reference.html#//apple_ref/doc/uid/20001298-154889| accessdate=2006-07-13}}.
Systemnahe Software
Nicht alle Programme eignen sich zur Verwendung als portable Software. Beispielsweise benötigen Virenwächter, Systemwerkzeuge und andere systemnahe Software die Möglichkeit, tief ins System einzugreifen. Deren portable Versionen haben eine geringere Bedeutung, weil sie in der Regel nicht den gleichen Funktionsumfang wie installierte Software aufweisen können.
Allgemeine Anwendungsprogramme, zum Beispiel Editoren und E-Mail-Clients, kommen hingegen meist ohne Systemeingriffe aus und eignen sich für den portablen Einsatz. So ist zum Beispiel das Office-Paket OpenOffice.org in einer portablen Version verfügbar.
Rechtliche Probleme
Neben den technischen Aspekten spielen beim Einsatz als portable Software auch die Software-Lizenz und etwaige Kopierschutz-Mechanismen eine Rolle. Häufig ist das Kopieren von Software vom Hersteller oder Lizenzgeber unerwünscht und wird in der Lizenzvereinbarung verboten. Ein Kopierschutz bindet ein Programm oft an ein bestimmtes System – das Binden an einen mobilen Datenträger ist technisch aufwendig und in der Regel nicht vorgesehen. Daher spielt hier freie Software eine entscheidende Rolle, weil sie dem Benutzer das Recht auf eine unbeschränkte Benutzung, auch als portable Software, zusichert.
Jedoch verhindert die freie aber strenge GPL-Lizenz manchmal das statische einlinken von Bibliotheksabhängigkeiten als Ansatz um portable Programme zu erzeugen. Die GPL, unter der viele Bibliotheken stehen, schließt dieses aus wenn die Anwendung selbst einer weniger restriktiven oder proprietären Lizenz unterliegt.
Sicherheit im Unternehmen
IT-Verantwortliche sind für die Konfiguration und Sicherheit der Systeme im Unternehmensnetzwerk verantwortlich. Wechseldatenträger und die darauf enthaltenen Daten und Programme entziehen sich jedoch deren Kontrolle und stellen ein Risiko dar.
Vorbeugend ist es teilweise üblich, USB-Anschlüsse im BIOS oder im Betriebssystem des Rechners zu sperren.
Betriebssysteme und Portabilität
Windows Software
Windows mit seinen MS-DOS-Wurzeln besitzt keinen fixen Standard oder feste Übereinkunft über den Installationspfad von Anwendungen, der Anwender wird bei Installationen praktisch immer nach einem Zielpfad befragt. Dadurch sind variierende Ausführungspfade von Anwendungen häufig kein Problem, sowohl auf Betriebssystemseite als auch Anwendungseite, im Gegensatz zu unixoiden Betriebssystemen{{cite web| url = http://www.kuro5hin.org/story/2003/5/9/05015/62649| title = The Unix tree rethought: an introduction to GoboLinux| accessdate = 2011-12-19| publisher = www.kuro5hin.org| last=Muhammad| first=Hisham| date=2003-05-09|quote=Unfortunately, not all programs have the flexibility to be installed anywhere. Occasionally, hardcoded paths creep in, even in programs that belong in userland (which should, at least theoretically, allow themselves to be installed inside a user's home directory).}}, bei denen sich Standardorte durchgesetzt haben.
Die der Portabilität dienliche Fähigkeit der Ausführung von Anwendungsprogrammen aus beliebigen (Installations-)Verzeichnissen (siehe Zeile 9) mit eigenen, lokalen Bibliotheken (Private DLLs{{cite web
| url=http://msdn.microsoft.com/library/techart/dlldanger1.htm
| title=The End of DLL Hell
| date=2000-01-11
| archiveurl=http://web.archive.org/web/20010605023737/http://msdn.microsoft.com/library/techart/dlldanger1.htm
| archivedate=2001-06-05
| last=Anderson
| first=Rick
| publisher=microsoft.com
| accessdate=2012-01-15
| quote=Private DLLs are DLLs that are installed with a specific application and used only by that application.
}}
) ist etwas, das Windows seinem MS-DOS-Ursprung verdankt, die meisten DOS-Programme sind portabel, nur wenige benötigen spezielle TSR-Programme, welche beim Systemstart geladen werden müssen.Auch kommt der Erstellung von portabler Software für Windows zugute, dass Abwärtskompatibilität für diese Software-Plattform eine hohe Priorität hat (stabile Funktionsschnittstellen, Verzeichnisstruktur, etc.), es wird also viel Aufwand betrieben, um eine Ausführbarkeit von binären Programmen über eine breite Palette an Windowsversionen und deren sukzessive Updates zu gewährleisten.{{cite web|url=http://ianmurdock.com/platforms/on-the-importance-of-backward-compatibility/ |author=Ian Murdock |title=On the importance of backward compatibility |date=2007-01-17 |accessdate=2012-01-04 |language=englisch}}
Jedoch ist die empfohlene Verwendung der Konfigurationsdatenbank (Registry) seit Windows 95 anstelle lokaler INI-Dateien ein Hindernis für Portabilität unter Windows.http://support.microsoft.com/kb/256986 Beschreibung der Microsoft Windows-Registrierung (3. Dezember 2007) Speichern Programme Konfigurationsdaten in der zentralen Registrierungsdatenbank, können diese nicht ohne weiteres zwischen verschiedenen Rechnern kopiert werden und oft ist auch nicht dokumentiert, in welchem Teil dieser Datenbank ein Programm seine Einstellungen ablegt. Eine verstreute Speicherung von Programmdaten in mehreren Systemverzeichnissen (Profil, Persönliche Einstellungen, Persönliche Lesezeichen etc.) in Rahmen der Multiuserverwaltung verkompliziert die Portabilität ebenfalls.
Linux Software
Unter Linux werden Anwendungsprogramme typischerweise tief ins Betriebssystem integriert, d.h. mit diesem zusammen kompiliert und ausgeliefert (Linux-Distribution). Diese schwache Differenzierung{{cite web|url=http://benjamin.smedbergs.us/blog/2006-10-04/is-ubuntu-an-operating-system/ |title=Is Ubuntu an Operating System?|quote=Ubuntu isn’t trying to be a platform for mass-market application software: it is trying to be the primary provider of both the operating system and all the application software that a typical user would want to run on his machine. Most Linux distributions are like this, and I think it is a dangerous trend that will stifle innovation and usability, or even worse make the desktop irrelevant. |first=Benjamin |last=Smedberg |language=englisch |date=2006-10-04 |accessdate=2012-01-20}} zwischen Anwendungen und Betriebssystem, und damit nur schwach ausgeprägtes binäres und stabiles Plattformkonzept{{cite web|url=http://blog.linuxgamepublishing.com/2009/08/18/handling-misbehaving-libraries-in-binary-products/|first=Michael|last=Simms|date=2009-08-18|accessdate=2012-01-15||language=englisch|title=Handling misbehaving libraries in binary products|quote=It is a bit of an arcane artform, making a game that runs on all Linux versions. [...] [libraries] will load their own dependencies in a way we cannot control.The biggest problem is that OpenAL and SDL try to dlopen libasound, and on some machines, libasound doesn’t work with our binaries. On others, it can actually crash the whole game due to incompatibilities. This is a common issue when dealing with unknown system configurations when sending out a binary-only product into the world.|publisher=Linux Game Publishing}}{{cite web|archiveurl=http://web.archive.org/web/20081123005829/http://www.upl.cs.wisc.edu/~psilord/blog/3.html|url=http://www.upl.cs.wisc.edu/~psilord/blog/3.html |quote=Don't break APIs and behavior across revisions of dynamic libraries. Yes, this means YOU Linux. This is one of the single greatest causes of portability failures. Just Stop Doing It. |first=Peter |last=Keller |archivedate=2008-11-23 |date=2005-05-24|accessdate=2012-01-12|language=englisch|title=The Road to Hell Is Paved with Good Intentions}}{{cite web |url=http://administratosphere.wordpress.com/2011/07/20/why-doesnt-my-binsh-script-run-under-ubuntu/|first=David |last=Douthitt |publisher=administratosphere.wordpress.com |title=Why doesn’t my /bin/sh script run under Ubuntu?|date=2011-07-20|accessdate=2012-01-10 |language=englisch |quote=In Ubuntu 6.10 [...] the decision was made to replace the Bourne Again Shell (bash) with the Debian Almquist Shell (or dash) as /bin/sh in Ubuntu. There was considerable uproar [...] as using dash instead of the original bash caused numerous scripts to break. [...] If the focus of Ubuntu were to provide a stable and unchanging environment, then their decisions would be different – and would result in an improved customer experience.}}{{cite web|url=http://www.linuxfordevices.com/c/a/News/Linux-Standard-Base-40-certifications-announced/|title=LSB 4.0 certifications aim to heal Linux fragmentation |first=Eric|last=Brown |date=2010-12-08 |accessdate=2011-11-16 |language=englisch |publisher=linuxfordevices.com |quote=[...] LSB helps to reduce fragmentation, it does not eliminate it. "The issue of packaging and broader dependencies is still a big one (for me) at least," writes Kerner. "The same RPM that I get for Fedora won't work on Ubuntu, and Ubuntu DEB packages won't work on SUSE etc etc."[...]}}, erschwert die Erstellung portabler Anwendungen deutlich.
Dazu gehört die im Allgemeinen strikte, systemweite Verwaltung von Anwendungen und Programmbibliotheken per Paketverwaltung die einerseits Portabilität erschweren. Nach einer Analyse des klik-Projekts über die verschiedenen Paketverwaltungsysteme unter Linux, fehlen den am häufigst genutzten Systemen RPM und APT wichtige Fähigkeiten, portable Installationen zu ermöglichen. Zu den fehlenden Eigenschaften gehören die Installierbarkeit ohne Root-Rechte ('Non-root package installation'), die Unmöglichkeit das System oder andere Applikationen zu beschädigen ('Impossible to mess base system', 'Impossible to mess other apps') und die Möglichkeit mehrere Versionen einer Anwendung zu installieren ('Multiple versions coexist').{{cite web |title=Comparison table| url=http://klik.atekon.de/wiki/index.php/Comparison |publisher=klik.atekon.de/ |date=2009-01-29 |accessdate=2010-03-26 |language=englisch|first=Simon|last=Peter}}
Auch das Umplatzieren (Relocation) von Anwendungsprogrammen zwischen verschiedene Verzeichnissen ist in Linux nicht vorgesehen, Pfade werden typischerweise zur Compilezeit in der Anwendung hart-codiert.{{cite web|archiveurl=http://web.archive.org/web/20090125113506/http://autopackage.org/docs/binreloc/|url=http://autopackage.org/docs/binreloc|archivedate=2009-01-25 |accessdate=2012-01-26|first=Mike|last=Hearn |language=englisch|publisher=autopackage.org|quote=However, most applications are not relocatable. The paths where in they search for data files are usually hardd at compile time. On Win32, applications and libraries are easily relocatable because applications and DLLs can use GetModuleFilename() to obtain their full path.|title=Guide to Making Relocatable Applications (BinReloc 2.0)}} Die zum Autopackage gehörende Bibliothek binreloc bietet Funktionalität vergleichbar der Win32-API Funktion GetModuleFilename() wodurch Verzeichnis relokierbare Anwendungen und Bibliotheken möglich werden.
Auch können die Unterschiede der Linux-Distributionen untereinander, also die Variationen in Verzeichnisbaumstruktur und den mitgelieferten Bibliotheken, ein problemfreies, portables ausführen einer binären Programmdatei verhindern. Der Entwicklungsansatz, distributionsübergreifende und portable Anwendungen über ein vollständiges statisches Linken der Bibliotheksabhängigkeiten zu erzeugen, ist technisch schwierig zu realisieren{{cite web|url=http://web.archive.org/web/20100210063024/http://www.baus.net/statically-linking-libstdc++|archiveurl=http://web.archive.org/web/20100210063024/http://www.baus.net/statically-linking-libstdc++|archivedate=2010-02-10|date=2005-05-31 |title=Yet another Unix nightmare: statically linking libstdc++ |first=Christoph |last=Baus|language=englisch| accessdate=2012-01-15}}, kann auch durch Lizenzkonflikte verhindert werden und wird u.a. aufgrund des unterlaufens der Distributorinfrastruktur und -updates nicht gerne in der Linux-Community gesehen.{{cite web|url=http://people.redhat.com/drepper/no_static_linking.html|archiveurl=http://web.archive.org/web/20100527213559/http://people.redhat.com/drepper/no_static_linking.html|archivedate=2010-05-27 |title=Static Linking Considered Harmful|author=Ulrich Drepper|quote=There are still too many people out there who think (or even insist) that static linking has benefits. This has never been the case and never will be the case. [...]|publisher=redhat.com|language=englisch|accessdate=2012-01-13}}
Programmiertechnisch lassen sich auch portablere Programme mit privaten Bibliotheken über einen relativen Bibliothekspfad mit der Linker-Option $ORIGIN erzeugen.{{cite web|url=http://blog.linuxgamepublishing.com/2009/02/08/our-new-way-to-meet-the-lgpl/|title=Our new way to meet the LGPL|date=2009-02-08|accessdate=2011-03-09|first=Eskild |last=Hustvedt |quote=You can use a special keyword $ORIGIN to say ‘relative to the actual location of the executable’. Suddenly we found we could use -rpath $ORIGIN/lib and it worked. The game was loading the correct libraries, and so was stable and portable, but was also now completely in the spirit of the LGPL as well as the letter! |language=englisch}} Vorteile dieses Ansatzes sind, dass keine Benutzeranpassungen der Bibliothekspfade oder andere Skripte nötig sind (im Gegensatz zu LD_LIBRARY_PATH Ansätzen) und gleichzeitig die meisten Nachteile des statischen Linkens zu vermeiden.
Es existieren einige Ansätze für Installationssysteme die portablere und distributionsunabhängige Applikationen erlauben, wie Autopackage, RUNZ, PortableLinuxApps (Klik-Nachfolger), Zero Install und CDE{{cite web|url=http://linux.slashdot.org/story/10/11/13/0029203/cde-making-linux-portability-easy|title=CDE — Making Linux Portability Easy|date=2010-11-12|author=timothy|quote=A Stanford researcher, Philip Guo, has developed a tool called CDE to automatically package up a Linux program and all its dependencies (including system-level libraries, fonts, etc!) so that it can be run out of the box on another Linux machine without a lot of complicated work setting up libraries and program versions or dealing with dependency version hell. |publisher=Slashdot |accessdate=2012-01-21|language=englisch}}. Jedoch folgt jedes dieser Systeme einem anderen Ansatz und deckt damit einen anderen Teilaspekt der Portabilität ab{{cite web |title=Zero Install: Comparison with other systems |url=http://0install.net/matrix.html |publisher=0install.net/ |date=2010-01-01 |accessdate=2010-03-26 |language=englisch |first=Thomas |last=Leonard}}. Ausserdem haben diese Lösungen bis jetzt nur eine begrenzte Verbreitung und Unterstützung in der Linux-Community finden können, u.a. wegen verbreiteter Bedenken gegen Nicht-Paketmanagement basierte Lösungen.{{cite web|url=http://www.gaslampgames.com/blog/2010/11/13/dear-linux-community-we-need-to-talk/|publisher=Gaslamp Games|title=Dear Linux Community: We Need To Talk. |date=2010-10-13 |first=Nicholas|last=Vining |language=englisch |accessdate=2011-01-30|quote=The Linux community, in their infinite wisdom, proceeds to flame the hell out of CDE. [...] “We should all just be using package management.” Here is what I want to say, and let my words be carried down from the mountaintops, written on tiny stone tablets: Package management is not a universal panacea.}}{{cite web|archiveurl=http://web.archive.org/web/20080331092730/http://www.linux.com/articles/60124 |url=http://www.linux.com/articles/60124|title=Autopackage struggling to gain acceptance |first=Bruce |last=Byfield|date=2007-02-12 |accessdate=2012-01-21|publisher=linux.com |archivedate=2008-03-31|language=englisch|quote=If Hearn is correct, the real lesson of Autopackage is not how to improve software installation, but the difficulty -- perhaps the impossibility -- of large-scale changes in Linux architecture this late in its history. It's a sobering, disappointing conclusion to a project that once seemed so promising.}}{{cite web|url=http://www.licquia.org/archives/2005/03/27/autopackage-considered-harmful/|title=Autopackage Considered Harmful|first=Jeff |last=Licquia|date=2005-03-27 |publisher=icquia.org|accessdate=2012-10-21}}
Portable Betriebssysteminstallationen
Auch wenn die Erzeugung portabler und distributionsübergreifender Programme eine Herausforderung unter Linux ist{{cite web|archiveurl=http://web.archive.org/web/20071013034536/http://www.gamedev.net/reference/programming/features/linuxprogramming2/page2.asp|url=http://www.gamedev.net/reference/programming/features/linuxprogramming2/page2.asp |title=Linux Game Development Part 2 - Distributable Binaries|first=Troy |last=Hepfner |date=2007-10-01 |accessdate=2011-12-19 |archivedate=2007-10-13 |language=englisch|quote=Creating an executable that works on almost all Linux distributions is a challenge. There are a number of factors that contribute to the problem [...]|publisher=gamedev.net}}{{cite web|url=http://portablelinuxapps.org/docs/1.0/AppImageKit.pdf |format=pdf |publisher=PortableLinuxApps.org |language=englisch |first=Simon| last=Peter |date=2010 |accessdate=2011-07-29 |title=AppImageKit Documentation 1.0 |pages=2-3|quote=Not easy to move an app from one machine to another: If you've used an app on one machine and decide that you would like to use the same app either under a different base operating system (say, you want to use OpenOffice on Fedora after having used it on Ubuntu) or if you would simply take the app from one machine to another (say from the desktop computer to the netbook), you have to download and install the app again (if you did not keep around the installation files and if the two operating systems don't share the exact same package format - both of which is rather unlikely).}}{{cite web|url=http://www.evanjones.ca/portable-linux-binaries.html|title=Portable Linux Binaries |date=2008-02-13 |accessdate=2012-01-10|language=englisch |first=Evan |last=Jones|quote=Linux is not well known for its binary portability. Libraries vary from system to system, and the kernel interfaces have a tendency to change. [...] Recently, I needed to build a binary on one system, and run it on another. It only used standard C library functions, so I expected it to be easy. It was not. [...]}}, existieren für portable, Linux basierende Betriebssysteminstallationen viele Lösungen. Zahlreiche Linux-Derivate bieten sogenannte LiveCDs, wie z.B. Knoppix, die die Verwendung von einem Wechseldatenträger erlauben, ohne Spuren auf dem Rechner zu hinterlassen. Windows muss dagegen entsprechend dem EULA immer auf einer (festinstallierten) Festplatte installiert sein, und kann deshalb offiziell laut Microsoft nicht portabel verwendet werden. Microsoft Windows PE lässt sich jedoch auf Wechselmedien installieren, ausserdem existieren auch Lösungen von Dritt-Anbietern, wie Bart’s Preinstalled Environment.[http://pcwelt-wiki.de/wiki/Bart_PE_PCW_Edition_2 Bart PE] - Artikel auf pcwelt.de
Siehe auch
Weblinks
* [http://portableapps.com/ PortableApps.com], Portable Applikationen für Windows
* [http://portablelinuxapps.org PortableLinuxApps.org], Portable Applikationen für Linux
* [http://www.portablefreeware.com/ PortableFreeware.com], Portable Applikationen für Windows
Einzelnachweise
{{cite web
| url=http://www.fortran-2000.com/ArnaudRecipes/sharedlib.html
| title=Using static and shared libraries across platforms; Row 9: Library Path
| date=2007-06-15
| archiveurl=http://web.archive.org/web/20080601183608/http://www.fortran-2000.com/ArnaudRecipes/sharedlib.html
| archivedate=2008-06-01
| last=Desitter
| first=Arnaud
| publisher=ArnaudRecipes
| accessdate=2010-07-07
| language = englisch
|quote=Win32: . and then PATH}}
{{cite web
| last = Mobily
| first = Tony
| title = 2009: software installation in GNU/Linux still broken and a path to fixing it
| publisher = www.freesoftwaremagazine.com
| date = 2009-06-23
| url = http://www.freesoftwaremagazine.com/columns/2009_software_installation_linux_broken_and_path_fixing_it
| accessdate = 2010-03-23
| language = englisch
| quote=Every GNU/Linux distribution at the moment (including Ubuntu) confuses system software with end user software, whereas they are two very different beasts which should be treated very, very differently.
}}
cs:Přenosný program
Portable application
eo:Portebla programaro
es:Aplicación portátil
Application portable
id:Aplikasi portabel
it:Applicazione portatile
ja:ポータブルアプリケーション
ko:휴대용 소프트웨어
no:Portabel programvare
pl:Aplikacja przenośna
pt:Aplicativo portátil
ru:Переносимое приложение
simple:Portable application
sk:Prenosný program
tr:Taşınabilir yazılımlar listesi
uk:Переносна програма
vi:Phần mềm xách tay
zh:綠色軟體
Text und Bilder dieses Beitrags stammen aus dem Artikel Portable Software der freien Enzyklopädie Wikipedia und stehen unter der GNU Free Documentation License. Die Liste der Autoren ist in der Wikipedia unter dieser Seite verfügbar, der Original-Artikel lässt sich hier bearbeiten.