Creative Commons – Bausatzsystem für Lizenzen

Wenn jemand ein Werk schafft, so hat derjenige auf dieses Werk ein Urheberrecht. Ein solches Werk könnte z.B. ein Foto oder ein Musikstück sein. Wenn dieses Foto nun anderen Menschen zur Verfügung gestellt werden soll, wird es kniffelig. In Deutschland wäre es nicht einmal möglich auf das eigene Urheberrecht zu verzichten. Stattdessen können Nutzungsrechte an dem Werk eingeräumt werden. Es muss also ein Lizenzvertrag zwischen dem Urheber und den Nutzern geschlossen werden.

Möchte der Urheber nun noch bestimmte Einschränkungen wird es noch kniffliger. Schließlich ist es nicht unbedingt einfach, etwas juristisch sicher (und einfach) zu definieren. Bei der Lösung dieses Problems kommt Creative Commons ins Spiel.

Creative Commons

Bei den Creative Commons-Lizenzen handelt es sich um eine Art Bausatzsystem für Lizenzen. Dieser Bausatz setzt sich aus den Komponenten BY, SA, NC und ND zusammen. BY beschreibt die Notwendigkeit der Namensnennung bei Nutzung des Werkes. Im Gegensatz zu den anderen Komponenten ist die Namensnennung immer verpflichtend. Die Komponente SA beschreibt die Weitergabe unter gleichen Bedingungen. Das bedeutet, wenn ein Werk unter der Creative Commons-Lizenz CC-BY-SA genutzt wird, so muss das daraus entstehende Werk unter der gleichen Lizenz veröffentlicht werden.

Die NC-Komponente definiert, dass das Werk nicht kommerziell genutzt werden darf. Zum Beispiel darf ein Musikstück, welches unter der Lizenz CC-BY-NC lizenziert ist, privat gehört werden, aber es darf nicht genutzt werden, um es in einem Werbespot einzubinden. Die letzte Komponente ist ND, welche definiert, dass es keine Derivate von dem betreffenden Werk geben darf. Als Nutzer kann ich somit das beispielhafte Musikstück hören, darf aber keinen Remix im Rahmen dieser Lizenz erstellen.

Die Bausteine können kombiniert werden. So könnte ein Werk unter der Lizenz CC-BY-ND oder unter der Lizenz CC-BY-NC-SA veröffentlicht werden. Bestimmte Kombinationen scheiden allerdings aus; so wäre die Kombination CC-BY-ND-SA nicht zielführend, da eine Weiterverbreitung abgeleiteter Werke unter der gleichen Lizenz der Bedingung, das keinerlei Derivate von dem Werk erstellt werden dürfen widerspricht.

Mit dem License Chooser geht die Wahl der passenden Bausteine im Browser leicht von der Hand. Bei der Nutzung sollten die Lizenzbedingungen entsprechend beachtet werden. Fehler werden meist bei der Namensnennung gemacht. Creative Commons definiert diese Pflicht in dem Commons (die gekürzte und für normale Menschen verständliche Form der Lizenz) so:

Namensnennung — Sie müssen angemessene Urheber- und Rechteangaben machen, einen Link zur Lizenz beifügen und angeben, ob Änderungen vorgenommen wurden. Diese Angaben dürfen in jeder angemessenen Art und Weise gemacht werden, allerdings nicht so, dass der Eindruck entsteht, der Lizenzgeber unterstütze gerade Sie oder Ihre Nutzung besonders.

Je nach genutzter Version der Lizenzen ist dies mehr oder weniger kompliziert, wie der Artikel bei iRights näher beleuchtet.

Neben diesen Lizenzen existieren einige weitere Lizenzen aus dem Creative Commons-Universum wie die CC0, welche es ermöglicht die Nutzungsrechte so freizugeben, dass das Werk praktisch Public Domain ist und somit der Gemeinschaft uneingeschränkt zur Verfügung steht. Wichtig ist es bei der Nutzung darauf zu achten, das sich Creative Commons nicht für jedes Werk eignet, so wird von der Lizenzierung von Software unter Creative Commons-Lizenzen expliziert abgeraten. Hier existieren bessere Lizenzen wie die GPL, die Apache- oder die MIT-Lizenz.

jMonkeyEngine

