Terms Of Contribution - Ideen?

White_Fox

Top Contributor
Moin Leute

Ich bin jetzt tatsächlich an dem Punkt, mir um das Thema von Codebeiträgen anderer Gedanken machen zu müssen. Soweit ich weiß haben OSS-Projekte, die Beiträge von anderen annehmen, da immer gewisse Bedingungen. Im Gegensatz zu Lizenzen ist dazu aber eher wenig zu finden, außerdem habe ich wirklich keine Lust juristische Texte – denn das wird es ja mehr oder weniger, oder? – alleine auf Englisch zu verfassen.

Erstmal ein paar Punkte, die ich mir bisher so gedacht habe:
  • Der Beiträger muß die Urheberrechte an dem besitzen, was er beitragen will.
  • Das Projekt bzw. dessen Betreuer bekommen ein unwiderrufliches, bedingungsloses Nutzungungsrecht am Beitrag sowie das Recht, mit dem Beitrag später nach Belieben zu verfahren (Änderung, Entfernung, Neuveröffentlichen unter einer anderen Lizenz, ...).
  • Ein eingereichter Beitrag begründet keine irgendwie gearteten Rechte am Projekt selbst (z.B. Mitspracherecht).
Irgendwie hatte ich heute nachmittag noch mehr dazu im Kopf, aber jetzt ist es mir wieder entfallen.
Was ich im Grunde erreichen will: Ich habe absolut keine Lust, auf zukünftigen Kindergarten. Wenn jemand etwas beiträgt und demjenigen später nicht gefällt wo das Programm eingesetzt wird oder werden könnte, habe ich keine Lust alte Codeteile rauszusuchen, zu entfernen und neuzuschreiben. Wenn jemand was beitragen möchte, muß ihm schon klar sein daß das Zeug halt draußen in der Welt ist und er keinen Einfluß mehr darauf hat.
Ich habe zwar nicht vor das Programm zu sperren und nur noch gegen Geld anzubieten (tatsächlich wird es nichtmal eine Spendenmöglichkeit geben weil ich keinen Bock auf deutschen Finanzamtscheiß habe und mich damit auch nicht beschäftigen will), allerdings schwebt mir durchaus das Szenario vor, gegen Entgeld für andere etwas zu implementieren das die da unbedingt reinhaben wollen, und für so eine Spezialimplementation müßte ich die Lizenz halt ändern und da wären andere Beiträge ja trotzdem mit drin. Nicht daß ich da irgendwas konkretes vorhätte, aber zumindest will ich mir die Möglickeit offenhalten.
Vielleicht will ich von der Apache-Lizenz auch mal weg, vielleicht will ich einzelne Programmbestandteile mal in eine externe Bibliothek auslagern und die unter einer anderen Lizenz verfügbar machen...deshalb das Recht auf Neuveröffentlichung und Relizensierung.

Das mit dem deutschen Urheberrecht und dessen Unveräußerbarkeit ist mir schon klar, aber wie sieht das eigentlich im Rest der Welt aus? Und habe ich noch an etwas Wichtiges nicht gedacht, habt ihr noch Vorschläge, oder ist da irgendwas kritisch?

Letztendlich sehe ich das Projekt immer noch als mein Projekt an, auch wenn ich es für jeden nutzbar mache und auch wenn andere dankenswerterweise etwas beisteuern und ich will am Ende halt sicherstellen, daß ich damit in Zukunft immer noch machen kann was ich für richtig halte. Mit dem Kollegen, der was beitragen möchte, wird es sicher kein Zerwürfnis geben, aber wer weiß was in der Zukunft noch passiert, und vielleicht bleibt er ja nicht der Einzige.
 

KonradN

Super-Moderator
Mitarbeiter
Letztendlich sehe ich das Projekt immer noch als mein Projekt an, auch wenn ich es für jeden nutzbar mache und auch wenn andere dankenswerterweise etwas beisteuern und ich will am Ende halt sicherstellen, daß ich damit in Zukunft immer noch machen kann was ich für richtig halte.
Das ist generell ein Problem. Nach meinem Verständnis brauchst Du da vom jeweiligen Autor die entsprechenden Rechte, die Du dir geben lassen musst. Sowie eine Erklärung, dass er die Rechte an dem wirklich hat. Das Ganze muss auch ein richtiger Vertrag sein - da geht also keine AGB oder ähnliches. Also eine Erklärung von Dir, was Du Dir an Rechten einräumst wenn Dir jemand was gibt reicht nicht!)

