RXTX in proprietärer Software nutzen?!

  • Themenstarter Themenstarter Gast2
  • Beginndatum Beginndatum
G

Gast2

Gast
Hallo an alle.

Ich muss zugeben, dass ich verwirrt bin bei der Frage: Darf ich RXTX in einer proprietären Anwendung verwenden oder nicht?

In der Lizenz von RXTX steht:

| An executable that contains no derivative of any portion of RXTX, but
| is designed to work with RXTX by being dynamically linked with it,
| is considered a "work that uses the Library" subject to the terms and
| conditions of the GNU Lesser General Public License.

1) Ich verändere RXTX nicht!
2) Ich nutze RXTX und natürlich auch die Datenstrukturen welche ich dafür benötige (Sprich ich brauche package imports)!

Zu 2) kurz ein bisschen Beispiel Quellcode (Nur die Imports und die Klassen Deklaration. Ich verwende RXTX Bestandteile ausschließlich in dieser Klasse!

Java:
import gnu.io.CommPort;
import gnu.io.CommPortIdentifier;
import gnu.io.NoSuchPortException;
import gnu.io.PortInUseException;
import gnu.io.SerialPort;
import gnu.io.SerialPortEvent;
import gnu.io.SerialPortEventListener;
import gnu.io.UnsupportedCommOperationException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.TooManyListenersException;
import java.util.logging.Level;
import java.util.logging.Logger;

public class CommInterfaceSerial extends CommInterface implements
        SerialPortEventListener {

...

}

Die Frage: Gilt das jetzt als "dynamically linked" oder nicht?

Der Unterschied ist gravierend. Erfüllt meine Software das Kriterium gilt es als "work that uses the Library" und kann als solches lizensiert werden wie ich will. Oder eben nur unter LGPL oder GPL.

Ich hoffe jemand kann mir helfen.

PS: Bitte keine Spekulationen sondern nur fundierte Antworten. Ich bin nicht so extrem vertraut mit der Materie LGPL daher brauche ich da dringend Hilfe.
 
Zuletzt bearbeitet von einem Moderator:
So weit ich weiß ist das erlaubt. DLL ist dynamisch linken, was bedeutet wenn du die rxtx.jar in deinem Programm mitlieferst ist das okay. DU musst nur Änderungen an der Library selbst wieder veröffentlichen.

Du musst aber so weit ich wieß, eben angeben das du sie benutzt und dem Kunden auch eine Kopie der LPGL mitliefern.

Den Source Code von rxtx musst du auch anbieten, auf deiner Homepage oder so, da es natürlich sein kann, dass rxtx eingestellt wird und nicht mehr abgeboten wird.

Des weiteren muss der Kunde die möglichkeit haben, deine Anwendung auch mit einer anderen Version der Library zu nutzen.

Am besten liest du die LGPL mal und machst dich schlau, diese Fragen werden so oft gestellt.

In einem Forum kann dir auch niemand rechtlich 100% SIcherheit gewähren, wir sind alle keine Juristen. Wenn du wirklich sicher gehen möchtest, mach einen Termin bei einem Anwalt, dem du dein komplettes anliegen schildert.
 
So weit ich weiß ist das erlaubt. DLL ist dynamisch linken, was bedeutet wenn du die rxtx.jar in deinem Programm mitlieferst ist das okay. DU musst nur Änderungen an der Library selbst wieder veröffentlichen.

Du musst aber so weit ich wieß, eben angeben das du sie benutzt und dem Kunden auch eine Kopie der LPGL mitliefern.

Den Source Code von rxtx musst du auch anbieten, auf deiner Homepage oder so, da es natürlich sein kann, dass rxtx eingestellt wird und nicht mehr abgeboten wird.

Des weiteren muss der Kunde die möglichkeit haben, deine Anwendung auch mit einer anderen Version der Library zu nutzen.

Am besten liest du die LGPL mal und machst dich schlau, diese Fragen werden so oft gestellt.

In einem Forum kann dir auch niemand rechtlich 100% SIcherheit gewähren, wir sind alle keine Juristen. Wenn du wirklich sicher gehen möchtest, mach einen Termin bei einem Anwalt, dem du dein komplettes anliegen schildert.

Vielen Dank für keine Antwort. Habe extra auf die Imports hingewiesen und möchte gerne Wissen ob das schon reicht um als Derivative Work zu gelten.

Nochmals die Bitte: Antwortet nur wenn ihr es wisst. (Zum Beispiel weil ihr das selber schon mal recherchiert habt und so verwendet)

EDIT: In den FAQ von RXTX steht wörtlich: RXTX is license under the LGPL with an exception for linking over controlled interfaces, a copy of which can be found in the 'License' page. The exception allows people to use RXTX as a service plugin with Sun's CommAPI: 'A Controlled Interface.'

Wie genau benutze ich RXTX denn als Service Plugin with Suns CommAPI?
 
Zuletzt bearbeitet von einem Moderator:
Es git ab und zu Fragen zu diesem Thema, und was die Antworten anbelangt bin ich mjdv seiner Meinung. Die Antworten lauten hier immer "ich kanns dir nicht so genau sagen, frag einen Jurist.". Wir sind halt "nur" (oder zumindest die meisten von uns) Entwickler 😉
 
Es git ab und zu Fragen zu diesem Thema, und was die Antworten anbelangt bin ich mjdv seiner Meinung. Die Antworten lauten hier immer "ich kanns dir nicht so genau sagen, frag einen Jurist.". Wir sind halt "nur" (oder zumindest die meisten von uns) Entwickler 😉

Ich versuchs nochmal zu erklären: Ich möchte von niemandem hier eine rechtlich verbindliche Aussage.

Da ich aber neu bin im Thema Java wollte ich nach Erfahrungen fragen (Wer hat RXTX schon mal im professionellen Umfeld eingesetzt?)

Ich bin mir ja auch in allen Punkten bis auf den mit den Imports absolut sicher.

Da ich aber eigentlich C++ 'ler bin kann ich mit dem Begriff dynamically linked unter Java nichts anfangen. Ich habe zwar nur gegen die Javacomm API programmiert, jedoch musste ich ja die Imports einfügen (gnu.io).

Die Frage daher: Gilt die RXTX bibliothek noch als Dynamically linked.


Wenn irgendwer das weiss oder selber schon mal recherchieren musste oder jemanden kennt mag doch bitte posten.

Und wer sich am RXTX stört denke sich IRGENDEINEN anderen Namen. Wollte das Kind nur halt beim Namen nennen um eventuelle Mitnutzer auch zu erreichen.

PS: Alternativ: Weiss jemand was konkret "Linked over Controlled Interface" unter Java bedeutet?

PPS: Gibt es eine Möglichkeit die imports (Respektive die voll qualifizierten Klassen) erst zur Laufzeit zu bestimmen? Da ich ja nur die JavaComm API nutze ist alles was in meinem Programm noch konkret auf die RXTX Bibliothek referenziert die Import Statements.
 
Zuletzt bearbeitet von einem Moderator:
Da ich aber eigentlich C++ 'ler bin kann ich mit dem Begriff dynamically linked unter Java nichts anfangen. Ich habe zwar nur gegen die Javacomm API programmiert, jedoch musste ich ja die Imports einfügen (gnu.io).

Irgendwie scheint das jedes Mal ein Problem zu sein 😀 Kannst gerne im Forum nach den anderen Threads suchen, da gehts nach einer Weile auch immer um dieses dynamische Linken... Jaja, ist schon gut, bin schon ruhig 😉
 
Irgendwie scheint das jedes Mal ein Problem zu sein 😀 Kannst gerne im Forum nach den anderen Threads suchen, da gehts nach einer Weile auch immer um dieses dynamische Linken... Jaja, ist schon gut, bin schon ruhig 😉

Ich hab ja gesucht aber nichts konkretes gefunden. Wärst du so nett mir die Threads zu posten? Vielleicht hab ich einfach auch nur falsch gesucht.:bahnhof:
 
Schreib doch einfach den Machern von RXTX ne Mail wo du erklärst wie du die Lib verwendest und ob das so ok ist? Selbst wenn es nicht 100% mit der offiziellen Lizenz übereinstimmt können sie dir ja die Erlaubnis erteilen unter einer angepassten Lizenz.
 
Schreib doch einfach den Machern von RXTX ne Mail wo du erklärst wie du die Lib verwendest und ob das so ok ist? Selbst wenn es nicht 100% mit der offiziellen Lizenz übereinstimmt können sie dir ja die Erlaubnis erteilen unter einer angepassten Lizenz.

Werde ich parallel mal tun. Finde die Aussage der Exception mit dem Linked over Controlled Interface halt seltsam, da mir niemand erklären kann was das denn bedeutet.
 
Habe inzwischen eine Antwort vom RXTX Team:

Eine rechtsverbindliche Aussage können sie nicht machen (Dazu müsste man jeden jemals betroffenen Entwickler befragen was nicht geht) aber folgende Aussage kam zurück:

...

There is no intent to control any aspect of your application. Users should be informed it uses rxtx and they should be let know it is under that license so they know they can ask for the rxtx source. Someplace on the website, on a cd, ...

I use rxtx at work in a commercial application in the same way.

...

Eine verlässlichere Aussage wird man wohl nicht finden. Im Notfall kann man (Nachzulesen in dem Artikel LGPL and Java) Reverse Engineering erlauben.

NUr als Nachtrag für die Suchfunktion.
 

Zurück
Oben