Am Nachmittag merkte ich, das es der zweite Konferenztag ist. Die Aufnahmefähigkeit nimmt suzessive ab… Von meinen Rechtschreibungsqualitäten möchte ich gar nicht reden. Wahrscheinlich werde ich in ein paar Wochen nochmal über die Beiträge drüber arbeiten 😉
14:15 – PHP to Hack, an incrementally typed Adventure at Slack
Tja das war mir jetzt etwas zu hoch, zu früh und zu Komplex um auf Englisch noch mitzukommen.
15:00 – Open-Source-Software und Quellcode aus dem Internet rechtssicher einbinden und nutzen
Hier wird Deutsches Recht diskutiert. Sollte aber ähnlich dem unseren sein….
nach Berner Übereinkunft: Copyrightsymbol entstanden
Erreichen der Schöpungshöhe: Die Untergrenze des Urheberrechtsschutzes ist klassischerweise niedrig angesetzt.
Wenn das Copyrightzeichen nicht dabei ist, ist es aber dennoch geschützt. Das eine hat nichts mit dem anderen zu tun.
HTML-Code und SQL-Statements sind eher nicht schutzfähig, was umstritten ist. Datenbanken und Benutzeroberlächen können grundsätzlich geschützt werden.
Lizenzen und Lizenzrecht
Rechte welcher Arten werden über Lizenzen erteilt.
Open Source / Freeware ist eine sogenannte Schenkung. Solange keine arglistige Täuschung vorliegt (z.B.: grober Fehler im Code den ich verschweige) bin ich Haftungsfrei.
Lizenzen kann ich nicht gutgläubig erwerben. Hier greift der „gutgläubige Käufer“ Ansatz nicht.
Open Source-Lizenzen
BSD, MIT: „Mach mit meiner Softare was du willst – aber verklag mich nicht“
GPL und dgl: „Ich habe meine Software Open Source gemacht – und du solltest das auch tun.“
Strenges Copyleft: GPL
Eingeschränkts Copyleft: LGPL, CDDL, EPL
Kein Copyleft: MIT, BSD, Apache License
Copyleft
Copyleft-Lizenz fordert, dass auch die abgeleiteten Werke unter einer solchen Lizenz zur Verfügung gestellt werden
Sorgt somit dafür, dass Fortentwicklungen des freien Ur-Programms frei bleiben
Veränderungen sind nur erlaubt, wenn sie unter den gleichen Lizenzbedingungen weitergegeben werden.
Der Gedanke ist letzlich der Schutz der freien Software (vor Wandlung in proprietäre Software) – wenn man das verstanden hat, lösen sich alle weiteren Fragen von selbst.
Fallstricke für Unternehmen als Einsetzende von Open Source
- Infizierung: Problem des sog. „Viralen Effekts“ (werden Lizenzbedingungen nicht eingehalten, kann durch Copyleft-Effekte die Gesamte proprietäre Software infiziert werden. Schlimmstenfalls steht dann die gesamte Software unter Open Source Lizenz)
- Kompatibilität von Lizenzen mit strengem Copyleft
- Kompatibilität von Lizenzen mit eingeschränkten Copyleft
Zu dem Thema gibt es vom Vortragenden einen auführlichen Foliensatz der allerdings erst am 14. Juni für mich zur Verfügung steht…
Minifyer sollten so eingestellt sein, das Verweis auf Urheber drin bleibt sowie Link zum Originalquelltext. Zur Erklärung: Minifyer komprimieren den Entwicklern das Stylesheet und die JavaScript Files
Wo gebe ich Lizenzen an
- im Quelltext
- wenn User Interface, dann in der Lizenzübersicht
Getrennt für jede Lizenz die Pakete einzeln auflisten - wenn auf einem Gerät ohne User Interface: Bspw: mit einem Label auf dem Gerät à la „Lizenzübersicht unter http://……/licenses.html“ verweisen
GPL und LGPL: wo stelle ich meinen Sourcecode zur Verfügung, wenn laut Lizenz erforderlich?
Auf meiner Webseite eine eigene Seite erstellen, wo ich den Code zur Verfügung stelle nach jedem Release oder einen Written Offer online stellen. Wenn dann eine Anfrage kommt, Sourcecode schicken
Das abgeleitete Werk
Unbedingt versuchen darauf zu verzichten, dass es ein „derivative work“ wird. Nur dann, wenn ich daraus eine eigene Komponente mache und meine Software über eine API damit kommunizieren lass. Denn dann muss ich nur die Komponente Open Source stellen aber nicht die gesamte Software.
Wenn Code aus dem Internet z.B. Stackoverflow: Urheber unbeding nennen!
Lizenzscanner
- Blackduck (unheimlich teuer)
- WhiteSource (eher wenig intuitiv in der Bedienung)
- Sonarqube (noch nicht evaluiert)
- Flexera
Können in übliche CI/CD Tools eingebunden werden wie GitLab
Können aber nicht sagen ob es ein „derivative work“ ist. Ob das irgendwann noch möglich ist, wird sich zeigen.
Buchtip: Jäger – Open Source Lizenzen
16:15 – Undoing Things and saving your Neck with Git
Persönliche Einführung: Was kann man mit Git alles machen. Prinzipiell. Git wird in der Softwareentwicklung oft benutzt. Einerseits erleichtert es Teams miteinander an einem Projekt zu arbeiten, ohne den Code über USB Stick austauschen zu müssen, andererseits versioniert es die einzelnen Arbeitsschritte. Git bietet hierzu umfangreiche Möglichkeiten. Wenn Benutzer mit dem Terminal oder der Eingabeaufforderung nicht so vertraut sind, gibt es dementsprechend Programme die man sich installieren kann wie zum Beispiel Sourcetree oder SmartGit (kostenpflichtig)
Was ist ein Commit laut Wikipedia:
Als Commit oder Check-In bezeichnet man bei der Verwendung von Versionsverwaltungssystemen den Vorgang des Einspielens von neuem oder geändertem Quelltext und anderen Dateien in das Versionsverwaltungssystem. Dabei wird eine neue Version der Software den anderen an der Softwareentwicklung beteiligten Entwicklern zur Verfügung gestellt.
Leider hab ich die ersten paar Anweisungen verpasst, deshalb der Einstieg mitten drin.
- Reverting a Commit in the Middle
git revert – erstellt einen neuen Commit
reset –mixed not hard, bedeutet er mischt die Veränderungen und zeigt diese als Lokale Änderungen an - Resetting a file to an old revision
checkout a single file
$ git checkout 6bcf266b – index.html
Reflog: Git Tool
Im Reflog ist alles dokumentiert. Das Reflog ist somit das Protokoll, das Tagebuch
- Recovering Deleted Commits
$ reflog
$ git branch happy-ending ..commit-id.. - Recovering a Deleting Branch
$ git branch featuer/login ..commit-id.. - Moving a Commit to a New Branch
create new Branch and than reset head –hard - Moving a Commit to a Different Branch
move to feature
than cherry pick
than go pack to master and clean up reset –hard
Was ist mit Interactive Rebase alles möglich:
Change Commit Text
$ git rebase -i Head~3 (for 3 steps)
reword instead pick. do not change the text from commit yet – save here
in the next step you could change the text
- Deleting Old Commits
- Squashing Multiple Commits Into One
- Adding a Change to an Old Commit
- Splitting / Editing an Old Commit
Link: https://www.git-tower.com/learn/git/first-aid-kit
17:15 – Diversity – a different Perspective
Sorry, today to much for me. Brain is overload.
Aber sie hat eine sehr energiereiche Art auf der Bühne zu interagieren.