Nochmals Java-Lizenz

Status
Nicht offen für weitere Antworten.

Alex_winf01

Top Contributor
Hallo Forengemeinde,

folgende Frage:

Ich muss für meinen Betrieb ein kommerzielles Softwareprogramm schreiben, welches wir an unsere Kunden verkaufen. Ich habe jetzt schon viel unter google geschaut und nix richtig handfestes gefunden.

1) Darf ich eine Software mit Java entwickeln und anschließend kommerziell verkaufen? Der Kunde soll dabei nur das jar-File mit dem Programm bekommen.
2) Den Sourcecode mitzuliefern wäre bei einer kommerziellen Verkauf etwas "hinderlich". Aber wenn ich die GPL richtig verstehe, muss ich den Quellcode mitliefern. Oder muss ich den nur auf Anfrage ausliefern?
 

Alex_winf01

Top Contributor
Welche Bibliotheken stehen denn unter GPL?

Das wird ein ganz normales Java-Programm mit GUI (also Swing usw.) mit Datenhaltung (mit einer Datenbank). Welche Datenbank kann man denn empfehlen, um diese lizenzrechtlich kostenlos verwenden zu dürfen? MySQL fällt da weg - wegen dem JDBC-Treiber. Ich würde ansonsten HSQLDB nehmen, aber das Programm muss auch bei einer hohen Anzahl an Datensätzen noch funktionieren.
 

The_S

Top Contributor
Welche Libs unter GPL stehen entnimmst du der Seite wo du sie runtergeladen hast, oder dem Lizenz-File, das dabei liegt.

Und HSQLDB bekommt Probleme mit vielen Daten? Seit wann das denn?
 

The_S

Top Contributor
Du hast da was an der Backe ... schaut nach Schminke vom Clown aus, den du heute gefrühstückt hast ...
 

Wildcard

Top Contributor
Alex_winf01 hat gesagt.:
Der Kunde soll dabei nur das jar-File mit dem Programm bekommen.
...
Ich würde ansonsten HSQLDB nehmen, aber das Programm muss auch bei einer hohen Anzahl an Datensätzen noch funktionieren.
Wenn ich die HSQL DB Lizenz richtig verstehe, musst du zumindest deren Lizenz beilegen. Das war's dann aber auch.
 

Alex_winf01

Top Contributor
Ich habe dazu noch folgende Frage:

Das Java-Programm soll folgende Sachen "können":


  • - Mehrbenutzerfähigkeit (es sollen auch also mehrere Anwender gleichzeitig auf das Programm zugreifen können)
    - Datenhaltung über eine kostenlose Datenbank (keine kostenpflichtige Lizenzen)
    - Daten müssen verschlüsselt werden können
    - Datensätze suchen
    - Export/Import

Meine Fragen:

1.) Wie kann ich die Mehrbenutzerfähigkeit gewährleisten (auch im Hinblick Datenbank, da der gerade bearbeitete Datensatz gesperrt werden muss)?
2.) Welche Datenbank könnt ihr empfehlen? Also mit den Kriterien: Keine Lizenzgebühren, muss viel Datensätze abkönnen (> 2 Millionen), Mehrbenutzer (z. B. Sperrung von Datensätzen)
3.) Wie kann ich die Daten verschlüsseln (z. B. für den Export)?
 

Wildcard

Top Contributor
1.) Wie kann ich die Mehrbenutzerfähigkeit gewährleisten (auch im Hinblick Datenbank, da der gerade bearbeitete Datensatz gesperrt werden muss)?
Das ist Sache der DB
2.) Welche Datenbank könnt ihr empfehlen? Also mit den Kriterien: Keine Lizenzgebühren, muss viel Datensätze abkönnen (> 2 Millionen), Mehrbenutzer (z. B. Sperrung von Datensätzen)
HSQL, JavaDB, H2, Apache Derby,...
3.) Wie kann ich die Daten verschlüsseln (z. B. für den Export)?
Java Security Extension zB.
 

Wildcard

Top Contributor
Ich glaube du missverstehst das.
HSQL hat mehrere Modes.
Non-persistent -> nichts wird gespeichert
standalone -> läuft in der Client VM -> nur ein User
server -> DB läuft in einem eigenen Prozess auf einem Server
web -> keine Transaktionen

Bei dir wäre es die Server Variante. Ein ganz anderes Szenario als besagter Thread.
 
G

Guest

Gast
2.) Welche Datenbank könnt ihr empfehlen? Also mit den Kriterien: Keine Lizenzgebühren, muss viel Datensätze abkönnen (> 2 Millionen), Mehrbenutzer (z. B. Sperrung von Datensätzen)
HSQL, JavaDB, H2, Apache Derby,...