Sprich: Du musst Dir die Rechte, die Du haben willst, dann auch einräumen lassen. Also wenn es Dein Projekt ist und bleiben soll, dann ist nichts mit fremden Beiträgen. Und wenn Doch, dann nimm einen Anwalt dazu, der sich damit auskennt. Oder leg Dich auf eine Open Source Lizenz fest - dann ist es aber nicht mehr Dein Projekt.
 

Robert Zenz

Top Contributor
Was du suchst ist eine Contributor License Agreement, denke ich. Aber was du eigentlich willst, ist eine konkrete Vorstellung haben was du willst, und dann damit zu einem Anwalt gehen.

Mein folgendes Verstaendnis ist basiert auf 20 Jahren FLOSS, aber da koennen sich trotzdem Fehleinschaetzungen darin befinden.

Der Beiträger muß die Urheberrechte an dem besitzen, was er beitragen will.

Nein, eigentlich nicht. Es muss nur unter einer Lizenz stehen welche kompatibel ist zu der Lizenz unter welches dein Projekt steht.

Das Projekt bzw. dessen Betreuer bekommen ein unwiderrufliches, bedingungsloses Nutzungungsrecht am Beitrag sowie das Recht, mit dem Beitrag später nach Belieben zu verfahren (Änderung, Entfernung, Neuveröffentlichen unter einer anderen Lizenz, ...).

Ja, Nein. Das ist nur dann notwendig wenn du vor hast, zum Beispiel, jemals die Lizenz zu aendern, oder wenn du etwas anderes mit der Software vorhast. Auch musst du dafuer von jedem eine unterschriebene Erklaerung dazu verlangen. Ansonsten ist das ein guter weg 90% (Zahl wurde fachmaennisch aus meinem Rektum extrahiert) der Leute die etwas beitragen wollen zu verschrecken.

Ein eingereichter Beitrag begründet keine irgendwie gearteten Rechte am Projekt selbst (z.B. Mitspracherecht).

Das...ist klar. Zum einen kann das von jeder FLOSS Lizenz abgeleitet werden, zum anderen...ich wollte jetzt "gesunder Menschenverstand" sagen, aber ich weisz, wir sind da schon lange daran vorbei.

Was ich im Grunde erreichen will: Ich habe absolut keine Lust, auf zukünftigen Kindergarten. Wenn jemand etwas beiträgt und demjenigen später nicht gefällt wo das Programm eingesetzt wird oder werden könnte, habe ich keine Lust alte Codeteile rauszusuchen, zu entfernen und neuzuschreiben

Viele FLOSS Lizenzen haben den Wortlaut "...GRANTS IRREVOCABLE...", das gilt auch fuer jeden Code der von anderen kamen. Die Lizenz kann man nicht nachtraeglich zurueckziehen. Zum Beispiel GPL:

All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met.

Das gilt auch fuer Beitraege Dritter, die stehen dann unter der Lizenz von deinem Projekt, und wenn die Lizenz sagt "Du kannst die Lizenz nicht einfach zuruecknehmen" dann ist das so. Zukuenftige Versionen ist ein anderes Thema, aber was einmal unter der Lizenz stand geht nirgendwo mehr hin.

Anekdote: Oracle hat genau das mit Solaris probiert. Die wollten den bereits ausgegebenen Quellcode wieder proprietaer machen, ging aber nicht, Lizenz zu gut geschrieben.

Ich habe zwar nicht vor das Programm zu sperren und nur noch gegen Geld anzubieten (tatsächlich wird es nichtmal eine Spendenmöglichkeit geben weil ich keinen Bock auf deutschen Finanzamtscheiß habe und mich damit auch nicht beschäftigen will), allerdings schwebt mir durchaus das Szenario vor, gegen Entgeld für andere etwas zu implementieren das die da unbedingt reinhaben wollen, und für so eine Spezialimplementation müßte ich die Lizenz halt ändern und da wären andere Beiträge ja trotzdem mit drin.

Nein, musst du nicht. Also du hast ein FLOSS Projekt und jemand will dich dafuer bezahlen dass du Feature X implementierst, da gibt es jetzt zwei Moeglichkeiten:

Erste Moeglichkeit: Du implementierst das Feature und fuegst es in die Code-Basis fuer alle ein. Der Kunde hat fuer deine Arbeit bezahlt, nicht fuer die Software.

