Hallo, bei Mikrocontroller Projekten setze ich häufig fremde librarys ein. Nun möchte ich ein Projekt veröffentlichen (Homepage oder GITHub) in dem ich Beispielsweise eine LCD-Lib von Autor A (der keine Lizenz angegeben hat) und die IRMP Lib hier aus dem Forum eingesetzt habe. Das ganze möchte ich open source / lizenzfrei zur Verfügung stellen. Dafür muss ich ja die Lizenzen der anderen Software-Teile beachten. Was ist mit den, die ihren Code einfach frei anbieten? Wie sieht das aus wenn ein Code unter CC/GNU/GPL/Copyleft/Beerware/etc engeboten wird? Kann ich eine Lib unter "CC-BY-SA" zusammen mit meinem "macht-doch-was-ihr-wollt" Code einfach so veröffentlichen? Muss ich im eigenen Code darauf hinweisen das alles nur "Bastelcode" ist und ich keinerlei Haftung übernehme? Ich hoffe ihr könnt mir für mehr Durchblick verhelfen. Danke und Gruß Mr. Moe
> Das ganze möchte ich open source / lizenzfrei zur Verfügung stellen. Das kannst du für deinen code tun wie du lustig bist. > Dafür muss ich ja die Lizenzen der anderen Software-Teile beachten. Ja > Was ist mit den, die ihren Code einfach frei anbieten? Der Urheber hat nicht nur das Urheberrecht sondern auch das voll umfängliche Nutzungsrecht. Das heißt unter anderem er entscheidet wie und wo der Code nutzen werden darf. Ob und wer ihn veröffentlichen darf. etc Das diese Rechte hat man per Gesetz und bedürfen keiner Lizenz. In einer Lizenz werden die in der Lizenz genannten Rechte an dritte übergeben/abgetreten. > Wie sieht das aus wenn ein Code unter CC/GNU/GPL/Copyleft/Beerware/etc > engeboten wird? Das steht in der jeweiligen Lizenz drin was man darf. Und speziell ist GPL schon mehrfach von Gerichten bestätigt worden. Was meinst du weshalb es z.B. openwrt gibt. > Kann ich eine Lib unter "CC-BY-SA" zusammen mit meinem > "macht-doch-was-ihr-wollt" Code einfach so veröffentlichen? Steht in der Lizenz der Lib.
Danke für die Hinweise Jannyboy Also zusammengefasst: Ich nutze eine LCD Lib ohne Hinweise auf eine Lizensierung. Daher baue ich sie so ein wie sie ist mit dem Autor im Header. Dazu IRMP: * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. Also auch einfach so einbauen wie sie ist. Meinen Code setze ich unter Beerware rein: /* * ------------------------------------------------------------------------ ---- * "THE BEER-WARE LICENSE" (Revision 42): * <phk@FreeBSD.ORG> wrote this file. As long as you retain this notice you * can do whatever you want with this stuff. If we meet some day, and you think * this stuff is worth it, you can buy me a beer in return Poul-Henning Kamp * ------------------------------------------------------------------------ ---- */ Alles zusammen könnte ich dann ruhigen gewissens veröffentlichen. Doch was ist mit der Haftung? Also Worst Case: Jemand nutzt meinen Code und kurz daraufhin geht sein Gefrickel in Flammen auf, da ein Bug in meinem Code ist. Kann er mir was? Kann ich mich überhaupt gegen sowas schützen? Muss ich das überhaupt? Muss ich drauf hinweisen das alles nur "Bastelcode ist"? Vg Mr. Moe
Mr. Moe schrieb: > und ich keinerlei Haftung übernehme? Dafür gibt es in der GPL einen extra absatz (hier der letzte Absatz)
1 | How to Apply These Terms to Your New Programs |
2 | |
3 | If you develop a new program, and you want it to be of the greatest |
4 | possible use to the public, the best way to achieve this is to make it |
5 | free software which everyone can redistribute and change under these terms. |
6 | |
7 | To do so, attach the following notices to the program. It is safest |
8 | to attach them to the start of each source file to most effectively |
9 | state the exclusion of warranty; and each file should have at least |
10 | the "copyright" line and a pointer to where the full notice is found. |
11 | |
12 | |
13 | |
14 | <Programmname> |
15 | Copyright (C) 2016 <Name des Authors> |
16 | |
17 | This program is free software: you can redistribute it and/or modify |
18 | it under the terms of the GNU General Public License as published by |
19 | the Free Software Foundation, either version 3 of the License, or |
20 | (at your option) any later version. |
21 | |
22 | This program is distributed in the hope that it will be useful, |
23 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
24 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
25 | GNU General Public License for more details. |
Die FSF (Free Software Foundation) hat Tabellen, welche freien/offenen Lizenzen kompatibel sind usw. https://www.gnu.org/licenses/license-list.html Mr. Moe schrieb: > Was ist mit den, die ihren Code einfach frei anbieten? Wenn der Code "frei" ist (free as in free speech not free beer) ist doch alles tako. Wenn es im Code keine Angaben zur Lizenz gibt, so ist der Code nicht frei! Der Code steht auch nicht automatisch unter Public Domain! Siehe hier: https://www.gnu.org/licenses/license-list.html#NoLicense
1 | No license |
2 | |
3 | If source code does not carry a license to give users the four essential |
4 | freedoms, then unless it has been explicitly and validly placed in the |
5 | public domain, it is not free software. |
6 | |
7 | Some developers think that code with no license is automatically in the |
8 | public domain. That is not true under today's copyright law; rather, all |
9 | copyrightable works are copyrighted by default. This includes programs. |
10 | Absent a license to grant users freedom, they don't have any. In some |
11 | countries, users that download code with no license may infringe copyright |
12 | merely by compiling it or running it. |
13 | |
14 | In order for a program to be free, its copyright holders must explicitly |
15 | grant users the four essential freedoms. The document with which they do |
16 | so is called a free software license. This is what free software licenses |
17 | are for. |
18 | |
19 | Some countries allow authors to put code in the public domain, but that |
20 | requires explicit action. If you wish to do that, the method we recommend |
21 | is to use CC0, which also works in other countries by putting on a license |
22 | that is more or less equivalent to public domain. However, in most cases |
23 | it is better to copyleft your code to assure that freedom reaches all |
24 | users of the code. |
25 | |
26 | Code written by employees of the US government is a special exception, |
27 | since US copyright law explicitly puts that in the public domain; but this |
28 | does not apply to works that the US pays a company to write. It also does |
29 | not apply to other countries, many of which do allow the state to have a |
30 | copyright on government writings. |
Also: Author anschreiben und fragen.
Mr. Moe schrieb: > Was ist mit den, die ihren Code einfach frei anbieten? Sehr unglückliche Lösung. Das bedeutet nämlich, daß man keine Lizenz dafür hat. Theoretisch kann der Autor dann jeden, der den Code nutzt, wegen Urheberrechtsverstoß verklagen. Das Minimum, was der Autor reinsetzen sollte, ist eine permissive Lizenz. Dann erst haben andere überhaupt das Recht, den Code zu nutzen. In den USA gibt es dann noch "public domain", wo man also die Urheberrechte aufgibt und es der Allgemeinheit zur Verfügung stellt. SDo etwas gibt es nach deutschem Recht aber nicht. Mit einer permissiven Lizenz wird das wasserdicht. > Wie sieht das aus wenn ein Code unter CC/GNU/GPL/Copyleft/Beerware/etc > engeboten wird? Steht in der jeweiligen Lizenz, wie das dann aussieht. Nachlesen. Im Falle der GPL gibt's auf der FSF-Seite auch Betrachtungen, welche Lizenzen kompatibel zur GPL sind und welche nicht. Generell sind permissive Lizenzen (also solche mit schwachem Copyleft) da harmlos, weil sie wenig Forderungen stellen. Die GPL stellt da mehr Forderungen, und zwar insbesondere, daß das Gesamtergebnis von GPL-haltigem Code auch wieder unter der GPL stehen muß. Wenn man nun Code mit einer Lizenz hat, die mit der GPL inkompatibel ist, dann kann man diesen Code eben deswegen nicht unter der GPL veröffentlichen. Somit kann man solchen Code nicht in ein Projekt einbringen, welches bereits unter der GPL steht. Umgedreht kann man GPL-Code nicht in Projekte einbringen, die nicht unter der GPL stehen, solange man nicht die komplette Projektlizenz ändert. Was geht: Man hat ein GPL-Projekt und will Code unter BSD-Lizenz einsteuern. Was nicht geht: Man hat ein BSD-Projekt und will GPL-Code einbringen. > Kann ich eine Lib unter "CC-BY-SA" zusammen mit meinem > "macht-doch-was-ihr-wollt" Code einfach so veröffentlichen? CC-Lizenzen sind für Code schon sehr ungewöhnlich; die werden normalerweise für Sachen wie Musik, Texte und Bilder verwendet. Grundsätzlich, wenn Du eine Codebasis aus Fragmenten unter verschiedenen Lizenzen hast, mußt Du jeder einzelnen dieser Lizenzen Genüge tun. > Muss ich im eigenen Code darauf hinweisen das alles nur "Bastelcode" ist > und ich keinerlei Haftung übernehme? Nach deutschem Recht ist es nicht möglich, jede Haftung komplett auszuschließen. Im Falle von gratis zur Verfügung gestellten Code ist die Haftung allerdings nur sehr eingeschränkt. Also wenn der Code beispielsweise Malware beinhaltet, die Du da reingesetzt hast, dann haftest Du auch bei Gratiscode dafür. Das ist dann aber auch schon Vorsatz.
Nop schrieb: > Was nicht geht: Man hat ein BSD-Projekt und will GPL-Code einbringen. Das hängt von der BSD-Lizenz ab. Nur die 4-Klausel-BSD Lizenz (Original BSD license) ist nicht mit der GPL kompatibel. Die 2-Klausel (FreeBSD license) und 3-Klausel-BSD Lizenz (Modified BSD license) sowie die "The Clear BSD License" sind aber kompatibel. :)
Ich handhabe das für gewöhnlich so, dass ich entweder nur Libraries verwende, die eine kompatible Lizenz haben, oder eine mit der ich es nutzen darf. In letzterem Fall liefere ich die Library jedoch nicht selbst mit, sondern binde diese als git submodul ein, sofern es ein öffentliches git repo ist. Dann muss sich der Benutzer dann mit git submodule init selbst runterladen. Wenn es svn ist, mache ich einen Link ins Readme. Ausserdem Packe ich derartiges in ein anderes Verzeichnis, und erwähne in der Readme und Lizenz datei, das für Dinge darin womöglich andere Lizenzen gelten. Zusätzlich mache ich die Libraries optional. Bei Projekten ohne Lizenz info schreibe ich dem Author einfach eine Mail. Solange du die Library nicht mitlieferst, und du keine Konstrukte aus deren Headern benötigst, bist du in den USA auf der sicheren Seite. Eine API kann (zumindest in der USA) nämlich nicht Patentiert oder Lizensiert werden. Siehe https://en.wikipedia.org/wiki/Oracle_America,_Inc._v._Google,_Inc. In diesem fall könnte man nähmlich jede Library nehmen, die der API genügt, und brauchte den Code der Library nicht. Somit nutzt die Software praktisch gesehen die Library nicht, aber der User kann sich entscheiden diese zu verwenden. Ich würde bei libraries, die nicht frei nutzbar sind, einfach eine eigene Dummy library mitliefern, und sagen das andere Libraries (als die dummy library) statdessen verwendbar wären. In Europa muss man aber bei IT und Rechtsgeschichten etwas aufpassen, die Richter usw. verstehen dort nichts von Technik. Dies sieht man ja gerade wiedermal am neuen copyright für links quatsch: https://en.wikipedia.org/wiki/Copyright_aspects_of_hyperlinking_and_framing#European_Union Deshalb verwende ich nur Libraries mit freien Lizenzen, und so wenige wie möglich. Ich entscheide mich eigentlich immer schon gegen die Verwendung von Libtraries befor ich die Entwichlung anfange. Ansonsten, wenn alles nichts nützt, und man das Projekt nicht veröffentlichen dürfte, kann man dies ja auch einfach anonym tun. Dabei muss man nur darauf achten, etwas wie Tor & sigaint zu verwenden, denn GitHub und Co. loggen die IPs, und falls man Geld sammelt, z.B. über Bitcoin, diese nicht verwenden um sich etwas direckt zu kaufen und nicht über direckt über tauschbörsen auf Bankkonto. Bitcoins haben eine öffentliche Blockchain, sobad man etwas Macht wodurch man sich mit einer Transaktion in verbindung bringt, kann man potentiell zurückverfolgt werden. Aber ich schweife hier glaube ich gerade vom Thema ab...
Kaj schrieb: > Nop schrieb: >> Was nicht geht: Man hat ein BSD-Projekt und will GPL-Code einbringen. > Das hängt von der BSD-Lizenz ab. Nein, das geht mit keiner BSD-Lizenz, weil das Hindernis da die GPL ist und nicht BSD. Was Du meinst, ist die umgedrehte Richtung. > Nur die 4-Klausel-BSD Lizenz (Original BSD license) ist nicht mit der > GPL kompatibel. Das ist richtig, die ist aber heute ausgestorben. BSD ist heute in der Praxis nur noch 2- oder 3-clause.
Nop schrieb: > Nein, das geht mit keiner BSD-Lizenz, weil das Hindernis da die GPL ist > und nicht BSD. Was Du meinst, ist die umgedrehte Richtung. Aaaahhh, mein Fehler. Ich bin fälschlicherweise davon ausgegangen, das wenn die BSD Lizenzen mit der GPL kompatibel sind, dass das auch anders herum gelten würde. (Lizenz)Asche auf mein Haupt. :-/
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.