postgresql ist auch sehr zu empfehlen. Steht unter BSD Lizenz und man kann damit machen was man will.
 

Alex_winf01

Top Contributor
Mm, da muss ich mit dem Kollegen noch mal reden. Er wollte die Anwendung so haben, dass man auf der einen Seite als Standalone genutzt werden kann UND als Mehrbenutzer. Er wollte ungerne eine Server-Lösung. Ich bin der Meinung, wenn er eine Mehrbenutzer-Lösung haben möchte, geht es um eine Server-Installation nicht drum rum.

@ wildcard

Wie sieht das denn dann praktisch mit der Umsetzung aus, wenn ich das Programm auf dem Server zur Verfügung stelle. Wie muss ich hsqldb einstellen, damit es als Server läuft?

@ Gast

ist bei PostgreSQL auch der JDBC-Treiber kostenlos oder benötige ich hierfür eine Lizenz? Bei MySQL ist das nämlich so. Da ist MySQL im Prinzip kostenlos, aber für den JDBC-Treiber benötigt man eine Lizenz, sobald man das Programm kommerziell nutzt.
 

The_S

Top Contributor
Wie ist das zu vertehen? Stand-Alone und Server? Du könntest mit dem Programm eine lokale HSQLDB für einen User erstellen und bei Bedarf z. B. mit einem Server abgleichen. Falls dass das ist, was du machen willst.

Was heißt hier einstellen? Einfach das Jar mit enstprechenden Parametern über die Konsole starten, schon hast du einen Server. Dann einfach anstelle auf den Dateinamen auf den Server + Post zugreifen. Für Standalone den lokalen Pfad angeben.

Ist ja gut sich vor einem Projekt gedanken zu machen, aber ich glaube du machst dir ein wenig zu viele ;) .
 

Alex_winf01

Top Contributor
Ich habe da noch mal eine Frage:

hsqldb steht ja unter der Open-Source-Lizenz. Da das Programm später kommerziell betrieben werden soll, ist es nicht gewünscht, den Quellcode in einer für den Anwender lesbaren Form mitzuliefern. Wenn ich die Lizenzbestimmungen von hsqldb richtig verstehe, muss ich den Quellcode aber mitliefern. Sehe ich das richtig?
 
G

Gast

Gast
Bei MySQL ist das nämlich so. Da ist MySQL im Prinzip kostenlos, aber für den JDBC-Treiber benötigt man eine Lizenz, sobald man das Programm kommerziell nutzt.
Nach oben
MySQL Connector steht meines Wissens nach unter GPL und das bedeutet:
Freiheiten
Das Wort „frei“ bedeutet das Recht, die Software nach den eingeräumten vier Freiheiten verwenden zu dürfen. Das Wort frei ist im Sinne von Freiheit zu verstehen, benennt also einen Zustand der Autonomie und Unabhängigkeit.[1]

Die GPL gewährt jedermann die folgenden vier Freiheiten als Bestandteile der Lizenz.

1. Das Programm darf ohne jede Einschränkung für jeden Zweck genutzt werden. Kommerzielle Nutzung ist hierbei ausdrücklich erlaubt.
2. Kopien des Programms dürfen kostenlos oder auch gegen Geld verteilt werden, wobei der Quellcode mitverteilt oder dem Empfänger des Programms auf Anfrage zum Selbstkostenpreis zur Verfügung gestellt werden muss. Dem Empfänger müssen dieselben Freiheiten gewährt werden – wer z. B. eine Kopie gegen Geld empfängt, hat weiterhin das Recht, diese dann kommerziell oder auch kostenlos zu verbreiten. Lizenzgebühren sind nicht erlaubt. Niemand ist verpflichtet, Kopien zu verteilen, weder im Allgemeinen, noch an irgendeine bestimmte Person – aber wenn er es tut, dann nur nach diesen Regeln.[2]
3. Die Arbeitsweise eines Programms darf studiert und den eigenen Bedürfnissen angepasst werden.
4. Es dürfen auch die gemäß Freiheit 3 veränderten Versionen des Programms unter den Regeln von Freiheit 2 vertrieben werden, wobei dem Empfänger des Programms der Quellcode der veränderten Version verfügbar gemacht werden muss. Veränderte Versionen müssen nicht veröffentlicht werden; aber wenn sie veröffentlicht werden, dann darf dies nur unter den Regeln von Freiheit 2 geschehen.
Und ich würde auch MySQL empfehlen, da sich inzwischen einiges getan hat und viele Fehler behoben wurden.