Zweite Moeglichkeit: Du implementierst das Feature und nur dein Kunde bekommt die geaenderte Software mit dem Feature. FLOSS Lizenzen, wie die GPL, sind keine Freikarten um bei irgendwelchen Leuten anzuklopfen und Quellcode zu verlangen. Du musst im Besitz der Software sein um den Quellcode verlangen zu koennen und dies muss legal passiert sein.

Anekdote: Auf der GPL-Violations Mailinglist gab es vor einem Jahrzehtn oder so die Diskussion ob Android ROM-Projekte den Quellcode fuer den Kernel immer zur Verfuegung stellen muessen. Der grundsaetzliche Tenor war: Ja, muessen sie natuerlich. Aber einige diese Porjekte sind dazu uebergegangen ihre geaenderten Kernel nur in Foren zu verteilen wo man vorher einer Benutzervereinbarung zustimmt welche die Sache irgendwie limitiert hat, zumindest dass du nicht einfach so den kompilierten Kernel erhalten hast. Ich weisz nicht mehr was genau die Erkenntnis war, aber grundsaetzlich galt "Wenn du die Software nicht haben darfst, hast du auch kein Anrecht auf den Quellcode".

Vielleicht will ich von der Apache-Lizenz auch mal weg, vielleicht will ich einzelne Programmbestandteile mal in eine externe Bibliothek auslagern und die unter einer anderen Lizenz verfügbar machen...deshalb das Recht auf Neuveröffentlichung und Relizensierung.

Ja, da muss dir jeder der etwas beitragen will schriftlich die Erlaubnis dazu geben.

Das mit dem deutschen Urheberrecht und dessen Unveräußerbarkeit ist mir schon klar, aber wie sieht das eigentlich im Rest der Welt aus?

Uff...das ist ein schwieriges und komplexes Feld. In einigen Laendern kannst du die Sache komplett vergessen. Aber grundsaetzlich gilt: Dir gehoert dein Zeug, du hast das Recht daran.

Letztendlich sehe ich das Projekt immer noch als mein Projekt an, auch wenn ich es für jeden nutzbar mache und auch wenn andere dankenswerterweise etwas beisteuern und ich will am Ende halt sicherstellen, daß ich damit in Zukunft immer noch machen kann was ich für richtig halte.

Kannst du immer...soweit es die Lizenzen zulassen. Leute kannst du dabei immer ignorieren, Lizenzen sind das wichtige.

Mit dem Kollegen, der was beitragen möchte, wird es sicher kein Zerwürfnis geben, aber wer weiß was in der Zukunft noch passiert, und vielleicht bleibt er ja nicht der Einzige.

Wie gesagt, Linzenz und Vereinbarungen sind das wichtige, Leute kann man ignorieren.
 

Robert Zenz

Top Contributor
Ich glaube ich habe dich vielleicht leicht missverstanden, also was du eigentlich willst ist eine CLA damit du mit den Beitraegen machen kannst was du willst. Da waere ein Anwalt, wie @KonradN schon sagte der richtige Ansprechpartner.

Ein eingereichter Beitrag begründet keine irgendwie gearteten Rechte am Projekt selbst (z.B. Mitspracherecht).

Also um hier nochmal auszuholen: Die meisten Leute glauben dass FLOSS Projekte irgendwie eine Demokratie sind, aber so gut wie alle sind Diktaturen. Der Linux Kernel zum Beispiel. Es steht einer oder mehrere Leitfiguren oben beim Projekt welche angeben wohin das Projekt in etwa geht, wenn es einem nicht gefaellt, kann man immer ein neues Projekt abspalten. Rechte hat man schon von den Lizenzen aus keine, und noch weniger wenn es um die Projektstruktur geht.

Es gibt immer Leute die sich da was einbilden, aber dafuer gibt es die "Blockieren" Funktion der diversen Platformen.
 

White_Fox

Top Contributor
Danke, das klingt genau nach dem was ich gesucht habe.

Ich sollte vielleicht nocht anfügen, daß das Projekt unter Apache 2.0 steht.

