Welche Open-Source-Lizenzen sind mit dem Apple iPhone und seinem offiziellen App Store kompatibel?
Schreibe ich eine iPhone-app, und ich möchte verwenden eine 3rd-party-Bibliothek einen Teil seiner Funktionalität. Ich beabsichtige, auf den Verkauf über den App Store, und mein code wird nicht open Source. Die open-source-Lizenzen ermöglichen das ableiten funktioniert, und veröffentlichen Sie Sie unter den apple-eigenen Bedingungen ?
InformationsquelleAutor der Frage Corey | 2009-01-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kurz/TL;DR:
LGPL und application stores haben ein paar Inkompatibilitäten, die bedeutet, dass Sie nicht die Rechte zu verteilen LGPL-code auf DRM-fähigen AppStores oder gesperrten Geräten.
Ist es am besten, wenn man sich für alternative Implementierungen der Bibliothek unter anderen lacrosser Lizenzen wie die Apache-2-Lizenz, die Microsoft-Public-Lizenz oder der MIT-X11-Lizenz.
Mehr:
Die LGPL besagt:
Die Rechte für die statische Verknüpfung LGPL-code mit proprietärem code stammt von Abschnitt 6 der LGPL. Zusätzlich zu den rechten gewährt, die Abschnitt befasst sich mit den Anforderungen an Ihr Teil ist auf nachgeordnete Empfänger des Codes.
Sollten Sie diesen Abschnitt Lesen, im detail.
Konflikte zwischen Pay-for-Entwicklung und die LGPL
Anwendung Speichert, die erfordern, dass Benutzer zu zahlen, um das Programm eingeben und erhalten-key-Zertifikate, provisioning-Profilen und tools bereitstellen, um das Gerät in direkten Widerspruch mit der LGPL.
Die LGPL erfordert, dass der Benutzer ist in der Lage zu Holen Ihre Objekt-Dateien sowie die open-source-Bibliothek (plus tools, siehe Abschnitt unten), und produzieren code, der funktioniert. Es gibt keinen Raum für die mit dem downstream-Empfänger geben Sie eine separate Vereinbarung mit Apple, Microsoft, Amazon oder Google in der Lage sein, um die Bereitstellung einer funktionierenden version des Codes auf seiner eigenen hardware.
Insbesondere dieser Abschnitt ist für Sie relevant:
Brauchen Sie nicht, um den Benutzern die Rechte zum veröffentlichen Ihrer Anwendung auf einen AppStore, aber Sie brauchen, um den Benutzern die Rechte zum bereitstellen der app, mit der modifizierten version des LGPL-Codes auf Ihren eigenen Geräten, so dass alle Entwickler, die ein Programm oder ein Gerät, die erfordert, dass zusätzliche Zahlungen für die Bereitstellung ist in Konflikt mit der LGPL.
Verteilung von Objekt-Dateien
Müssen Sie sicherstellen, dass die Bedingungen die resultierende ausführbare Datei dem Empfänger zu erlauben, änderungen an der LGPL-code und produzieren eine neue Arbeits-bit-code aus. In der Praxis bedeutet dies, dass Sie brauchen, um zu verteilen die Objekt-Dateien von Ihrem Programm, so dass ein Dritter verknüpfen Sie Ihre Anwendung mit einer modifizierten version der Bibliothek, mögliche Fehler zu beheben, verbessern Sie es in irgendeiner Weise, oder Ihre eigenen Funktionen.
Bekommen konnte, Weg mit diesem durch die Veröffentlichung der Objekt-Dateien in Ihre Website und die Bereitstellung eines Projekts, so dass Dritte Parteien können, verknüpfen die Anwendung. Tut man das nicht, erlischt Ihre Lizenz zur LGPL.
Rechte für Reverse Engineering
Dies ist eine weitere Anforderung aus Abschnitt 6.
Könnte dies in direktem Konflikt mit dem Bezug auf die verschiedenen App stores, aber Sie müssen überprüfen Sie die genauen Bestimmungen bei der Anwendung zu speichern, die Sie verwenden (Apple, Amazon, Android oder andere Dritte).
Ankündigung und Werbung
Als Teil der Anforderungen für die LGPL-code, die Anwendung ausgeliefert wird, muss der nachgeschaltete Anwender Schiff mit der LGPL-Lizenz und diese Lizenz auf jedem beliebigen stellen der Anwendung, die anzeigen, copyright-Hinweise. Einige App stores veröffentlichen diese im application store-Website, während andere vielleicht die copyright-Informationen auf die ausführbare Datei selbst.
Verteilung der Modifizierten LGPL-code
Dies ist sehr einfach zu befolgen, die Sie gerade brauchen, verteilen Sie die Kopie der LGPL-code auf Ihrer Website (es gibt einige zusätzliche details über diese auf die Lizenz über die Länge der Zeit, die Sie brauchen, um den code zur Verfügung).
Anforderungen, die Sie nicht erfüllen können
Eines der größten Probleme bei der LGPL und der Verwendung von statischen Bibliotheken in Anwendungen, die verteilt sind über App stores ist die Voraussetzung, dass Sie die Verteilung der tools und Skripte, die notwendig sind für eine end-Benutzer die Neuerstellung der software.
Für einige embedded-system-Szenarien, Sie würden voraussetzen, dass die embedded-system-Hersteller, um offenzulegen, die seine Entwickler-tools und APIs, um alle Endbenutzer und ist dies eventuell nicht möglich. Es ist nicht klar, ob so etwas wie das iPhone oder Windows-SDKs werden kann, frei verteilt zu werden, erfüllen die Verpflichtungen, die in diesem Fall möchten Sie vielleicht, um zu diskutieren, sich mit Ihren Anwälten, und finden Sie heraus, wie gut Sie sind mit der Exposition der Anforderungen.
, Was Sie tun können
Wenn du unbedingt nutzen einige LGPL-code in einen appstore oder ein embedded system, können Sie immer erreichen, um die ursprünglichen Autoren des Codes, und Sie bitten, gewähren Ihnen eine Lizenz, um den code unter verschiedenen Bedingungen.
Alternativ können Sie sich für alternative Implementierungen der Bibliothek unter anderen lacrosser Lizenzen wie die Apache-2-Lizenz, die Microsoft-Public-Lizenz oder der MIT-X11-Lizenz.
InformationsquelleAutor der Antwort miguel.de.icaza
Bezüglich der LGPL-Lizenz, ich glaube, dass St3fan ist falsch, aber Louis Gerbarg ist richtig: es ist möglich, mit LGPL-Bibliotheken in closed-source-apps auf dem iPhone, aber mit Einschränkungen.
Wenn man einen Blick auf http://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License, Lesen Sie "Alternativ eine statisch gelinkte Bibliothek ist zulässig, wenn entweder der Quellcode oder linkbare Objekt-Dateien werden zur Verfügung gestellt."
So, als Louis Gerbarg erwähnt, wenn Sie eine LGPL-Bibliothek, Sie sind erlaubt zu halten Ihre Anwendung bei closed-source so lange, wie Sie frei verfügbar das Objekt (z.B. *.a) Dateien, die nötig sind, für Ihre Kunden, nehmen Sie Ihre Anwendung und link.
Gehe ich in die Tiefe in das Thema iPhone-und LGPL-Kompatibilität hier.
Detaillierte Anforderungen an Ihre app, die durch die LGPL-Lizenz von der Bibliothek:
d) führen Sie einen der folgenden Schritte aus:
0) Vermitteln die Minimale Korrespondierenden Quelltext unter den Bedingungen dieser Lizenz und den Korrespondierenden Anwendungs-Code in einer form, die geeignet für, und unter Bedingungen, die erlauben, den Benutzer zu rekombinieren oder verknüpfen die Anwendung mit einer modifizierten version der Gelinkten Version zu produzieren, die eine modifizierte Kombinierte Arbeit, in der angegebenen Weise in § 6 der GNU GPL für die Vermittlung der Entsprechenden Quelle.
InformationsquelleAutor der Antwort huyz
Ich glaube nicht, dass LGPL funktioniert für iPhone-Anwendungen.
Das problem ist, dass die iPhone-Laufzeit nicht zulassen, Sie zu bündeln und gemeinsam genutzte Bibliotheken (oder Rahmen) mit Ihrer Anwendung. Nur single-binary-Anwendungen sind erlaubt. Die LGPL basiert auf der Annahme, dass Sie Ihrem Bündel eine shared-library, die mit einer Anwendung. Die direkte Verlinkung ist immer noch verboten.
InformationsquelleAutor der Antwort Stefan Arentz
Den Apple App Store ist nicht kompatibel mit der FSF copyleft-Idee, die ist in allen Versionen von GPL-und LGPL-Lizenz, und auch der Affero GPL. Der Apple App Store nicht, damit der Benutzer Freier Software, ändern Sie es, dann führen Sie es auf Ihre eigenen Geräte frei. Sie verlangen, dass Sie verwenden DRM, zahlen $100 pro Jahr zu vereinbaren, um Ihre weitere Begriffe, etc. Es ist eine ziemlich gute schreiben dieses hier: http://michelf.com/weblog/2011/gpl-ios-app-store/
Es ist völlig legal zu verteilen GPL/LGPL-software für iOS, die außerhalb des App Store, das problem liegt bei den Apple-App-Store. Also ich empfehle lobbying Apple ändern Ihre Einschränkungen. Mac OS X und iOS auch grundsätzlich verlassen sich auf die GPL/LGPL-software (z.B. gcc und viele mehr), so ist Apple, genießen die Freiheit noch ist es zu leugnen, seinen Benutzern die gleiche Freiheit.
Wie für Lizenzen, die der App Store ist kompatibel mit, müssen Sie gehen mit der sehr freizügige Lizenzen wie BSD, MIT, Apache, oder public domain.
InformationsquelleAutor der Antwort Hans-Christoph Steiner
Dies ist keine Rechtsberatung, ich bin kein Jurist, aber es klingt wie Sie brauchen eine Bibliothek mit einer BSD-oder Apache-Lizenz. Dies wäre der Fall, wenn Sie die Entwicklung einer proprietären desktop-Programm verwendet eine open-source-Bibliothek. Ich weiß nicht, ob Apple hat keine weiteren Einschränkungen für iPhone-apps.
InformationsquelleAutor der Antwort Ryan Ahearn
(Ich bin kein Jurist.)
Statische Objekt-Datei verknüpfen kann der Frage nachgegangen werden, wie für eine app nutzt LGPL-lizenzierten code zur Verfügung gestellt werden, ohne die Verteilung der nicht-LGPL würde Teile des Quellcodes.
Aber wie es scheint, LGPL, als eine Variante der GPL, welche eine größere unüberwindliches problem für die iPhone app Entwicklung, dass die Entwicklung der Werkzeuge zum erstellen und verteilen von jedem iPhone app sind nur verfügbar, unter Bedingungen von Apple, die sind nicht kompatibel mit der GPL. dh. Es ist ein $100/Jahr Gebühr, und es gibt zahlreiche Begriffe und Bedingungen für die Verwendung dieser tools, sind nicht Teil der GPL-Lizenz. Die Bestimmungen der Lizenz für das iPhone von Apple developer tools zu sein scheinen unvereinbar mit dem Geist und vielleicht auch das schreiben von GPL.
InformationsquelleAutor der Antwort Richard Lawler
Wenn Sie nicht die Freigabe der source-code, können Sie keine strenge copyleft-Lizenz. Sie können nicht alle GPLv3-basierte Lizenz in jedem Fall, da die Verteilung des iPhone Konflikte mit der nicht-Tivoisierung-Klausel.
Wenn Sie LGPLv2, die Sie haben zu bieten, Ihr Programm in linkable format, die kann oder kann nicht akzeptabel sein (zumindest ist es nicht die source-code), und dies ist wahrscheinlich etwas, das Sie nicht wollen, zu beschäftigen, es sei denn, die Bibliothek bietet eine Menge Vorteile.
Wenn es eine copyright-Inhaber auf die Bibliothek haben, können Sie immer sehen, wenn Sie eine Lizenz Ausnahme.
Hast du keine problem mit der typische BSD - /MIT - /Schub/was auch immer permissive Lizenzen. Es gibt eine Menge von Open Source/Free Software Lizenzen, die es gibt und für den rest haben Sie, Sie zu Lesen und zu sehen.
InformationsquelleAutor der Antwort David Thornley
Wenn ich versuche,port Fuego auf das iPhone, fragte ich eine ähnliche Frage auf der fuego-mailing-Liste. So weit, mein Verständnis ist "LGPL ist nicht kompatibel mit AppStore". Eine Vorherige Frage erhält auch eine Antwort wie: Nein.
InformationsquelleAutor der Antwort ohho
Ein gutes Beispiel ist Wunderradio. Verwenden Sie ffmpeg und andere LGPLv2 lizenziert frameworks und bieten die .o-Dateien auf Ihrer website.
Seltsam, Sie bieten auch eine vollständige source-code für Ihre app.
http://wunderradio.com/code.html
InformationsquelleAutor der Antwort steipete
Den Leuten, die behaupten, dass die App-Store-Nutzungsbedingungen sind problematisch, insbesondere die $100-jährlichen Apple Dev Programm Gebühr, sind falsch. 100-Dollar-ist nicht sogar nah an ein showstopper. Es ist typisch für die Entwickler, dass Sie verbringen so viel Zeit sich Gedanken über diese Art von Sachen ;0) Juristen gewesen sein stick-handling rund um die Vertragsbestimmungen für Tausende von Jahren, und diese sind kaum der Rede Wert verlieren Schlaf über.
Voraussetzung:
Das Objekt-Dateien und ein basic-Projekt-Datei von einem web-Lage, erreichbar über einen link in der app.
Option 1, für cowboys:
Jailbreak offiziell legal (und kostenlos). Das allein schließt jegliche Bedenken über die Kompatibilität zwischen GPL und App Store Bedingungen. Wo kommt die LGPL-geben Sie einen besonderen Vertriebsweg? Nirgends. Sie möchten ein upgrade einer statisch gelinkten Bibliothek in einer app, die Sie heruntergeladen über den app store? Suck it up, alpha-dev und jailbreak Ihr Telefon! Nur weil Apple ein Tyrann auf dem Spielplatz nicht zwingen, Sie bleiben auf Ihre merry-go-round. Unternehmungslustige können Entwickler erhalten damit wertvolle Prahlerei Rechte bei der nächsten meetup. Plus die Tatsache, dass Sie jailbroke Ihr Telefon, um ein upgrade einer LGPL-Bibliothek erhalten Sie Zugriff auf die keg-Raum in Richard Stallmans Keller!
Option 2 für die Fortbewegung ist es legal und in gutem glauben:
Abschnitt 1 der GPL v2.1 (und § 4 der GPL v3) können Entwickler eine Gebühr für den physischen Akt des Kopierens der Bibliothek. Dies stellt einen Mechanismus für die Entwickler, re-zuweisen, dass die Gebühr in Richtung der $99 Apple Dev Abo-Gebühr.
Was über die 100-Gerät zu begrenzen? End-Benutzer, die möchten, aktualisieren Sie Ihre binären Upgrade eine kommerzielle Anwendung, so dass die app-Entwickler für die eigenen Lizenzbedingungen ins Spiel kommen. Es ist ganz einfach, fügen Sie eine 100-Gerät-limit um einen benutzerdefinierten LIZENZVERTRAG. Wie viele Menschen besitzen mehr als 100 iOS-Geräte? Sogar Arbeitsplätze nicht selbst, dass viele! Es ist kaum eine unzumutbare Begrenzung. Da gibt es keine Vorschrift, dass eine end-Benutzer freigeben dürfen eigene modifizierte version des original-kommerzielle app in den wilden, gibt es keine Grundlage für Beschwerden, wenn es nicht geladen wird auf dem Gerät des Modifizierers 101st Freund.
Es gibt keine Vorschrift in der LGPL, das der Benutzer eine bequeme, risikolose, oder sogar offensichtliche Wahl. Sie haben nur eine Wahl haben, und es gibt 2 vollkommen guten.
InformationsquelleAutor der Antwort Tuique