Gruß
 

Wildcard

Top Contributor
GPL ist völlig ungeeignet wenn man den eigenen Quellcode nicht offen legen möchte (was hier ja der Fall zu sein scheint).
 
G

Gast

Gast
Ist es wirklich so, dass ich mein Programm auch unter GPL stellen muss, nur weil ich darin etwas nutze, was unter GPL steht?
Falls dem so wäre hast Du natürlich völlig recht.
Ich dachte ich muss nur den Quellcode des genutzten SQL Connectors offenlegen.
 

Wildcard

Top Contributor
Nein, das wäre dann die LGPL. Bei der GPL fällt alles was gegen die GPL linkt auch automatisch unter die GPL.
 
G

Gast

Gast
Ja Du hast recht, und:
Ich muss für meinen Betrieb ein kommerzielles Softwareprogramm schreiben, welches wir an unsere Kunden verkaufen.
demnach nicht für Ihn geeignet. Über sowas muss man sich natürlich Gedanken machen.
 

Alex_winf01

Top Contributor
@ Wildcard

In den Lizenzbestimmungen von hsqldb selber steht da nichts von Quellcode mitliefern, ABER es steht unter Open-source-Lizenz und bei so einer Lizenz MUSS man den Quellcode mitliefern.

Meine Frage an Dich Wildcard:

Java steht ja unter der Lizenz GPL Version 2. Somit muss ich den Quellcode mitliefern. Hobbit_Im_Blutrausch hat aber hier geäußert, dass ich das bei Java nun nicht mitliefern muss (den Quellcode in lesbarer Form mitliefern). Was stimmt denn da nun?
 

Wildcard

Top Contributor
In den Lizenzbestimmungen von hsqldb selber steht da nichts von Quellcode mitliefern, ABER es steht unter Open-source-Lizenz und bei so einer Lizenz MUSS man den Quellcode mitliefern.
Unsinn. Eine OpenSource Lizenz bedeutet nicht automatisch das du deinen eigenen Quelltext offenlegen musst.
Es kommt eben auf die Lizenz an und die von HSQLDB verlangt das nicht.
Java steht ja unter der Lizenz GPL Version 2. Somit muss ich den Quellcode mitliefern. Hobbit_Im_Blutrausch hat aber hier geäußert, dass ich das bei Java nun nicht mitliefern muss (den Quellcode in lesbarer Form mitliefern). Was stimmt denn da nun?
Bei Java gibt es die sog. Classpath Ausnahme. Java Programme sind weder per se GPL, noch musst du den Java Source ausliefern.
 

Alex_winf01

Top Contributor
@ Wildcard

Danke für Deine Geduld. Eine letzte Frage. In der Lizenz steht:

Beispielsweise müssen Sie den Empfängern alle Rechte gewähren, die Sie selbst haben, wenn Sie – kostenlos oder gegen Bezahlung – Kopien eines solchen Programms verbreiten. Sie müssen sicherstellen, daß auch die Empfänger den Quelltext erhalten bzw. erhalten können. Und Sie müssen ihnen diese Bedingungen zeigen, damit sie ihre Rechte kennen.

Bezieht sich das jetzt auf die Java-Technologie und auf hsqldb? Weil es ja nicht gwünscht ist, dass man ein Programm entwickelt und kommerziell verkauft, dass dieses Programm "einfach so" kopiert und verteilt wird. Darf jeder, der unser kommerzielles Produkt verwendet, dieses einfach so kopieren und weitergeben? Dann wäre Java doch für kommerzielle Zwecke (und somit eigentliche jede "freie" Software) sinnlos.
 

Wildcard