Daß hier kaum jemand verbindliche Rechtsberatung geben will ist mir schon klar. Aber ob ich jetzt tatsächlich zu einem Anwalt damit renne...eher nein. Auch wenn der Rat natürlich richtig ist, dat is "nur" ein OSS-Projekt, wo ich bereits genug Zeit reinstecke, da auch noch Geld raufzuwerfen geht mir entschieden zu weit.
Ich werde mir aber mal ein Juristenforum suchen und da um Rat fragen, möglicherweise ist da jemand zu Mitarbeit in seinem Fachgebiet bereit. Habt ihr eine Empfehlung für so ein Forum? (Irgendein Forum würde ich sicher selber finden, aber es gibt halt solche und solche Foren...)


Die Lizenz kann man nicht nachtraeglich zurueckziehen.
Ich weiß, das meinte ich auch nicht. Soweit ich weiß wäre es aber z.B. möglich, dieselbe Software nochmal unter einer anderen Lizenz zu veröffentlichen.

Eine spätere Änderung der Lizenz ist tatsächlich so eine Sache, die da für die Zukunft im Raum steht. Wie gesagt, das Projekt ist unter Apache 2.0 veröffentlicht. Es gibt da aber so ein paar Quellcodehappen, die ich später durchaus als eigenständiges Projekt abspalten würde, das wäre dann aber kein ganzes Programm mehr, sondern ein Bibliothek zum Einbinden, und da wäre die Apache Lizenz nicht mehr so hilfreich, da würde ich eher über BSD nachdenken.
Also selbst wenn keine monetären Absichten dahinterstecken, wäre das ein Thema das ich mir offenhalten will.

Und selbst wenn es kein Zerwürfnis oder irgendwelchen Ärger gibt, sondern z.B. ein Beiträger lediglich keine Zeit mehr hat und in der Versenkung verschwindet, ich habe absolut keine Lust so jemanden dann nach ein paar Jahren wieder auftreiben zu müssen um seine Zustimmung zu was auch immer einzuholen.


Ansonsten ist das ein guter weg 90% (Zahl wurde fachmaennisch aus meinem Rektum extrahiert) der Leute die etwas beitragen wollen zu verschrecken.
Aktuell geht es um exakt einen Kollegen, den ich persönlich kenne, der mir etwas hilft. Ich rechne nicht damit, daß es in absehbarer Zeit mehr werden, aber wer weiß. Es gibt Dinge, die macht man lieber beim ersten Mal richtig und dann weiß jeder Bescheid.

Und wenn ein Projekt schon eine Weile läuft, sich die Leute eingespielt haben und dann eher unbekannte Leute dazukommen und solcher Agreementkram allmählich wichtig wird, ist es für die Alteingesessenen auch nicht gerade geil auf einmal sowas vorgelegt zu bekommen, wenn es vorher jahrelang ohne ging.


Auf jeden Fall erstmal vielen Dank für eure Hinweise. Der Terminus CLA hilft mir schonmal weiter.


Also um hier nochmal auszuholen: Die meisten Leute glauben dass FLOSS Projekte irgendwie eine Demokratie sind, aber so gut wie alle sind Diktaturen.
Richtig...und genau so will ich es ja auch halten. ;)
 

Robert Zenz

Top Contributor
Theoretisch koenntest du dir auch welche aus der Eclipse oder Canonical Gemeinschaft suchen, die haben seit jeher CLAs am laufen. Vielleicht kann dir von dort jemand biszchen aushelfen und beraten.

Ich weiß, das meinte ich auch nicht. Soweit ich weiß wäre es aber z.B. möglich, dieselbe Software nochmal unter einer anderen Lizenz zu veröffentlichen.

Wenn du das (alleinige) Urheberrecht an der Software hast, ja. Wenn nicht, kann die Lizenz nur restriktiver werden. Also LGPL kann zu GPL werden, GPL zu AGPL, aber LGPL nie zu MIT. Es sei denn die Lizenzen schlieszen das relizensieren explizit aus, aber ich glaube das tut eigentlich niemand.

Eine spätere Änderung der Lizenz ist tatsächlich so eine Sache, die da für die Zukunft im Raum steht. Wie gesagt, das Projekt ist unter Apache 2.0 veröffentlicht. Es gibt da aber so ein paar Quellcodehappen, die ich später durchaus als eigenständiges Projekt abspalten würde, das wäre dann aber kein ganzes Programm mehr, sondern ein Bibliothek zum Einbinden, und da wäre die Apache Lizenz nicht mehr so hilfreich, da würde ich eher über BSD nachdenken.
Also selbst wenn keine monetären Absichten dahinterstecken, wäre das ein Thema das ich mir offenhalten will.

