ebook img

Java aktuell Java aktuell PDF

68 Pages·2015·42.68 MB·German
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Java aktuell Java aktuell

Java 01-2016 | Frühjahr | www. ijug.eu aktuell l Praxis. Wissen. Networking. Das Magazin für Entwickler l e Aus der Community — für die Community u t k a Java ist auf dem a v a richtigen Kurs J 7 7 9 6 1- Funktionale Programmierung 9 1 2 N Java 8 und Haskell S S I R U 0 E Docker 8 5, x: Überblick und Infrastruktur-Deployment u el n e B F H C Aktuell 0 8 9, H: Software-Lizenzrecht für Entwickler C R U E 0 RESTful-Microservices 6 5, A: Dropwizard und JAX-RS R U E 0 9 4, D: 1 0 3 0 9 4 0 iJUG 3 8 7 9 1 Verbund 9 1 4 DevCamp 2016 23. - 24. Februar 2016 | Bonn ADF Fitness Center IoT Mobile devcamp.doag.org iiiiiiiii www.ijug.eu iii Herzliche Grüße von der JavaOne 2015 DevCamp 2016 Ich nutze die Zeit in San Francisco, um kurz vor Drucklegung der Zeitschrift die neuesten Nachrichten zu übermitteln. Das Wichtigste zuerst: Java ist weiter auf einem guten Kurs. Die Stimmung ist gut; viele Keynote-Speaker greifen das Motto „20 Jahre Java“ auf und blicken auf zahlreiche Meilensteine zurück. So auch Sun-Gründer Scott McNealy, der mit seinen „Top Ten Nightmares” sehr humorvoll an 23. - 24. Februar 2016 | Bonn fast vergessene Zeiten erinnert. Zuerst eines der größten Highlights, das im Rahmen der JavaOne eher nur am Rande zur Sprache kommt: Der WebLogic Server 12.2.1 steht als Java-EE-7-Implementierung ab sofort zum Download bereit. Auch die weiteren Neuankündigungen sind eher unspektakulär: Ohne große Überraschungen werden die Roadmaps für Java SE, Java ME und Java EE aufgezeigt und planmäßig die gesteckten Technologie-Ziele eingehalten. Nachdem die parallel stattfindende Oracle OpenWorld ganz im Zeichen der Cloud steht, gibt es auch Wolfgang Taschner für Java einen neuen Java SE Cloud Service. Unter dem Motto „Build, Zip, Deploy“ ist dieser die ein- Chefredakteur Java aktuell fachste Art, um Java-SE-basierte Anwendungen beispielsweise unter Tomcat in der Cloud zu nutzen. Bei der Implementierung wird zur Virtualisierung Docker benutzt und zum Tooling der Flight Recorder for Production Use angeboten. Der Service ist skalierbar und es gibt die Funktion „One Click Java Versi- on Update“. Man muss sich also nicht um die Pflege der Plattform und um die Security-Fixes kümmern. Java SE verzeichnet ein großes Wachstum, was belegt, dass das Commitment von Oracle nicht nachlässt, sondern Früchte trägt. Mark Reinhold, Chief Architect Java Platform Group, stellt die we- sentlichen Dinge im kommenden JDK 9 (Projekt „Jigsaw“) vor – die Eliminierung des Classpath-Hell und die Modularisierung der Java-Plattform. Einen Ausblick auf das, was nach Java 9 kommen soll, gibt Brian Goetz, Chief Language Architect Java Platform Group: Das Valhalla Project bringt Specialized Ge- nerics sowie Value Types und im Panama Project wird es ein Foreign-Function-Interface, Data Layout Control sowie Array 2.0 geben. Michael Greene, Vice President and General Manager System Technologies and Optimization, Soft- ware and Services Group bei Intel, demonstriert in der Sponsor-Keynote sein Hauptanliegen, eine gute Java-Performance auf der gesamten Intel-Plattform. Neu ist die Unterstützung für Java ME auf Intel Edge Devices sowie der „Intel IoT Developer Kit“ für Java. Intel bereitet sich bereits heute auf die Opti- mierungen kommender Java-Technologien auf der kompletten Intel-Plattform vor. Der ruhige Verlauf der JavaOne war auch der wichtigste Eindruck für mich. Java ist weiterhin auf einem guten Weg und jeder in der Community kann sich damit entspannt auf seine Entwicklungspro- jekte konzentrieren. In diesem Sinne wünsche ich allen viel Erfolg und eine gute Zeit. Ihr ADF Fitness Center IoT Mobile devcamp.doag.org Java aktuell 1-2016 | 3 Inhalt 26 30 Die Brownies Collections Library stellt Alternativen bereit Einsatzmöglichkeiten für Docker 3 Editorial 26 High-Performance Lists in Java 60 RESTliche Featuritis – modulare Thomas Mauch Anwendungen mit JAX-RS Markus Karg 5 Das Java-Tagebuch Andreas Badelt 30 Demystifying Docker Bernd Fischer 63 DukeCon ist mehr als eine Javaland-App! 8 Software-Lizenzrecht für Entwickler Gerd Aschemann Antje Kilián 36 Infrastruktur-Deployment mit Ansible und Docker Robert Reiz 64 „Vor diesem Hintergrund ist die starke 11 Funktionale Programmierung mit Community das Rückgrat von Java …“ Java 8 und Haskell Interview mit Björn Martin Nicole Rauch 40 Good bye Swing – hello JavaFX Christoph Rein und Stefan Kühnlein 65 Entwurfsmuster – Das umfassende 15 Java als Integrationslösung in einer ge- Handbuch wachsenen Anwendungslandschaft 46 2000 Zeilen Java oder gelesen vom Daniel Grycman Claus Straube 50 Zeilen SQL? Lukas Eder 66 Inserentenverzeichnis 20 WildFly-Installationen parametrisieren und mit Git verwalten 51 Puppet für Entwickler Martin Welß Sebastian Hempel 66 Impressum 23 Generics, Type Erasure und Fallstricke 55 RESTful-Microservices mit Dropwizard in der Praxis Felix Braun Michael Müller 36 55 Infrastruktur-Deployment mit Docker RESTful-Microservices mit Dropwizard 4 | iiiiiiiii www.ijug.eu iii Das Java-Tagebuch Andreas Badelt, Mitglied der DOAG Java Community Das Java-Tagebuch gibt einen Überblick über die wichtigsten Geschehnisse rund um Java – in komprimierter Form und chronologisch geordnet. Der vorliegende Teil widmet sich den Ereignissen im dritten Quartal 2015. 3. Juli 2015 und Frameworks zeigt, angefangen von überambitioniert. Aber zuletzt hieß es zumin- Servlet und JAX-RS über Spring MVC bis dest, dass das entsprechende Release 12.2.1 CDI 2.0 - erster Entwurf veröffentlicht hin zu vert.x und Play. auf jeden Fall vor Ende 2015 herauskomme. Vielleicht ist es nur ein kleiner Schritt für die https://community.oracle.com/docs/DOC- http://www-01.ibm.com/support/know- Menschheit, aber es ist ein großer Schritt 918126 ledgecenter/SSAW57_8.5.5/com.ibm. für Java: „Context and Dependency Injec- websphere.wlp.nd.multiplatform.doc/ae/ tion 2.0“ liegt jetzt als erster Entwurf zum Nachtrag (25.August): Auch Reza Rahman cwlp_javaee7.html Review vor. Die großen Themen sind „Mo- beschäftigt sich mit dem Thema „Asyn- dularität“ und „Unterstützung für Java SE“. chronität“ (oder „Reactive”) in Java EE 7 und Wie inzwischen üblich, arbeitet die Exper- speziell in JAX-RS 2. Dieser Blog-Eintrag ist 21. Juli 2015 tengruppe sehr öffentlich; alle relevanten ebenfalls zur Lektüre empfohlen. Dokumente – Mails, Blog Posts, die Spezi- https://blogs.oracle.com/theaquarium/entry/ Warten aufs Christkind – Java 9 Preview fikation und der Quellcode selbst – sind öf- asynchronous_support_in_jax_rs Ben Evans, Co-Chef der London Java Com- fentlich verfügbar. munity, beschreibt in einem Artikel auf InfoQ http://www.cdi-spec.org ausführlich zwei großartige Verbesserun- 20. Juli 2015 gen, die wir uns von Java 9 noch versprechen können – neben dem Dauerthema „Modu- 8. Juli 2015 Jolokia und DevOps larität“: Unterstützung für HTTP/2 und die Wer beim letzten JavaLand die „Early JShell REPL (Read-Eval-Print-Loop). Dum- Java ME 8 Tutorial Series Adopters”-Ecke besucht hat, konnte Roland merweise dauert es noch bis Herbst 2016 Sehr detaillierte Anleitungen für Raspber- Huss mit seiner JMX-http-Bridge „Jolokia“ – wenn der Zeitplan eingehalten wird. Aber ry-Pi-Bastler für die unterschiedlichen in Aktion sehen. Wer nicht, kann sich auf wer schon mehr machen möchte, als nur Optionen zur Anbindung von Sensoren Markus Eiseles Blog einen Eindruck darüber durch das virtuelle Schlüsselloch zu schau- und Aktoren bietet ein Tutorial von Jose verschaffen, wie gut sich das Framework für en, für den gibt es ja Adopt OpenJDK sowie Cruz. Dies ist bereits der dritte Teil, dies- ein modernes, leichtgewichtiges Monitoring das „JDK 9 Outreach”- Programm, das mög- mal über die UART-Schnittstelle. Der erste eignet – oder etwas cooler ausgedrückt: lichst viele Projekte zum frühzeitigen Testen Teil ging bereits vor einem Jahr online, ich „Monitoring DevOps Style”. mit dem JDK 9 animieren soll. hatte es nur noch nicht erwähnt, was ich http://blog.eisele.net/2015/07/monitoring- https://wiki.openjdk.java.net/display/Adopti- hiermit nachhole. devops- style-with-wildfly-9.html on/JDK+9+Outreach https://community.oracle.com/docs/DOC- 917166 20. Juli 2015 28. Juli 2015 14. Juli 2015 WebSphere Liberty ist EE 7 zertifiziert Nochmal: JShell und REPL in Java 9 IBM WebSphere Liberty 8.5 ist für Java EE 7 Ein sieben-Minuten-Video erklärt, wie man die Mini-Tutorial zu nicht-blockierenden Web- zertifiziert und schließt damit zu GlassFish Evaluierungs-Schleife in Java 9 nutzen kann. Anwendungen 4, (JBoss) WildFly 8, Hitachi Cosminexus und https://blogs.oracle.com/java/entry/jshell_ Ich bin immer wieder erfreut über die TmaxSoft JEUS auf. Im Gegensatz zu den and_relp_in_java schier unerschöpfliche Zahl von hoch- beiden Letztgenannten ist es sogar für das wertigen Java-Tutorials im Internet. Ge- leichtgewichtigere Web Profile zertifiziert. rade die kleinen haben es mir angetan – Wann zieht Oracle mit WebLogic nach? Die 5. August 2015 sie geben einen schnellen Überblick über ursprüngliche Aussage auf der JavaOne 2014 ein Thema, garniert mit Code-Beispielen. – Oracle peilt nach der Referenz-Implemen- MD5 wird per Default deaktiviert (für Zerti- Eines davon ist „Develop Non-Blocking tierung von GlassFish an, auch den zweiten fikate) Web Applications in Java”, das die Heran- Oracle-Server wenige Monate nach einem MD5-Signaturen sind bereits seit dem Jahr gehensweise in verschiedenen Standards neuen Java-EE-Release hochzuziehen – war 2011 von der IETF als unsicher deklariert Java aktuell 1-2016 | 5 Tagebuch und die Verwendung stärkerer Algorith- 24. August 2015 Vorjahresmonat einen Satz um fünf Prozent- men (wie „SHA-*“) wird empfohlen. Mit punkte auf knapp 19,6 Prozent macht und C, kommenden Java-Updates bis Ende des JSON-B 1.0 – erster Entwurf liegt vor das leicht auf 15,6 Prozent verloren hat, wie- Jahres (inklusive Java 9 Early Access) steigt Der erste Entwurf für die neue JSON-B-Spe- der von Platz 1 verdrängt. C++ und C# sind der Druck nun: Per Default sollen MD5- zifikation (Standard-Dokument und Quell- mit knapp 7 und knapp 5 Prozent bereits un- Signaturen dann nicht mehr akzeptiert code / JavaDoc der Referenz-Implementie- ter „ferner liefen”, aber immer noch weit vor werden. System-Administratoren, die die rung) ist jetzt für ein öffentliches Review Python, PHP und insbesondere vor JavaScript existierenden MD5-Zertifikate nicht gegen verfügbar. Die Dokumentation umfasst nur mit gerade mal 2,3 Prozent (was ich gar nicht sicherere austauschen wollen oder können, 35 Seiten – genau genommen weniger als so recht glauben kann). Objective-C ist in die haben aber immer noch die Möglichkeit, die 20 relevante Seiten – und nach Aussage der Bedeutungslosigkeit abgestürzt (1,4 nach Property „jdk.certpath.disabledAlgorithms“ Expertengruppe ist der Entwurf weit fortge- gut 10 Prozent), direkt dahinter liegt nun der anzupassen. Wohlgemerkt: MD5 wird schritten, sodass Neugierige keinen Grund Nachfolger Swift, der deutlich zulegen konnte, nicht komplett sterben (etwa für generelle zum Zögern haben sollten. aber trotzdem nur bei knapp 1,3 Prozent liegt. Checksummen), es geht nur um Zertifikate. https://jcp.org/aboutJava/communityprocess/ Egal, ob man den Zahlenspielereien glaubt https://blogs.oracle.com/java-platform-group/ edr/jsr367/index.html oder nicht, eine gewisse Selbstbestätigung ist entry/strengthening_signatures es ja schon für alle Java-Programmiererinnen und -Programmierer, dass sie auf das richtige 7. September 2015 Pferd gesetzt haben. Was mich aber auch et- 12. August 2015 was stutzig macht, ist, dass die alternativen Oracle trennt sich von etlichen Java-Evange- JVM-Sprachen wie Scala, Groovy oder Clojure sun.misc.Unsafe soll langsam verschwinden listen alle mit deutlich unter 1 Prozent weit hinten Nach Mark Reinholds nicht repräsentativer Die Evangelisten haben jetzt viel Zeit, um ihre im Feld liegen. Jetzt möchte ich bitte einen Auf- Umfrage gehöre ich wohl zu den wenigen Gospels zu schreiben. Wie Heise berichtet, hat schrei und Meldungen von ganz vielen „Adop- Java-Entwicklern, die nie auf die Idee ge- sich Oracle auf einen Schlag von mehreren sei- tion Stories” hören … kommen sind, sun.misc.Unsafe zu benutzen. ner Technik-Experten getrennt, die Java in die http://www.tiobe.com/index.php/content/pa- Es ist erstaunlich, in wie vielen Projekten Welt tragen sollen. Die Gerüchteküche kochte perinfo/tpci/index.html die Klasse, die nur zur internen Verwendung schnell hoch und zeitweise hieß es sogar, das im JDK gedacht war, verwendet wird: Akku, Team werde komplett aufgelöst. Das konnte Spring, Hibernate, um einige der prominen- zumindest bislang nicht bestätigt werden. Es 8. September 2015 teren zu nennen. Aber Oracle will die Klasse, sieht eher danach aus, als sei es Teil einer ge- die nicht nur dem Namen nach eine große Si- nerellen Entlassungswelle. Allerdings hat das Status von Jigsaw cherheitslücke darstellt, langsam verschwin- Team nun seinen bisherigen Leiter Simon Rit- Mark Reinhold, Chief Architect der Java- den lassen. Das wird allerdings länger dauern. ter sowie fünf weitere Mitglieder verloren und Plattform, hat in einem langen Artikel den Im JDK 9 soll sie Modulen nur noch zur Verfü- ist somit auf nur noch neun Personen zusam- Stand der Diskussion zum neuen Modul- gung stehen, wenn die Abhängigkeit explizit mengeschrumpft. Wenn man sich die Themen System Jigsaw beschrieben, das mit Java 9 deklariert wurde. Darüber hinaus wird sie anschaut, die von ihnen bedient wurden, könn- kommen soll. Soweit scheint sich alles recht nicht mehr weiterentwickelt; einzelne, häufig te man auf die Idee kommen, dass Java EE und intuitiv in die gewohnte Java-Welt einzufü- genutzte Funktionalitäten werden Stück für GlassFish keine große Rolle mehr spielen. Aber gen. Modul-Informationen mit Exporten und Stück in andere, sicherere APIs ausgelagert. zumindest Ersteres klingt unlogisch und ist Abhängigkeiten werden als „module-info. https://blogs.oracle.com/java/entry/about_ wohl Kaffeesatzleserei. java“ in einem Package oder einem Jar Root sun_misc_unsafe http://www.heise.de/developer/meldung/ abgelegt und sind sowohl zur Compile-Zeit Oracle-trennt-sich-von-etlichen-Java-Evangeli- als auch zur Laufzeit – auch über Reflection – sten-2806645.html verfügbar. Über die simple Basis hinaus gibt 18. August 2015 es spezielle Features, etwa für Container. So weit, so gut – der eigentliche Aufwand wird Neuer Redirect Scope in Java EE 8 8. September 2015 im Zerlegen der Java-SE-Plattform selbst lie- Mit dem MVC-API wird demnächst ein neuer gen, inklusive Abwärtskompatibilität. Scope Einzug in Java EE halten: „@Redirect- TIOBE-Index: Java nach Algorithmus-Ände- http://openjdk.java.net/projects/jigsaw/ Scoped“. Er wird benutzt, um den Kontext zu rung wieder klar vorn spec/sotms bewahren zwischen einem ursprünglichen Neues vom TIOBE-Index, der die Populari- http://marxsoftware.blogspot.de/2015/09/ Request, der mit einem Redirect beantwor- tät von Programmiersprachen anhand von jdk9-state-of-module-system.html tet wird, und dem dadurch ausgelösten Fol- Treffern in 25 verschiedenen Suchmaschinen ge-Request (falls der Redirect denn an den messen soll. Um der fortwährenden Kritik am gleichen Server geht). Durch die Integration Messverfahren zu begegnen, haben die Her- 6. Oktober 2015 mit CDI wird kein großer Aufwand betrieben, ausgeber den Algorithmus verändert; Ausrei- es ist nur ein neuer CDI Custom Scope. ßer in einzelnen Suchmaschinen werden nun DZone: JSF und Spring MVC Kopf an Kopf vorn https://java.net/projects/ozark/sources/sour- individuell behandelt und entfernt. Vielleicht DZone hat eine Umfrage zur Popularität von ces/show/test/redirectScope liegt es daran, dass Java im Vergleich zum Java Web-Frameworks durchgeführt – Kopf 6 | iiiiiiiii www.ijug.eu iii an Kopf vorn lagen JSF und Spring MVC mit ausnutzen lässt. Die Schwachstelle beruht sen, bevor er sie öffentlich machte. Justin jeweils gut 34 Prozent, weit dahinter schon auf einer unsicheren Methode, mit der Java Kennedy von Foxglove antwortete dar- Apache Wicket mit 16,3 Prozent. Das bestä- Objekte deserialisiert. Sie gefährdet Java- auf, dass man die Schwachstelle nicht als tigt das Ergebnis des „Java EE 8 Community basierte Anwendungen wie JBoss, Jenkins, Zero-Day-Lücke betrachtet habe. Apache Survey”, der Anlass zur Aufnahme von MVC OpenNMS, WebSphere oder WebLogic. Commons selbst hat seinen 3.2.x-Zweig in den Standard war – wobei natürlich die Wie Foxglove erklärt, ist die Lücke schon um einen vorgeschlagenen Patch erweitert, Entwicklung mit einem schon lange existie- seit mehr als neun Monaten bekannt. Weil Ja- sodass sich die Serialisierung der anfälligen renden De-facto-Standard Spring MVC und va-Anwendungen abhängige Bibliotheken mit InvokerTransformer-Klasse per Flag stan- einem erst als Entwurf vorliegenden richti- jeder Applikation bündeln, statt Shared Libra- dardmäßig abschalten lässt. gen Standard MVC 1.0 spannend bleibt. ries zu nutzen, dürfte sich die Schwachstelle http://www.zdnet.de/88251371/luecke-in- https://dzone.com/articles/poll-what-java- schon seit einiger Zeit ausnutzen lassen. apache-commons-bibliothek-gefaehrdet-java- jvm-frameworks-do-you-use Der Sicherheitsforscher Steve Breen hat anwendungen einen Exploit für die Schwachstelle ent- wickelt. Er basiert ihm zufolge auf einer 9. Oktober 2015 ähnlichen Lücke in Apache Commons im Zusammenhang mit der Deserialisierung Verfeinerter Entwurf von MVC 1.0 liegt vor von Objekten, die schon im Januar öffent- Andreas Badelt Gerade haben wir noch davon gesprochen, lich gemacht wurde. Basierend auf der Art, Leiter der DOAG SIG Java jetzt liegt der neue Standard MVC 1.0 als wie Java benutzerdefinierten Code beim De- „Early Draft Review 2” vor und kann online serialisieren von Objekten ausführt, konnte eingesehen werden (unbedingt auch dem Breen nach eigenen Angaben angepasste Link zur „Public Project Page” folgen). Wie Payloads erstellen, um sich Shell-Zugriff zu immer: Die Expertengruppe freut sich über verschaffen. Das funktioniere auf Maschi- viel und frühes Feedback. nen, auf denen JBoss, Jenkins, OpenNMS, https://www.jcp.org/en/jsr/detail?id=371 WebLogic oder WebSphere laufen oder die Java Remote Method Invocation verwenden. Apache und Jenkins haben inzwischen Nachtrag reagiert, und Patches angekündigt, um die Schwachstelle zu beseitigen. Jenkins ver- Andreas Badelt ist Senior Technology Architect bei Infosys Lücke in Apache-Commons-Bibliothek gefähr- öffentlichte einen Workaround, der das für Limited. Daneben organisiert er seit 2001 ehrenamtlich det Java-Anwendungen den Angriff ausgenutzte Jenkins CLI System die Special Interest Group (SIG) Development sowie die SIG Wie ZDNet meldet, haben Sicherheitsfor- deaktiviert. Ein Patch soll bald erscheinen. Java der DOAG Deutsche ORACLE-Anwendergruppe e.V. scher von Foxglove Security auf eine Lücke Vorwürfe äußerte Jeff Gehlbach von Daneben war er von 2001 bis 2015 ehrenamtlich in der in der häufig genutzten Apache-Commons- OpenNMS, der via Twitter erklärte, Breen Development Community und ist seit 2015 in der neuge- Bibliothek hingewiesen, die sich zum Ein- hätte die betroffenen Projekte zunächst gründeten Java Community der DOAG Deutsche ORACLE- schleusen und Ausführen von Schadcode über die Zero-Day-Lücke informieren müs- Anwendergruppe e.V. aktiv. Wir suchen keine Alleskönner. Wir suchen Teamplayer! Als eines der Top Beratungshäuser in Deutschland bringen wir Business und IT zusammen. Wir unterstützen Unternehmen darin, zukunft sweisende Strategien zu entwickeln und diese mit innovati ven Lösungen in die Tat umzusetzen. Dabei gehen wir bei der Transformati on von Businessanforderungen in IT-Lösungen gemeinsam neue Wege. Wen wir suchen: Sie haben klare Karriereziele und verfügen über besondere Qualifi kati onen, Erfahrungen und Fähigkeiten in den Bereichen Java, Microsoft oder Open Source. Ergreifen Sie die Initi ati ve und begeistern Sie uns! Java aktuell 1-2016 | 7 EXXETA AG | Albert-Nestler-Straße 11 | 76131 Karlsruhe | fon: +49 721 6105-1500 | fax: +49 721 6105-1599 | web: EXXETA.com | mail: [email protected] Standorte: Karlsruhe, Berlin, Frankfurt, München, Stutt gart, Zürich + Update An dieser Stelle erhalten Sie in jeder Ausgabe ein Update über das Geschehen in der Java-Community Software-Lizenzrecht für Entwickler Antje Kilián, Heinrich & Reuter Solutions GmbH Die einen betrachten Lizenzbestimmungen als Ausdruck von Community-Zusammenhalt, für die anderen sind sie ein unbekanntes Übel, dem leider viel zu häufig mit Ignoranz begegnet wird. Diese Fehleinschätzung kommt derzeit einige große Konzerne teuer zu stehen. Dieser Artikel gibt Antworten auf einige grundlegende Fragen. Wenn ich im Laden ein Buch kaufe, dann darf Variante sind die Lizenzen im Grunde „AGB“, Künstlers, Autors oder eben Entwicklers zu ich es sofort lesen. Ich kann es verleihen, ich denn das ist der Begriff für vorformulierte seinem Werk schützt. Es entsteht auch ohne kann Sachen darin markieren oder die Sei- Verträge, die man in unveränderter Form für Anmeldung und hilft dem Erschaffer, die Un- ten herausreißen. Bei Software ist das an- mehrere Rechtsgeschäfte mit verschiedenen versehrtheit seines Werkes zu schützen. Auf ders. Nur weil ich eine CD in der Hand halte, Personen anwendet. Als solche unterliegen der anderen Seite gibt es das amerikanische auf der sich die Kopie eines Programms be- sie auch den „Rechtsvorschriften für AGB“, „Copyright“. Im Gegensatz zu unserem Ur- findet, darf ich dieses noch längst nicht be- die zum Schutz der Verbraucher gedacht heberrecht, das ausschließlich natürliche nutzen und schon gar nicht verleihen. sind. Damit ist zum Beispiel ausgeschlossen, Personen innehaben können, kann auch eine Ein Lizenzvertrag bestimmt im Grunde die dass eine Lizenz eine Regelung enthält, die juristische Person, wie ein Unternehmen, Co- Regeln, unter denen eine Software verwen- für den Nutzer nicht vorhersehbar war. pyright auf etwas haben. det werden kann. Darf man sie verändern? Lade ich nun eine Software auf eine „Copyleft“ ist kein echter juristischer Darf ich sie sowohl privat als auch kommer- Plattform hoch, biete ich jedem, der Zugang Begriff sondern lediglich ein Wortspiel, ziell einsetzen? All das ist Bestandteil eines dazu hat, an, einen Vertrag mit mir abzu- das auf die Unterschiedlichkeit von Copy- Lizenzvertrags. Diese Verträge können indi- schließen. Das ist ähnlich wie bei einem Ge- left und Copyright hinweisen soll. Während viduell geschlossen werden, zum Beispiel bei tränkeautomaten. Dieser ist für jeden, der Letzteres das Ziel hat, die Rechte anderer einer speziell entwickelten Software für den vorbeikommt, ein ständiges Angebot des am Werk einzuschränken, hat Ersteres das Geschäftsgebrauch, oder sie können allge- Eigentümers. Werfe ich eine Münze in den Ziel, die Einschränkung der Rechte für die mein für alle Nutzer formuliert werden. In der Automaten, stimme ich den Bedingungen Allgemeinheit aufzuheben und das Werk letzten und häufigeren des Eigentümers durch meine Handlun- allen beliebig zugänglich zu machen. Copy- gen zu, der Jurist nennt das „konkludent“. left-Lizenzen wie die GNU General Public Gleiches gilt für Software. Wenn ich diese License (GPL) gewähren also allen Entwick- benutze, stimme ich damit den Vertragsbe- lern das Recht, diese Software zu verwen- dingungen zu, ob ich sie gelesen habe oder den und zu verbreiten. Sie sind aber auch nicht. Lade ich eine Software mit Copyleft- viral. Das bedeutet, sie „infizieren“ den auf Lizenz herunter, begründet das noch keinen ihrer Basis entstandenen Code und verlan- Vertragsschluss. Erst wenn ich sie benutze, gen auch diesem eine Copyleft-Lizenz ab, verändere oder an andere weitergebe, binde genau wie allen Programmen, die wieder- ich mich an die Bedingungen der Lizenz. um auf diesem Code basieren. Gerade fiel mit „Copyleft“ ein wichtiger Begriff, mit dem sich jeder Entwickler aus- Lizenzformen im internationa- einandersetzen sollte. In Deutschland len Vergleich herrscht das nicht übertragbare Urhe- Im Wesentlichen unterscheiden wir zwischen berrecht. Erschafft der Entwickler fünf Grund-Lizenzformen. Die Bekannteste eines Unternehmens eine Soft- ist die „proprietäre Software“, was übersetzt ware, so ist immer er der Urhe- so viel bedeutet wie „im Eigentum befindlich“. ber und nie das Unternehmen. Das ist zum Beispiel die im Auftrag eines Kun- Als Land der Dichter und Denker den entwickelte Software. Diese ist in der Re- haben wir uns ein Rechtssys- gel „Closed Source“ und stark einschränkend. tem geschaffen, dass vor allem Sie erlaubt den Nutzern normalerweise nur, die geistige Beziehung eines damit zu arbeiten. Der Code ist normalerwei- 8 | iiiiiiiii www.ijug.eu iii se unveränderlich und auch die Weitergabe ist tenlos“. Daraus bildete sich ein ernstes wenn lediglich ein Tool verwendet wurde, nicht ohne Weiteres möglich. Image-Problem für die „free Software“, denn das unter GPL steht, oder das Programm Damit in Verbindung stehen Freeware dieser Zusatz ließ zunächst einige vor dem auch dann in gleichem Maße funktionieren und Shareware. Auch hier darf die Software Gedanken zurückschrecken und hemmte würde, wenn man den GPL-Code komplett nicht verändert, aber im Vergleich zur prop- die Verbreitung. weglässt. Im Zweifelsfall gilt allerdings die rietären Software an andere Nutzer weiter- Aus der „free Software“ heraus bildete Faustformel: Wenn man sich nicht ganz si- gegeben werden. Bei der Freeware entste- sich deshalb schließlich die „Open Source“- cher ist, dass es unabhängige Werke sind, hen dafür keine Kosten, bei der Shareware Initiative. Bei dieser Bewegung war weni- muss der entstehende Code auch unter in der Regel erst nach einer gewissen Test- ger die ideelle Überzeugung entscheidend, GPL-Lizenz stehen. phase. sondern der Fokus lag überwiegend auf den Die Einhaltung dieser Lizenz sollte sehr Die Public Domain ist im amerikanischen technischen Vorteilen eines offenen Codes. ernst genommen werden, denn inzwischen Rechtssystem angesiedelt. Hier gibt der Die Definition schaffte mehr Möglichkeiten, werden ganze Hackathons (siehe „https:// Autor keine Lizenz an und drückt damit ei- Open-Source-Code auch für proprietäre fsfe.org/news/2013/news-20130626-01. nen völligen Verzicht auf die – ihm norma- Software zu nutzen und damit den Code für de.html“) organisiert, um Verstöße gegen lerweise zustehenden – Rechte aus. Hier die Allgemeinheit zu schließen. diese Lizenz aufzudecken. Besteht ein be- gibt es keine Regeln und jeder kann mit Daraus entstand die Unterscheidung, rechtigter Verdacht auf einen Verstoß, kann dem Code machen, was er möchte. Leider dass zwar alle „freie Software“ auch „Open die Herausgabe des Codes jeder kommerzi- ist Public Domain in Deutschland kein gül- Source“ ist, aber nicht alles, was „Open Sour- ellen Software von einem Gericht zur Über- tiges Rechtskonstrukt. Hierzulande gilt: ce“ ist, wird auch von der Freien-Software- prüfung gefordert werden. Werden Abweichungen vom Urheberrecht Initiative anerkannt. Diese akzeptiert keine Eine weitere Besonderheit besteht dar- nicht explizit benannt, dann gibt es auch Lizenzen, die neben der viralen Verbreitung in, dass GPL-Code nicht mit jedem anderen keine. Dieser Widerspruch kann zu massi- noch zusätzliche Einschränkungen abver- Code kompatibel ist. Wie bereits erwähnt, ven Problemen führen, da auf den gängi- langen, etwa die Nennung der Autoren. dürfen einer GPL-Lizenz keine zusätzlichen gen Code-Sharing-Plattformen häufig Code Einschränkungen hinzugefügt werden, we- ohne Lizenz anzutreffen ist. Verwendet der Welche Lizenzen es gibt und der auf das Original noch auf abgeleitete arglose deutsche Entwickler diese, verstößt was es zu beachten gilt Werke. Nun kommt noch hinzu, dass es ver- er im Grunde gegen das Urheberrecht. Um Beginnen wir gleich mit der gleichermaßen schiedene Versionen der GPL und anderer diesem Problem vorzubeugen, arbeiten bekannten und gefürchteten GPL-Lizenz, gängiger Lizenztypen gibt und nicht alle Ver- beispielsweise die Betreiber der Plattform der „General Public License“. Sie ist die einzi- sionen miteinander kombinierbar sind. Um „GitHub“ an Möglichkeiten, die Vergabe ge wirklich verbreitete Copyleft-Lizenz, nach etwas Klarheit zu schaffen, bietet die Freie- von Lizenzen in Zukunft zu vereinfachen. der Entwickler Ausschau halten sollten. Laut Software-Initiative eine Liste der kompatib- Die letzte Gruppe ist gleichzeitig auch die GitHub ist die GPLv2 mit knapp 13 Prozent len Software an (siehe „http://www.gnu.org/ vielseitigste. Es sind die Open-Source-Li- die dritthäufigste Lizenz auf ihrer Platt- licenses/license-list.html“). Nicht kompatibler zenzen und die freie Software. form (siehe „https://github.com/blog/1964- Code darf nicht im gleichen Projekt mit GPL- open-source-license-usage-on-github-com“). Code verwendet und unter gemeinsame Li- Wie offen ist Open Source? Kurz gesagt gibt die GPL jedem Entwickler zenz gestellt werden. Die Begriffe „freie Software“ und „Open Source“ das Recht, den unter ihr lizenzierten Code Wer die GPL kennt, hat eventuell auch werden fälschlicherweise oft als Synonyme zu verwenden, zu bearbeiten und zu ver- schon von der „LGPL“ und der „AGPL“ gehört. verstanden. Vor allem der ideelle Gedanke ist breiten. Die Software muss nicht unbedingt Die Lesser General Public License (LGPL) es, der beide voneinander trennt. Zuerst gab kostenlos sein, aber der Code bleibt unter ist eine abgeschwächte Form der GPL und es die „Free Software“-Initiative. Diese grün- allen Umständen für jeden Interessierten hauptsächlich für Bibliotheken gedacht. Die dete sich mit einem wichtigen sozialen, politi- offen zugänglich, denn jedes Werk, das Affero General Public License (AGPL) ist hin- schen und ethischen Anliegen. Sie wollte da- auf ihm basiert, muss ebenfalls unter der gegen noch restriktiver als die GPL. Sie wur- für sorgen, dass durch die Zusammenarbeit GPL lizenziert werden. Von dieser Regelung de geschaffen, um die Lücke zu schließen, vieler Entwickler an einer Software und damit kann nur dann abgesehen werden, wenn nach der die derzeitige GPL „Software as a durch die Bündelung ihrer Kompetenzen das der verwendete Teil für das Gesamtwerk Service“ noch nicht als Weiterverbreitung bestmögliche Ergebnis entsteht. Es sollte unerheblich ist. Wann dies allerdings der klassifiziert. Kommt die AGPL zum Einsatz, dagegen angegangen werden, dass große Fall ist, wurde leider nicht genau definiert müssen auch die Hoster von Open-Source- Unternehmen aus rein finanziellen Interessen und ist daher im Zweifelsfall eine Ausle- Software den Code der angebotenen Soft- ihren Code geheim halten und somit verhin- gungssache des Gerichts. ware offenlegen. dern, dass andere daraus lernen oder etwas Die Lizenz selbst gibt an, es müsse sich Neben den Copyleft-Lizenzen existieren noch Besseres herstellen. um „vernünftig betrachtet selbstständige auch einige sehr bekannte Copyright-Lizenzen. Leider bedeutet das Wort „free“ im Eng- und in sich selbst getrennte Werke“ han- Die bekanntesten sind die MIT-Lizenz, die BSD- lischen nicht nur „frei“ sondern auch „kos- deln. Dies wäre zum Beispiel gegeben, Lizenz, die MS-PL- und die Apache-Lizenz. Java aktuell 1-2016 | 9 Update Man hört immer wieder, dass die Berke- lediglich ab, den Lizenztyp zu benennen und und nur wenige haben wirklich mit ernsthaf- ley-Software-Distribution-Lizenz (BSD) die den Text weiterzugeben. Sie ist daher auch ten Konsequenzen zu rechnen. Es gibt derzeit am wenigsten restriktive Lizenz sei. Dies kompatibel mit jeglicher anderen Lizenz. allerdings eine stetig ansteigende Bewegung ist nur bedingt richtig. Zwar trifft das auf in diesem Thema, die sich zwar zunächst da- die aktuelle Version der Lizenz zu, dennoch Fazit und Best Practice rauf beschränkt, Exempel an großen Konzer- gab es eine erste Version, die die Verpflich- Ziel dieses Artikels ist es nicht, einen univer- nen zu statuieren (etwa Skype Technologies tung enthielt, dass jedes entstehende Werk salen Leitfaden für den Umgang mit Lizen- SA vs. Gpl-violations.org LG München 2007), den Zusatz „Dieses Produkt enthält von der zen zu geben, denn das ist schlicht unmög- aber bald sicher auch kommerzielle Projekte Universität von Kalifornien, Berkeley, und lich. Es ist dringend anzuraten, bei größeren kleiner Unternehmen erreicht und auch hier Beitragleistenden entwickelte Software“ kommerziellen Projekten die Überprüfung empfindliche Strafen einfordert für ein Ver- enthalten musste. Nicht nur, dass dieser von einem Experten durchführen zu las- gehen, das mit überschaubarem Aufwand Satz die Lizenz inkompatibel mit der GPL sen. In der Regel enthalten schließlich fast hätte vermieden werden können. machte, er inspirierte einige Entwickler auch alle Verträge zur Software-Entwicklung die dazu, ihren eigenen Satz hinzuzufügen, was Klausel, dass der Entwickler für die Einhal- wiederum darin resultierte, dass eine im tung der Lizenzrechte garantiert, und nicht Jahr 1970 erschienene Version von NETBSD selten kann eine Zuwiderhandlung zu Scha- ganze 75 Werbesätze enthielt, die Entwick- densersatzforderungen im fünfstelligen ler von darauf basierenden Werken zu über- Bereich und zum Rückruf aller verbreiteten nehmen hatten. Kopien führen. Inzwischen wurde diese Klausel entfernt, Für die eigenen und kleineren Projekte aber dennoch wird zuweilen Software der kann aber Entwarnung gegeben werden, alten Lizenzierung angeboten, weshalb Ent- denn mit einigen einfachen Spielregeln wickler vor der Verwendung prüfen sollten, hat man hier nur wenig zu befürchten. Zu- mit welcher Variante sie es zu tun haben. nächst sollte jede Software ein Dokument Die Apache-v.2-Lizenz trifft man zwar enthalten, dass sowohl die eigene Lizenz seltener auf den gängigen Plattformen, aber angibt als auch eine Liste aller verwende- alle Apache-Software-Projekte stehen un- ter Fremdsoftware mit deren Lizenz und, ter dieser Lizenz inklusive des Apache HTTP falls bekannt, dem Autor. Das wird zwar Server. Diese Lizenz verdient besondere nicht von jeder Lizenz verlangt, schadet im Erwähnung, da sie die erste mit der soge- Zweifel allerdings nicht. Zu jeder Lizenz ge- nannten „Patenrechtsklausel“ war. Diese hört der englischsprachige Originaltext. Es besagt, sollte jemand eine aus diesem Code wurde diskutiert, ob eine Verlinkung genü- resultierende Software patentieren lassen, ge, das Landgericht München (2007 AZ 7 muss er allen anderen Entwicklern erlauben, O 5245/07) hat dies jedoch abgelehnt und die Software weiterhin zu verwenden ohne fordert stets die Nennung des gesamten Angst vor einer Patentrechtsklage. Auch Textes.Möchte man GPL-lizenzierten Code diese Klausel war nicht kompatibel mit der verwenden, so heißt es genau zu überprü- Antje Kilián GPL v.1 und v.2. Erst die GPL v.3 erlaubt die fen, ob alle anderen Teile kompatibel sind, [email protected] gleichzeitige Verwendung beider Lizenzen. und natürlich auch die Lizenz des entste- Die Microsoft Public License (MS-PL) henden Werkes entsprechend zu wählen. gewinnt derzeit zunehmend an Beliebtheit. Für die eigene Software gibt es meiner Die Besonderheit dieser Lizenz ist die Auf- Meinung nach eine einfache Faustformel: forderung, die Trademarks der Mitschöpfer Möchte man die Freiheit seines Codes aus zu benennen und nicht als eigene auszu- ethischer Überzeugung heraus bewahren, geben. Zudem enthält sie ebenfalls die Pa- dann wählt man „AGPL“ oder „GPL“. Möchte tentrechtsklausel und ist damit inkompa- man einfach nur seinen Code mit anderen tibel mit den GPL-Lizenzen v.1 und v.2. Die teilen und den Mitentwicklern das Leben ein Lizenz enthält außerdem ein schwaches bisschen leichter machen, auch wenn am Copyleft. Der Code entstehender Werke Ende ein anderer Geld damit verdient, dann kann nur dann frei gewählt werden, wenn wähle man „MIT“. Auf keinen Fall jedoch Antje Kilián hat einen Masterabschluss in IT-Recht an das Gesamtergebnis in kompilierter Form sollte man den Code ohne jegliche Lizenz der Leibnitz Universität Hannover sowie der Strath clyde University Glasgow erworben und arbeitet seit- weitergegeben wird. Bei einer direkten Wei- veröffentlichen, denn das nimmt allen Be- dem bei der Heinrich & Reuter Solutions GmbH in tergabe ist zwingend die MS-PL-Lizenz bei- teiligten den Spaß. Dresden als Justiziarin. Mit ihrem juristischen Fach- zubehalten. Abschließend lässt sich sagen, dass je- wissen unterstützt sie das Team bei der Umsetzung Abschließend ist noch die MIT-Lizenz zu der Entwickler selbst entscheiden muss, wie von Software-Projekten für Kunden verschiedenster nennen, die nicht ohne Grund die derzeit am ernst er es mit den Lizenzen halten möchte. Größenordnung. Seit einigen Jahren hält sie Fachvorträ- weitesten verbreitete ist. Diese Lizenz ist Das IT-Recht hat Mühe, mit der schnellen ge zum Thema „IT-Recht für Entwickler“ und ist Spre- wirklich frei und verlangt den Entwicklern Entwicklung des Internets Schritt zu halten cherin auf verschiedenen Veranstaltungen der Branche. 10 |

Description:
40 Good bye Swing – hello JavaFX. Christoph Rein Mini-Tutorial zu nicht-blockierenden Web-. Anwendungen wertigen Java-Tutorials im Internet. Ge- rade die . C++ und C# sind mit knapp 7 .. Nicole Rauch, Software-Entwicklung und Entwicklungs-Coaching public Point (int x, int y) { this.x = x;.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.