Top Contributor
Alex_winf01 hat gesagt.:
Eine letzte Frage. In der Lizenz steht:
In welcher Lizenz soll das stehen?
Es gibt nicht die OpenSource Lizenz. Java hat eine Lizenz, HSQLDB hat eine Lizenz. Lies die Dinger (in Englisch!). Wenn du zu einer konkreten Formulierung eine Frage hast, stell sie.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Nochmals Drucken Allgemeine Java-Themen 2
MiMa Grundsätzliche Frage zur Verwendung von Java Versionen?? Allgemeine Java-Themen 3
OnDemand Java Deployment Vaadin Allgemeine Java-Themen 3
D Hat Java eine Library um JavaScript auszuwerten? Allgemeine Java-Themen 2
Zrebna Wieso sind eigentlich JUnit-Tests in src/test/java platziert - nur Konvention? Allgemeine Java-Themen 7
N LlaMA, KI, java-llama.cpp Allgemeine Java-Themen 39
V Java-Codierungsherausforderung: Navigieren durch die Macken der Datumsmanipulation Allgemeine Java-Themen 2
E Output Fehler (Java-Programm Kuchen) Allgemeine Java-Themen 11
M java: unexpected type Allgemeine Java-Themen 2
harrytut Java Input/Output Tests Junit Allgemeine Java-Themen 3
B Java Discord bot auf ein Root Server? Allgemeine Java-Themen 1
BetziTheRealOne Java PKIX path building failed as non Admin Allgemeine Java-Themen 15
D Linux, Java-Version wird nicht erkannt bzw. welche Einstellung fehlt noch? Allgemeine Java-Themen 19
KonradN Java 21 Release Allgemeine Java-Themen 5
V Umgang mit fehlenden Daten in einer Java-Datenanalyseanwendung Allgemeine Java-Themen 5
P Fehler: Hauptklasse Main konnte nicht gefunden oder geladen werden Ursache: java.lang.ClassNotFoundException: Main Allgemeine Java-Themen 24
K Java Anwendung machen Anleitung Allgemeine Java-Themen 5
G java.io.listFiles() Allgemeine Java-Themen 3
8u3631984 Frage zu Java Streams min / max Allgemeine Java-Themen 17
S Java Programm lässt sich vom USB-Stick starten, aber nicht von HDD Allgemeine Java-Themen 16
K Java-Projekt Allgemeine Java-Themen 11
K Java-Projekt Allgemeine Java-Themen 0
ruutaiokwu Welcher Browser unterstützt heutzutage noch Java Applets? Allgemeine Java-Themen 5
Jose05 Java-Klasse im extra cmd-Fenster ausführen Allgemeine Java-Themen 3
rode45e Java Threads Allgemeine Java-Themen 4
G java.io.listFiles() Allgemeine Java-Themen 2
N Java Dynamic Proxy Allgemeine Java-Themen 3
N Leichte Java Gegner Ki Allgemeine Java-Themen 10
A Java modul Problem Allgemeine Java-Themen 4
Thomasneuling Java Jar datei erstellen, von Projekt, dass auch Javafx Dateien, FXML Dateien und CSS Dateien, sowie Bilder enthält? Allgemeine Java-Themen 14
V Funktionale Schnittstelle in Java Allgemeine Java-Themen 3
OnDemand Java String in Hashmap als Key NULL Allgemeine Java-Themen 27
urmelausdemeis Exception in thread "main" java.lang.Error: Unresolved compilation problem: Allgemeine Java-Themen 7
berserkerdq2 Wenn ich bei Intelij javafx mit maven importieren will, muss ich das in die pom.xml reintun, aber warum noch in module-info.java? Allgemeine Java-Themen 3
KonradN Java 20 am 21. März Allgemeine Java-Themen 1
O Java Website Stock Bot Allgemeine Java-Themen 3
J Front-/Backend in Java Allgemeine Java-Themen 14
doopexxx JAVA Google Webcrawler Allgemeine Java-Themen 1
J JavaScript innerhalb eines Java Projekts ausführen Allgemeine Java-Themen 2
A Java Programm erstellen hilfe Allgemeine Java-Themen 10
G java.lang.NoClassDefFoundError: org/aspectj/lang/Signature Allgemeine Java-Themen 2
lalex1491 Java Aktienkurse nachfragen Allgemeine Java-Themen 4
J Class to link Java Allgemeine Java-Themen 4
V Wie funktioniert das Schlüsselwort "final" von Java? Allgemeine Java-Themen 19
mrStudent Inferenz JAVA Allgemeine Java-Themen 6
U URI Rechner (Java Script) Allgemeine Java-Themen 7
TheSkyRider Java Geburtsdatum Textfeld Allgemeine Java-Themen 7
mihe7 Java 19 JavaDocs: Browserintegration Allgemeine Java-Themen 0
Encera Gleichzeitiges Ausführen und verbinden von 2 Java-Klassen über die Eingabeaufforderung und Eclipse Allgemeine Java-Themen 21
H Java Rechner Programmierung der Mathematik Allgemeine Java-Themen 33
Lennox Schinkel Java Kara Auf einen Java Host laufen lassen Allgemeine Java-Themen 17
C Fußnoten von DocX mit Java Allgemeine Java-Themen 2
C Fußnoten in DocX mit Java Allgemeine Java-Themen 1
M Aussagenlogik in Java Programmieren Allgemeine Java-Themen 22
B Per Java Word Dokument schreiben? Allgemeine Java-Themen 8
krgewb Java-Bibliothek für ONVIF Allgemeine Java-Themen 1
KonradN Oracle übergibt (Java Teile der) GraalVM Community Edition an OpenJDK Community Allgemeine Java-Themen 2
Momo16 Brauche Hilfe - Java Projekt kann nicht erstellt werden Allgemeine Java-Themen 12
B Java mit command line und jars benutzen? Allgemeine Java-Themen 18
M Java Überprüfen ob .exe-Datei bereits ausgeführt wird Allgemeine Java-Themen 2
B HTTP Allgemeine Fragen über Suchmaschine nutzen mit Java Allgemeine Java-Themen 20
Mick P. F. Wie kriege ich die Fehlermeldung "java: symbol lookup error: ..." weg? Allgemeine Java-Themen 11
K Nachhilfe Java Allgemeine Java-Themen 11
KonradN Java 19 Allgemeine Java-Themen 11
F IDEA IntelliJ Java Songliste erstellen Allgemeine Java-Themen 6
TheSepp Java bestimmtes Array auf den Wert 0 setzen Allgemeine Java-Themen 32
B Java Reflection Probleme beim wehcselseitigen Referenzieren zweier Klassen/Objekte Allgemeine Java-Themen 14
Sachinbhatt Sind alle Methoden in Java implizit virtuell Allgemeine Java-Themen 2
E Java und integrierte Grafikkarten Allgemeine Java-Themen 18
Sachinbhatt Wie wird die Typumwandlung bei Mehrfachvererbung in Java implementiert? Allgemeine Java-Themen 3
Peterw73 Hilfe bei Java gesucht Allgemeine Java-Themen 3
A Java unter Win 10 Allgemeine Java-Themen 1
B Woher kommen die Bildschirmkoordinaten beim java Robot? Allgemeine Java-Themen 14
P9cman java.Lang Klassen fehlen in JRE System Library Allgemeine Java-Themen 1
T Java Robot Class - Bot Allgemeine Java-Themen 3
E Wie Java Heap Space vergrößern? Allgemeine Java-Themen 3
B Java Programm auf virutellem Desktop laufen lassen? Allgemeine Java-Themen 1
D VBA Code mit Java ausführen möglich? Allgemeine Java-Themen 10
berserkerdq2 Threads, wie genau läuft das in Java ab? (Ich kann Threads erstellen und nutzen, nur das Verständnis) Allgemeine Java-Themen 6
izoards Java Home Pfad unabhängig von der Version Allgemeine Java-Themen 7
N JAVA-Code mit Grafikfenster zeichnet in Windows, aber nicht Mac. Allgemeine Java-Themen 4
L Java überprüfen lassen, ob sich ein gegebener Pfad / das Programm an sich auf einer CD oder Festplatte befindet Allgemeine Java-Themen 14
KonradN CVE-2022-21449: Fehler in Java bei Signaturprüfung Allgemeine Java-Themen 20
berserkerdq2 Java sql Allgemeine Java-Themen 15
JordenJost Unverständlicher Java code? Allgemeine Java-Themen 21
LimDul XSD To Java - Überschreiben von Assoziationen Allgemeine Java-Themen 1
Aartiyadav Comparisons and Swapa in Bubble-sort Java Allgemeine Java-Themen 6
KonradN Java 18 Allgemeine Java-Themen 8
N Statistische Auswertung von Logfiles (Einlesen, auswerten und grafische Aufbereitung von logfiles) mit Java Allgemeine Java-Themen 9
ME2002 Fragen aus einer Java Klausur Allgemeine Java-Themen 67
Z Mit Java 8+ Streams Zeilen nummern zu Zeilen hinzufügen Allgemeine Java-Themen 17
M Verständnisfrage java.util.TimerTask Allgemeine Java-Themen 2
V Hilfe mit Java Code Allgemeine Java-Themen 4
S Processing Java Code verstehen Allgemeine Java-Themen 4
O Newton Algorithmus Java Allgemeine Java-Themen 1
P Java Quellen finden Allgemeine Java-Themen 3
M Java Analyse/ SWOT-Analyse Allgemeine Java-Themen 13
J c Programm läuft nicht in compilierter Version des Java Projektes Allgemeine Java-Themen 7
Atten007 Java-Klasse auf macOS entpacken? Allgemeine Java-Themen 2
E java mithilfe url .jar datei öffnen Allgemeine Java-Themen 9

Ähnliche Java Themen


Oben