• 12 Posts
  • 6 Comments
Joined 7 months ago
cake
Cake day: April 4th, 2025

help-circle

  • Mehr Details hierzu bei heise:

    https://www.heise.de/news/GEMA-vs-OpenAI-Niederlage-fuer-ChatGPT-vor-Muenchner-Gericht-11073532.html

    Konkret geht es darum, dass ChatGPT die Liedtexte auf Anfrage nahezu komplett und korrekt wiedergegeben hat. Für die GEMA ein klares Zeichen dafür, dass die Texte als solche im System abgespeichert sein müssen. OpenAI hingegen sagt, die Liedtexte würden quasi vom System neu erzeugt. Dass die neun Lieder für das Training der KI-Modelle genutzt wurden, stand außer Frage und war für beide Seiten unstrittig. Das Gericht entschied nun, die Texte seien “memorisiert” worden – und damit handele es sich um eine unerlaubte Vervielfältigung. Dass die exakte Wiedergabe quasi eine zufällige Ausgabe sei, hält das Gericht für ausgeschlossen.

    Richtig interessant wird das bei Open Source Programmcode. Das Urheberrecht schützt in Deutschland ja auch die “kleine Münze”, d.h. auch Werke ohne nennenswerte intellektuelle Leistung. Das heisst, selbst ein paar Zeilen Programmcode sind geschützt, und ebenso alle abgeleiteten Werke, die den Code modifizieren oder auch nur auf seiner Kenntnis beruhen. Der Begriff des “abgeleiteten Werkes” ist weit gefasst - um Urheberrechtsverletzungen zu vermeiden sind z.B. sehr aufwendige sog. Cleanroom-Implementierungen notwendig.

    Nun ist es offenkundig, dass der Löwenanteil des Programmcodes, mit dem die LLMs trainiert wurden, Open Source Code ist - und während ein kleiner Teil davon keine Beschränkungen erhebt (“public Domain”), macht Code mit permissiven Lizenzen Auflagen (z.B. Nennung der Autoren), und “Copyleft” Code verlangt, dass abgeleitete Werke die gleiche oder ggfls. eine kompatible Lizenz verwenden.

    Da ein grosser Teil der Open Source Projekte diese Copyleft-Lizenzen benutzen, und fast aller im Web veröffentlichter Code Open Source ist, sind Urheberrechtsverletzungen bei Verwendung von Code aus ChatGPT, Copilot und so weiter nahezu unvermeidbar.


  • Ich habe nie verstanden, wie man – außer man steht auf der Gehaltsliste der fossilen Lobby – selbstproduzierten Strom vom Dach und daraus gewonnene Wärme (v.a. mehr kWh Wärme, als Stromverbrauch) als ideologischen Quatsch abtun kann.

    Weltweit, von Trump über Bolsenaro und den Brexitern bis zur AfD tun sich Rechtsextreme, Superreiche und fossile Großunternehmen zusammen, um den Umstieg auf klimafreundliche Energie und Technik zu blockieren.

    Hier ein paar Beispiele.

    Das liegt nicht nur daran, dass sich da eine fortschrittsfeindliche Industrie und eine fortschrittsfeindliche gesellschaftliche Strömung zusammen finden.

    Vielmehr hat die fossile Industrie erkannt, dass sie in demokratisch regierten Ländern, deren Regierungen aus den wissenschaftlichen Fakten halbwegs vernünftige Schlüsse ziehen, keine Zukunft mehr hat. Also bekämpft sie die Demokratie.




  • To sum up the main problem: Modern C++ does not implement destructive moves that are checked at compile time. Instead, moving from an object needs to take into account that it can potentially be used again, because in C++ it does not become destroyed or inaccessible as result of the move.

    This requires to set some objects - especially ones that track resources in an exclusive way - to an invalid or uninitialized state. For example, collections can be set to an empty collection, which is a valid state that frees resources. But a thread class would have an invalid thread id, and a unique smart pointer class a null pointer or a “deleted” flag, both of which need to be checked at run time.

    And this would be less of a problem if it were not a core promise if C++ that, by virtue of its constructors, any object that has successfully been constructed, is in a valid state (or never came into existence). (And the latter requires, of course, using exceptions and RAII, which in turn requires most code to be exception-safe, which, considering the many possibilities for UB to occur, is less trivial than it might sound…).