Brauchst du das Recht dazu, ja.

Und selbst wenn es kein Zerwürfnis oder irgendwelchen Ärger gibt, sondern z.B. ein Beiträger lediglich keine Zeit mehr hat und in der Versenkung verschwindet, ich habe absolut keine Lust so jemanden dann nach ein paar Jahren wieder auftreiben zu müssen um seine Zustimmung zu was auch immer einzuholen.

Dann im vorhinein einholen...und gut aufbewahren. Wenn es mal einen Brand gibt und die sind weg, sind die weg. SQLite hat dazu sogar ein paar Saetze auf deren Seite.
 

White_Fox

Top Contributor
Mal eine Frage: Wäre eine Vereinbarung möglich die besagt, daß Beiträge unter BSD oder einer ähnlich freizügigen Lizenz, die die Weitergabe als Closed Software gestattet, stehen? Wenn ja, wie könnte man das technisch umsetzen?

Ich habe gestern mal in einem Juraforum nachgefragt und da u.a. die Aussage erhalten, daß ein kompletter Rechteverzicht gar nicht möglich ist. Also selbst wenn mein Kollege, der da was beisteuern will, willens wäre alles mitzumachen, wäre das gar nicht möglich.
Es ist zum Auswandern...:mad:
 

Robert Zenz

Top Contributor
Wäre eine Vereinbarung möglich die besagt, daß Beiträge unter BSD oder einer ähnlich freizügigen Lizenz, die die Weitergabe als Closed Software gestattet, stehen?

Klar geht das. Eine Vereinbarung zwischen zwei Parteien kann beinhalten dass dir die gebrauchten UNterhosen ueberlassen werden muessen.

Wenn ja, wie könnte man das technisch umsetzen?

Technisch? Gar nicht, oder besser, Technik hat damit nichtz zu tun. "Juristisch" ist das Wort der Wahl.

Ich habe gestern mal in einem Juraforum nachgefragt und da u.a. die Aussage erhalten, daß ein kompletter Rechteverzicht gar nicht möglich ist. Also selbst wenn mein Kollege, der da was beisteuern will, willens wäre alles mitzumachen, wäre das gar nicht möglich.

Das ist richtig. Urheberrecht wird man nicht los, aber er kann dir die alleinigen Rechte auf alles was er macht in dem Projekt, auf ewig, unwiderruflich, ohne Einschraenkungen lizenzieren.

Es ist zum Auswandern...:mad:

Wird aber auszerhalb der EU nicht besser...
 

White_Fox

Top Contributor
Ich hätte mal eine Frage zur MIT-Lizenz: Gibt es irgendeine Einschränkung, die die Lizenz vorsieht? Die zählt ja nur auf was erlaubt ist, aber in Summe klingt das so als könne man mit MIT-lizenziertem Zeug ein jeder machen was er will.
 

White_Fox

Top Contributor
Ok...das ist schonmal gut.

Noch eine Frage: Die MIT-Licence sagt:
Permission is hereby granted [...] including without limitation the rights to [...] sublicense [...]

Im Link von dir steht aber:
Must:
  • Include Copyright
    You must include the copyright notice in all copies or substantial uses of the work.
  • Include License
    You must include the license notice in all copies or substantial uses of the work.

Wie geht denn das zusammen?
 

Robert Zenz

Top Contributor
Ich lese das so "...including without limitation the rights to..." dass die Rechte dir gegeben werden uneingeschraenkt sind. Also du hast das Recht "...to use [without limitation]...". Die Rechte welche dir gegeben werden sind uneingeschraenkt sofern du die Rahmenbedingungen einhaeltst.
 

Robert Zenz

Top Contributor
Achso, das habe ich leicht ueberlesen dass es dir darum geht. Aber ja, genau. "Relicense" wuerde heiszen dass es nur unter der neuen Lizenz steht, aber "sublicense" bedeutet dass es unter beiden steht. Da gibt es eigentlich keinen Konflikt solange diese zusaetzliche Lizenz zulaessig ist, was im Falle von MIT ja quasi alles ist. Damit muss man dann die Bedingungen beider Lizenzen erfuellen...glaube ich, ich glaube es gibt auch Modelle wo man sich aussuchen kann welche man erfuellt...aber da bin ich jetzt raus, den Fall habe ich nur eine handvoll mal gesehen.
 

Ähnliche Java Themen

Neue Themen


Oben