Mit libGDX hatte ich vor einem Jahr bereits eine Game Engine für Java vorgestellt. Daneben existieren natürlich noch weitere Game Engines. Eine dieser Engines ist die jMonkeyEngine, welche seit 2003 entwickelt wird. Technisch basiert der SDK-Editor auf NetBeans-Plattform. Die Engine selbst nutzt OpenGL für die Darstellung der Grafik und verfügt über unterschiedlichste Features wie die Unterstützung für Beleuchtung, die Nutzung von Shadern, eine Reihe von Filtern und Effekten und eine Physikunterstützung. Daneben werden auch andere Dinge wie die Eingabe des Nutzers von der Engine abstrahiert.

Das jMonkeyEngine SDK

Lizenziert ist jMonkeyEngine unter der BSD-Lizenz und damit freie Software. Der Quelltext kann über GitHub bezogen werden. Die offizielle Seite des Projektes ist unter jmonkeyengine.org zu finden.

Passwort eines MariaDB-Nutzers zurücksetzen

Um sich mit einer MariaDB-Datenbank zu verbinden wird ein Nutzer und ein Passwort benötigt. Wenn das Passwort verloren gegangen ist, ist dies allerdings kein Beinbruch, solange es sich um die eigene Installation handelt. In diesem Fall kann das Passwort einfach auf der Konsole zurückgesetzt werden. Dazu muss sich per SSH auf dem entsprechenden Server eingeloggt werden und dort das mysql-Tool mit dem Nutzer root gestartet werden:

mysql -u root

Nachdem dies geschehen ist, wird in der Kommandozeile auf die Tabelle mysql geschwenkt:

use mysql;

In dieser Tabelle finden sich die Verwaltungsdaten des Datenbanksystems. Über diese Tabelle ist es nun möglich den Nutzer mit einem neuen Passwort zu versehen:

update user set password=PASSWORD("geheim123") where User='username';
flush privileges;

Damit ist das Passwort für den entsprechenden Nutzer zurückgesetzt und das mysql-Tool kann mittels:

exit

verlassen werden. Anschließend kann der Nutzer mit dem neuen Passwort genutzt werden.

Browserify unter Windows benutzen

Browserify ist ein unter der MIT-Lizenz stehendes Projekt, mit welchem Bundles aus modularen JavaScript-Projekten erstellt werden können. Auf der Projektseite wird die Nutzung von Browserify erklärt. Im ersten Schritt muss Browserify über den Paketmanager npm global installiert werden:

npm install -g browserify

Anschließend kann das Kommando genutzt werden:

browserify main.js -o bundle.js

Das Problem daran ist, dass das Kommando browserify nicht bekannt ist.

browserify.org

Stattdessen erhält der Nutzer folgende Fehlermeldung:

Der Befehl „browserify“ ist entweder falsch geschrieben oder konnte nicht gefunden werden.

Damit Browserify genutzt werden kann, muss es direkt über das installierte Modul mittels Node.js aufgerufen werden:

node C:\Users\username\AppData\Roaming\npm\node_modules\browserify\bin\cmd.js src\index.js -o bundle.js

Alternativ kann Browserify direkt im Projekt installiert werden:

npm install
npm install browserify

Anschließend kann es von dort genutzt werden:

node node_modules\browserify\bin\cmd.js src\index.js -o bundle.js

Framework 7

Bei der Suche nach brauchbaren und kleineren Frameworks für die Entwicklung von Web-Anwendungen bin ich unter anderem über OpenUI gestolpert. Allerdings war das Framework für meine Zwecke etwas zu groß, weshalb ich mich schlussendlich für Framework 7 entschieden habe. Mithilfe des Frameworks ist es möglich Web-Anwendungen zu schreiben, welche unter iOS, Android und auf dem Desktop laufen. Neben der Ausführung im Browser ist es daneben möglich Apps für die mobilen Systeme zu bauen. Framework 7 liefert Themes für iOS und Android mit, so das sich die Elemente an das Betriebssystem anpassen.

Eine Beispiel-App, welche mit Framework 7 erstellt wurde

Die offizielle Seite des Projektes ist unter framework7.io zu finden. Der Quelltext des Framework 7 ist auf GitHub zu finden. Der Quelltext des Frameworks ist unter der MIT-Lizenz lizenziert und damit freie Software.