author: Sjoerd Takken company: Sjoerd's Computerwelten title: PresentationOpenSource subtitle: slide_theme: default slide_footer: slide_subfooter: :category: S5-slideshow Open Source, was ist dass ? ============== Open Source, Definition ----------------- Als Open Source wird Software bezeichnet, deren _Quelltext_ öffentlich und von Dritten eingesehen, geändert und genutzt werden kann. Open-Source-Software kann meistens kostenlos genutzt werden.  _<a href="https://commons.wikimedia.org/wiki/File:Opensource.svg">Open Source Initiative official SVG</a>, <a href="https://creativecommons.org/licenses/by/2.5/legalcode" rel="license">CC BY 2.5</a>_ <br> Quelltext und Binärcode ----------------- **Quelltext (Souce Code)** Quelltext oder Source Code liegt in einer für den Menschen lesbaren und verständlichen Form vor. z.B. Wenn Sjoerd großer dann 40, dann gibt es Party <pre><code>if ( Sjoerd > 40 ) { Party() } </code></pre> **Binärcode** Binärcode ist für Menschen nicht lesbar und zu verstehen, es ist aber der Code die der Computer benutzt um Applikationen auszuführen. <pre><code>0010100010010111101001010100101011</code></pre> Kompilieren ----------------- Da der Computer nur mit Binärcode arbeiten kann, braucht es ein _Umsetzung_ der Quelltext in der Binärcode. Dieses umsetzen nennt man **Kompilieren**. <svg width="500" height="200" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:se="http://svg-edit.googlecode.com" se:nonce="24486"> <!-- Created with SVG-edit - https://github.com/SVG-Edit/svgedit--> <title>Kompilieren</title> <g class="layer"> <title>Layer 1</title> <g id="svg_24486_6"> <circle cx="397.999998" cy="94.000002" fill="#FFEEEE" id="svg_24486_2" r="69.78064" stroke="#000000" stroke-width="2"/> <text fill="#000000" font-family="serif" font-size="24" id="svg_24486_4" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="0" text-anchor="middle" x="397.5" xml:space="preserve" y="100.5">Binärcode</text> </g> <g id="svg_24486_5"> <circle cx="109.5" cy="100.5" fill="#FFEEEE" id="svg_24486_1" r="72.615417" stroke="#000000" stroke-width="2"/> <text fill="#000000" font-family="serif" font-size="24" id="svg_24486_3" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="0" text-anchor="middle" x="111.5" xml:space="preserve" y="105.5">Quelltext</text> </g> <line fill="none" id="svg_24486_7" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="2" x1="207.5" x2="305.5" y1="97.5" y2="97.5"/> <line fill="none" id="svg_24486_8" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="2" x1="280.5" x2="308.5" y1="66.5" y2="96.5"/> <line fill="none" id="svg_24486_9" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="2" x1="285.500001" x2="306.5" y1="123.5" y2="99.5"/> <text fill="#007f00" font-family="serif" font-size="24" id="svg_24486_10" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="0" text-anchor="middle" x="248.5" xml:space="preserve" y="49.5">Kompilieren</text> </g> </svg> Open Source ----------------- * Die meiste kommerzielle Applikationen liefern der Quelltext nicht mit. Dadurch kann man ein Applikation nicht selbe ändern. Wenn zum Beispiel ein Fehler in die Applikation aufgetreten ist kann man diese nicht Selbst ändern. Das heißt der Software ist geschlossen oder proprietär * Open Source Applikationen müssen ihrer Quelltext veröffentlichen. Dadurch kann man ein Programm selbst anpassen oder man kann ein Applikation weiter entwickeln. * Weil der Quelltext einsehbar ist sind Open Source Applikationen Prüfbar auf bewusst eingebrachte, Nutzer-ungewollte Ablaufen, die für politische oder wirtschaftliche Spionagezwecke verwendet werden könnten. Open Source Lizenzen - Copyleft -------------------- Das Unterschied zwischen die verschiedene Open Source Lizenzen ist vor allem abhängig von dem so genannte ''Copyleft'' Der ''Copyleft'' sagt uns ob dass Programm nach Anpassungen oder Erweiterungen herausgegeben werden kann als proprietär Software oder ein Open Source Lizenz die weniger oder kein Copyleft enthält.  Open Source Lizenzen - verschiedene Lizenzen -------------------- * **GPL** Die GNU General Public License ist die wichtigste und verbreitetste Open Source Lizenz. Etwa 60 % aller Open Source Software untersteht dieser Lizenz, darunter so bekannte Programme wie Linux, Nextcloud, Wordpress und VLC-Mediaplayer. Die GPL ist das Vorbild für alle Lizenzen mit einem strengen Copyleft und in der Version 2 und Version 3 in Gebrauch. * **AGPL** Diese Lizenz ist aufgebaut auf der GPL Lizenz. Allerdings ist es unten AGPL nicht möglich Kode geschlossen weiter zu entwickeln auf ein Server. Der Server muss dabei immer ein Möglichkeit haben der Quelltext zu downloaden. * **LGPL** Die GNU Lesser General Public License ist speziell für Programmbibliotheken gedacht. Sie hat ein beschränktes Copyleft, dass die Verlinkung der Bibliotheken sowohl mit Open Source Software als auch mit proprietärer Software ermöglicht. z.B. * **Apache License 2.0** Die Apache License liegt inzwischen in der Version 2.0 vor und ist eine Non-Copyleft-Lizenz. Wichtigstes Programme unter diesen Lizenz sind \OpenOffice, Docker, Android. * **BSD** Die BSD-Lizenz ist das Vorbild für zahlreiche Non-Copyleft-Lizenzen wie die MIT License, PHP License oder \OpenLDAP Public License, die sich zumeist nur im Namen unterscheiden. * **MPL** Die Mozilla Public License hat ein „sehr schwache Copyleft“-Lizenz und wird manchmal als Kompromiss zwischen der GPL und der BSD-Lizenz angesehen, auch wenn die MPL Restriktionen hat, die über die beiden Lizenzen hinausgehen. Grundsätzlich müssen geänderte oder kopierte Quelltextdateien weiterhin unter der MPL bleiben, dürfen jedoch zusammen mit proprietärem Code für ein Programm verwendet werden. Somit kann eine proprietäre Version von unter der MPL stehenden Open-Source-Programmen veröffentlicht werden Open Source Lizenzen - Lizenzen ¬ Copyleft -------------------- Art des Copyleft |Starkes Copyleft|Schwaches Copyleft|Kein Copyleft| ---------------- |----------------|------------------|-------------| Kombinationsmöglichkeit mit proprietärer Software|keine Einbindung in proprietären Code möglich|statisches und dynamisches Linken von Code mit proprietärer Software möglich. Eigen-Entwicklungen dürfen als proprietäre Software weitergegeben werden |Keine Vorgaben.|Der gesamte Code darf auch als proprietäre Software weitergegeben werden| Beispiel-Lizenz |GPL,AGPL,EUPL |LGPL, MPL |BSD, Apache, MIT | Beispiele von Open Source Software --------------------------------- Einige Beispiele für Open Source Software sind * Betriebssystem. Der Linux Kernel (GPL) * OpenOffice (Apache License 2.0) und Libreoffice (LGPL) * Datenbank: Mysql (GPL), \MariaDB (GPL, LGPL), \PostgreSQL (\PostgreSQL Lizenz, vergleichbar mit BSD) * Bilder bearbeiten: Gimp (GPL, LGPL) * Cloud: Owncloud (AGPLv3) und Nextcloud ( AGPLv3 ) * Email: Thunderbird (MPL/GPL/LGPL), Evolution (GPL) * Browser: Firefox (MPL), Chromium (BSD), Safari (Proprietär, Teile unter LGPL und BSDL), * Messenger: Telegram (Client: GPL, Server: proprietär), Telegram (Client: AGPLv3, Server: proprietär), Signal (Client: GPLv3, Server: AGPLv3) * Webseite, CMS: Wordpress (GPL), Drupal (GPL), Joomla (GPL), TYPO3 (GPL) Entwicklungen in Open Source: My\SQL ------------------------------------- **\MySQL und \MariaDB** * In 1995 kommt die erste Version von \MySQL aus. Gründer _Michael Widenius_ gibt der Datenbank der Name von sein Tocher _My_ * \MySQL wird in 2008 verkauft an Sun Microsystems * In 2010 wird \MySQL verkauft an Oracle und danach sind neue Funktionen häufig nur noch in der kommerziellen Version von \MySQL enthalten. * In 2009 wird die \MariaDB abgespalten von \MySQL durch der Gründer von \MySQL _Michael Widenius_. Micheal's andere Tocher _Maria_ wird als Name gewählt. * Im Dezember 2012 wurde von den ehemaligen \MySQL-Gründern die unabhängige \MariaDB-Foundation gegründet. Die Stiftung soll die Interessen der Nutzer und Entwickler der \MariaDB schützen und dafür sorgen, dass die freie Datenbank frei bleibt. <svg width="940" height="280" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:se="http://svg-edit.googlecode.com" se:nonce="64620"> <!-- Created with SVG-edit - https://github.com/SVG-Edit/svgedit--> <defs> <marker id="se_marker_end_svg_64620_11" markerHeight="5" markerUnits="strokeWidth" markerWidth="5" orient="auto" refX="50" refY="50" viewBox="0 0 100 100"> <path d="m100,50l-100,40l30,-40l-30,-40l100,40z" fill="#000000" id="svg_64620_6" stroke="#000000" stroke-width="10"/> </marker> <marker id="se_marker_end_svg_64620_9" markerHeight="5" markerUnits="strokeWidth" markerWidth="5" orient="auto" refX="50" refY="50" viewBox="0 0 100 100"> <path d="m100,50l-100,40l30,-40l-30,-40l100,40z" fill="#000000" id="svg_64620_13" stroke="#000000" stroke-width="10"/> </marker> <marker id="se_marker_mid_svg_64620_9" markerHeight="8.5" markerUnits="strokeWidth" markerWidth="107.573437" orient="0" refX="538.867188" refY="43.5" viewBox="0 0 1075.734375 85"> <rect fill="#ffffff" height="85" id="svg_64620_12" stroke-width="0" width="1075.734375" x="0" y="0"/> <text fill="#000000" font-family="serif" font-size="75" id="svg_64620_17" stroke-width="0" text-anchor="left" x="1" xml:space="preserve" y="62.75">Gegründet durch Michael Widenius</text> </marker> <marker id="se_marker_end_svg_64620_10" markerHeight="5" markerUnits="strokeWidth" markerWidth="5" orient="auto" refX="50" refY="50" viewBox="0 0 100 100"> <path d="m100,50l-100,40l30,-40l-30,-40l100,40z" fill="#000000" id="svg_64620_18" stroke="#000000" stroke-width="10"/> </marker> <marker id="se_marker_mid_svg_64620_10" markerHeight="8.5" markerUnits="strokeWidth" markerWidth="58.103125" orient="0" refX="291.515625" refY="43.5" viewBox="0 0 581.03125 85"> <rect fill="#ffffff" height="85" id="svg_64620_19" stroke-width="0" width="581.03125" x="0" y="0"/> <text fill="#000000" font-family="serif" font-size="75" id="svg_64620_20" stroke-width="0" text-anchor="left" x="1" xml:space="preserve" y="62.75">Erschienen in 2009</text> </marker> </defs> <g class="layer"> <title>Layer 1</title> <polyline fill="none" id="svg_64620_11" marker-end="url(#se_marker_end_svg_64620_11)" points="523.5,110.47660064697266 502.9107971191406,121.98829650878906 482.32159423828125,133.5" se:connector="svg_64620_1 svg_64620_8" stroke="#000000" stroke-width="2"/> <polyline fill="none" id="svg_64620_10" marker-end="url(#se_marker_end_svg_64620_10)" marker-mid="url(#se_marker_mid_svg_64620_10)" points="666.5,104.95415496826172 710,125.915771484375 753.5,146.8773956298828" se:connector="svg_64620_1 svg_64620_5" stroke="#000000" stroke-width="2"/> <polyline fill="none" id="svg_64620_9" marker-end="url(#se_marker_end_svg_64620_9)" marker-mid="url(#se_marker_mid_svg_64620_9)" points="228.5,68.90824890136719 373.5,69.53800201416016 518.5,70.16775512695312" se:connector="svg_64620_3 svg_64620_1" stroke="#000000" stroke-width="2"/> <ellipse cx="595.000002" cy="70.5" fill="none" id="svg_64620_1" rx="70.500002" ry="49" stroke="#000000" stroke-width="2"/> <text fill="#000000" font-family="serif" font-size="24" id="svg_64620_2" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="0" text-anchor="middle" x="597.5" xml:space="preserve" y="77.5">My SQL</text> <rect fill="#FFEEEE" height="66" id="svg_64620_3" stroke="#000000" stroke-width="2" width="186" x="41.5" y="35.5"/> <text fill="#000000" font-family="serif" font-size="24" id="svg_64620_4" stroke="#000000" stroke-width="0" text-anchor="middle" x="134.5" xml:space="preserve" y="72.5">Anfang 1995</text> <ellipse cx="829.499999" cy="183.5" fill="none" id="svg_64620_5" rx="69.999996" ry="43" stroke="#000000" stroke-width="2"/> <text fill="#000000" font-family="serif" font-size="24" id="svg_64620_7" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="0" text-anchor="middle" x="828.5" xml:space="preserve" y="190.5">Maria DB</text> <rect fill="none" height="89.000003" id="svg_64620_8" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="2" width="262.999993" x="260.499995" y="139.5"/> <text fill="#000000" font-family="serif" font-size="16" id="svg_64620_14" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="0" text-anchor="middle" x="391.5" xml:space="preserve" y="163.5">durch Oracle als kommerzielle</text> <text fill="#000000" font-family="serif" font-size="16" id="svg_64620_15" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="0" text-anchor="middle" x="391.5" xml:space="preserve" y="185.5">Version und abgespeckte Open Source</text> <text fill="#000000" font-family="serif" font-size="16" id="svg_64620_16" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="0" style="cursor: move;" text-anchor="middle" x="396.5" xml:space="preserve" y="209.5">Version weiterentwickelt</text> </g> </svg> Entwicklungen in Open Source: Owncloud ------------------------------------- **Owncloud und Nextcloud** * In 2010 würde Owncloud gegründet. * In 2016 würde Owncloud abgespalten und als Nextcloud weiter entwickelt. * Danach werden Owncloud und Nextcloud separat weiter entwickelt. * Ab 2018, viele EU-Staaten setzen auf Nextcloud (Deutschland, Niederlande, Frankreich, Schweden) * Nextcloud ist auf jeden Server zu installieren und dadurch ist es einfach Lokal vor Ort Server zu finden. <svg width="940" height="280" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:se="http://svg-edit.googlecode.com" se:nonce="64620"> <!-- Created with SVG-edit - https://github.com/SVG-Edit/svgedit--> <defs> <marker id="se_marker_end_svg_64620_20" markerHeight="5" markerUnits="strokeWidth" markerWidth="5" orient="auto" refX="50" refY="50" se_type="rightarrow" viewBox="0 0 100 100"> <path d="m100,50l-100,40l30,-40l-30,-40z" fill="#000000" stroke="#000000" stroke-width="10"/> </marker> <marker id="se_marker_mid_svg_64620_20" markerHeight="8.5" markerUnits="strokeWidth" markerWidth="109.173438" orient="0" refX="546.867188" refY="43.5" se_type="textmarker" viewBox="0 0 1091.734375 85"> <rect fill="#ffffff" height="85" stroke-width="0" width="1091.734375" x="0" y="0"/> <text fill="#000000" font-family="serif" font-size="75" stroke-width="0" text-anchor="left" x="1" xml:space="preserve" y="62.75">Gegrundert durch Frank Karlitschek</text> </marker> <marker id="se_marker_end_svg_64620_21" markerHeight="5" markerUnits="strokeWidth" markerWidth="5" orient="auto" refX="50" refY="50" se_type="rightarrow" viewBox="0 0 100 100"> <path d="m100,50l-100,40l30,-40l-30,-40z" fill="#000000" stroke="#000000" stroke-width="10"/> </marker> <marker id="se_marker_end_svg_64620_22" markerHeight="5" markerUnits="strokeWidth" markerWidth="5" orient="auto" refX="50" refY="50" se_type="rightarrow" viewBox="0 0 100 100"> <path d="m100,50l-100,40l30,-40l-30,-40z" fill="#000000" stroke="#000000" stroke-width="10"/> </marker> <marker id="se_marker_mid_svg_64620_22" markerHeight="8.5" markerUnits="strokeWidth" markerWidth="240.821875" orient="0" refX="1205.109375" refY="43.5" se_type="textmarker" viewBox="0 0 2408.21875 85"> <rect fill="#ffffff" height="85" stroke-width="0" width="2408.21875" x="0" y="0"/> <text fill="#000000" font-family="serif" font-size="75" stroke-width="0" text-anchor="left" x="1" xml:space="preserve" y="62.75">2016: Frank Karlitschek verlasst Owncloud und forked Owncloud zu Nextcloud</text> </marker> </defs> <g class="layer"> <title>Layer 1</title> <polyline fill="none" id="svg_64620_22" marker-end="url(#se_marker_end_svg_64620_22)" marker-mid="url(#se_marker_mid_svg_64620_22)" points="656.130126953125,120.5 684.861328125,144 713.5924682617188,167.5" se:connector="svg_64620_1 svg_64620_5" stroke="#000000" stroke-width="2"/> <polyline fill="none" id="svg_64620_21" marker-end="url(#se_marker_end_svg_64620_21)" points="523.5,91.6810302734375 452.5,112.71395111083984 381.5,133.7468719482422" se:connector="svg_64620_1 svg_64620_8" stroke="#000000" stroke-width="2"/> <polyline fill="none" id="svg_64620_20" marker-end="url(#se_marker_end_svg_64620_20)" marker-mid="url(#se_marker_mid_svg_64620_20)" points="228.5,68.90824890136719 373.5,69.53800201416016 518.5,70.16775512695312" se:connector="svg_64620_3 svg_64620_1" stroke="#000000" stroke-width="2"/> <ellipse cx="595.000002" cy="70.5" fill="none" id="svg_64620_1" rx="70.500002" ry="49" stroke="#000000" stroke-width="2"/> <text fill="#000000" font-family="serif" font-size="24" id="svg_64620_2" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="0" text-anchor="middle" x="597.5" xml:space="preserve" y="77.5">Owncloud</text> <rect fill="#FFEEEE" height="66" id="svg_64620_3" stroke="#000000" stroke-width="2" width="186" x="41.5" y="35.5"/> <text fill="#000000" font-family="serif" font-size="24" id="svg_64620_4" stroke="#000000" stroke-width="0" text-anchor="middle" x="134.5" xml:space="preserve" y="72.5">Anfang in 2010</text> <ellipse cx="773.499999" cy="216.5" fill="none" id="svg_64620_5" rx="69.999996" ry="43" stroke="#000000" stroke-width="2"/> <text fill="#000000" font-family="serif" font-size="24" id="svg_64620_7" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="0" text-anchor="middle" x="773.5" xml:space="preserve" y="223.5">Nextcloud</text> <rect fill="none" height="65.000003" id="svg_64620_8" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="2" width="198.999987" x="176.499996" y="132.5"/> <text fill="#000000" font-family="serif" font-size="16" id="svg_64620_14" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="0" text-anchor="middle" x="273.5" xml:space="preserve" y="156.5">weiter entwickelt</text> <text fill="#000000" font-family="serif" font-size="16" id="svg_64620_15" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="0" text-anchor="middle" x="273.5" xml:space="preserve" y="178.5">als Open Source Projekt</text> </g> </svg>  Entwicklungen in Open Source: Open Office ------------------------------------- **Open Office und Libre Office** * In 2000 würde Open Office abgespalen von Star Office, in 2002 erschien Version 1.0 * In 2011 würde Open Office abgespalten und als Libre Office weiter entwickelt. * Danach werden Open Office und Libre Office separat weiter entwickelt. <svg width="940" height="280" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:se="http://svg-edit.googlecode.com" se:nonce="64620"> <!-- Created with SVG-edit - https://github.com/SVG-Edit/svgedit--> <g class="layer"> <title>Layer 1</title> <ellipse cx="172.5" cy="75.5" fill="#FFEEEE" id="svg_64620_2" rx="93" ry="39" stroke="#000000" stroke-width="2"/> <ellipse cx="434.5" cy="76.5" fill="#FFEEEE" id="svg_64620_3" rx="82" ry="35" stroke="#000000" stroke-width="2"/> <text fill="#000000" font-family="serif" font-size="24" id="svg_64620_4" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="0" text-anchor="middle" x="160.5" xml:space="preserve" y="82.5">Star Office</text> <text fill="#000000" font-family="serif" font-size="24" id="svg_64620_5" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="0" text-anchor="middle" x="433.5" xml:space="preserve" y="81.5">Open Office</text> <ellipse cx="639.5" cy="166.5" fill="#FFEEEE" id="svg_64620_6" rx="82" ry="35" stroke="#000000" stroke-width="2"/> <text fill="#000000" font-family="serif" font-size="24" id="svg_64620_7" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="0" style="cursor: move;" text-anchor="middle" x="638.5" xml:space="preserve" y="171.5">Libre Office</text> </g> </svg> Auch die ersten größeren Unternehmen erklärten ihre Absicht, künftig auf LibreOffice zu setzen. So wechselten beispielsweise die Kopenhagener Krankenhäuser[47] und das dänische Verkehrsministerium zu LibreOffice.[48] Die Verwaltung der französischen Region Île-de-France gab im Oktober 2011 bekannt, 800.000 USB-Sticks, welche LibreOffice und andere freie Software beinhalten sollen, an Studenten verschenken zu wollen