<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>GNU Archive - CEOsBay</title>
	<atom:link href="https://ceosbay.com/tag/gnu/feed/" rel="self" type="application/rss+xml" />
	<link>https://ceosbay.com/tag/gnu/</link>
	<description>It&#039;s all about Tech</description>
	<lastBuildDate>Sun, 16 Apr 2023 08:45:37 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://i0.wp.com/ceosbay.com/wp-content/uploads/2022/11/image.jpg?fit=32%2C32&#038;ssl=1</url>
	<title>GNU Archive - CEOsBay</title>
	<link>https://ceosbay.com/tag/gnu/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">211828771</site>	<item>
		<title>Java &#8211; Endlose Möglichkeiten der Softwareentwicklung</title>
		<link>https://ceosbay.com/2023/03/16/erklaerung-java/</link>
					<comments>https://ceosbay.com/2023/03/16/erklaerung-java/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Thu, 16 Mar 2023 18:24:29 +0000</pubDate>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Datenbanken]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[32]]></category>
		<category><![CDATA[754]]></category>
		<category><![CDATA[Annotationen]]></category>
		<category><![CDATA[Applets]]></category>
		<category><![CDATA[Apps]]></category>
		<category><![CDATA[Bytecode]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[Classpath]]></category>
		<category><![CDATA[Compiler]]></category>
		<category><![CDATA[Dev]]></category>
		<category><![CDATA[Einsatz]]></category>
		<category><![CDATA[Entwickeln]]></category>
		<category><![CDATA[Entwicklungsumgebungen]]></category>
		<category><![CDATA[Float]]></category>
		<category><![CDATA[GNU]]></category>
		<category><![CDATA[Gosling]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[IEEE]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JDK]]></category>
		<category><![CDATA[JVM]]></category>
		<category><![CDATA[Klassen]]></category>
		<category><![CDATA[Kompilieren]]></category>
		<category><![CDATA[Laufzeitumgebung]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Machine]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[Microsystems]]></category>
		<category><![CDATA[Multithreading]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Objektorientiert]]></category>
		<category><![CDATA[Optimierung]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Reflexion]]></category>
		<category><![CDATA[Source]]></category>
		<category><![CDATA[Sun]]></category>
		<category><![CDATA[Technologie]]></category>
		<category><![CDATA[TIOBE]]></category>
		<category><![CDATA[Virtual]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[XCode]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=1168</guid>

					<description><![CDATA[<p>Java ist eine objektorientierte Programmiersprache und eine eingetragene Marke des Unternehmens Sun Microsystems. Dieser Beitrag ist verhältnismäßig etwas länger bzw. auf mehrere Teile aufgeteilt, da ich derzeit Java erlerne. Oracle hat es im Jahr 2010 &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/03/16/erklaerung-java/">Java &#8211; Endlose Möglichkeiten der Softwareentwicklung</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Java ist eine objektorientierte Programmiersprache und eine eingetragene Marke des Unternehmens Sun Microsystems. Dieser Beitrag ist verhältnismäßig etwas länger bzw. auf mehrere Teile aufgeteilt, da ich derzeit Java erlerne. Oracle hat es im Jahr 2010 aufgekauft. Die Programmiersprache ist ein Bestandteil der Java-Technologie. Sie besteht grundsätzlich aus dem Java-Entwicklungswerkzeug (JDK) zum Erstellen von Java-Anwendungen und der Laufzeitumgebung (JRE) zu deren Ausführung. Die Laufzeitumgebung selbst umfasst die virtuelle Maschine (JVM) und die mitgelieferten Bibliotheken. Java als Programmiersprache sollte nicht mit der Java-Technologie gleichgesetzt werden; Java-Laufzeitumgebungen führen Bytecode aus, der sowohl aus der Programmiersprache Java als auch aus anderen Programmiersprachen wie Groovy, Kotlin und Scala kompiliert werden kann. Im Prinzip kann jede Programmiersprache als Grundlage für Java-Bytecode genutzt werden, meistens existieren aber keine entsprechenden Bytecode-Compiler. Was ein Compiler ist, thematisiere ich noch in einem zukünftigen Beitrag.</p>



<p>Die Programmiersprache Java dient innerhalb der Java-Technologie vor allem zum Formulieren von Programmen. Diese liegen zunächst als reiner, menschenverständlicher Text vor, dem sogenannten Quellcode. Dieser Quellcode ist nicht direkt ausführbar. Erst der Java-Compiler, der Teil des Entwicklungswerkzeugs ist, übersetzt es in die Maschinensprache Java-Bytecode. Die Maschine, die diesen Bytecode ausführt, ist jedoch typischerweise virtuell. Folglich findet die Ausführung nicht direkt über die Hardware bzw. etwa einem Mikroprozessor ausgeführt, sondern durch entsprechende Software auf der Zielplattform.</p>



<p>Zweck der Virtualisierung ist die Plattformunabhängigkeit. Das Programm soll ohne weitere Änderung auf jeder Rechnerarchitektur laufen, wenn dort eine passende Laufzeitumgebung installiert ist. Oracle selbst bietet Laufzeitumgebungen für die Betriebssysteme <a href="https://ceosbay.com/2022/11/22/erklaerung-linux/" target="_blank" rel="noreferrer noopener">Linux</a>, macOS, Solaris und Windows an. Andere Hersteller lassen eigene Java-Laufzeitumgebungen für ihre Plattform zertifizieren. Auch in Autos, HiFi-Anlagen und anderen elektronischen Geräten wird Java verwendet.</p>



<p>Um die Ausführungsgeschwindigkeit zu erhöhen, werden Konzepte wie die Just-in-time-Kompilierung und die Hotspot-Optimierung verwendet. In Bezug auf den eigentlichen Ausführungsvorgang kann die JVM den Bytecode so interpretieren, bei Bedarf jedoch auch kompilieren und optimieren.</p>



<h3 class="wp-block-heading">Eine kurze Zeitreise</h3>



<p>Im Grunde genommen ist es eine Person, die für die Entstehung der objektorientierten Programmiersprache Java verantwortlich ist. James Gosling.</p>



<p>James Gosling schloss sein Studium an der University of Calgary im Jahr 1977 mit dem Bachelor of Science in Informatik ab. Sechs Jahre später erhielt er den Doktortitel. Während seiner Doktorarbeit schrieb er 1981 den ersten Emacs für Unix-Systeme in C. Seine Implementierung wurde unter dem Namen Gosling Emacs (Gosmacs) bekannt. Neben Compilern und Mailsystemen erfand er bei Sun Microsystems in den 80ern gemeinsam mit David S. H. Rosenthal auch das nicht mehr weiterentwickelte Windowing-System „NeWS (Network extensible Window System)“, welches ursprünglich unter dem Namen SunDew bekannt war.</p>



<p>Bei seiner Arbeit von 1984 bis 2010 arbeitete Gosling bei Sun Microsystems, in dieser Zeit entwarf er auch das originäre Design von Java. Den Grundstein für diese Programmiersprache hatte er bereits während seines Studiums gelegt. Dort entwickelte er auch eine virtuelle CPU, die P-Code als Maschinensprache ausführte. Das Konzept dieser Pseudo-Maschine übertrug Gosling später auf die architekturneutrale Ausführung weitverbreiteter Programme.</p>



<p>Im Jahr 2005 erhielt Gosling den Titel zum Chief Technical Officer der Produktentwicklung bei Sun Microsysems.</p>



<h3 class="wp-block-heading">Java als Open Source bzw. Freie Software</h3>



<p>Sun hatte zugesichert, die JDK unter der GNU General Public License zu veröffentlichen. mit der Übernahme durch Oracle wurde auch die offene Lizenzierung übernommen. Am 13. November 2006 haben sie erste Teile der JDK bereits mit dem Compiler javac und der Hotspot Virtual Machine als <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/" target="_blank" rel="noreferrer noopener">Open Source</a> veröffentlicht. Zudem hat man mit OpenJDK eine Community-Seite eröffnet, mit deren Hilfe man die Entwicklung koordinierte. Am 8. Mai 2007 folgten große Teile des „Java-SE“-Quellcodes zum Erstellen eines JDK. Eine Ausnahme stellte solcher Code dar, für den Sun nicht die nötigen Rechte besaß, um diesen freizugeben. Dieser liegt somit nur in kompilierter Form vor. Ebenfalls kündigte Sun an, dass Entwicklungen auf Grundlage des OpenJDK das „Java Compatible“-Logo führen, wenn sie nach dem „Java Compatibility Kit“ (JCK) zertifiziert sind.</p>



<p>Zuvor hat man den Quelltext von Java unter anderem bei jedem JDK mitgeliefert und ermöglichte so zwar Einsicht, doch man durfte diesen nicht beliebig modifizieren. Aus diesem Grund gibt es neben den offiziellen JCP auch diverse unabhängige Vereinigungen, die es sich zum Ziel gesetzt haben, ein unter einer freien <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/" target="_blank" rel="noreferrer noopener">Open-Source</a>-Lizenz gestelltes Java bereitzustellen. Die bekanntesten dieser Projekte sind Apache Harmony, Kaffe und das GNU-Classpath-Projekt gewesen. Gegenwärtig gibt es neben OpenJDK noch eine weitere große Implementierung, die aktuelle Java Releases veröffentlicht, Eclipse OpenJ9. Diese JVM-Implementierung hat IBM an die Eclipse Foundation übergeben. OpenJ9 steht mehrfachlizenziert unter EPL 2.0, Apache 2.0 und GNU 2.0 with Classpath Exception zur Verfügung. Darüber aber mehr in meinem Eclipse Beitrag.</p>



<p>Java ist mitunter eines der populärsten Programmiersprachen. In dem seit 2001 veröffentlichten TIOBE-Index lag Java bis 2020, konkurrierend mit C, stets auf den ersten beiden, seit 2021 mit zusätzlicher Konkurrenz von <a href="https://ceosbay.com/2022/12/20/erklaerung-python/" target="_blank" rel="noreferrer noopener">Python</a>, auf den ersten drei Plätzen des Rankings. Nach dem RedMonk-Programmiersprachenindex 2019 liegt Java zusammen mit <a href="https://ceosbay.com/2022/12/20/erklaerung-python/" target="_blank" rel="noreferrer noopener">Python</a> auf dem zweiten Platz nach <a href="https://ceosbay.com/2022/11/12/javascript/" target="_blank" rel="noreferrer noopener">JavaScript</a>.</p>



<h3 class="wp-block-heading">Das Grundkonzept von Java</h3>



<p><strong>Der Entwurf der Programmiersprache strebte hauptsächlich fünf Ziele an:</strong></p>



<ol class="wp-block-list" type="1">
<li><strong>Sie soll eine einfache, objektorientierte, verteilte und vertraute Programmiersprache sein.</strong><br>Java ist im Vergleich zu anderen objektorientierten Programmiersprachen wie C++ oder C# einfacher, da es einen reduzierten Sprachumfang besitzt und beispielsweise Operatorüberladung und Mehrfachvererbung nicht unterstützt.<br></li>



<li><strong>Sie soll robust und sicher sein.</strong><br>Viele der Designentscheidungen bei der Definition von Java reduzieren die Wahrscheinlichkeit ungewollter Systemfehler. Beispiele dafür sind die starke Typisierung, Garbage Collection, Ausnahmebehandlung sowie der Verzicht auf Zeigerarithmetik. Für die Sicherheit stehen Konzepte wie der Class-Loader, der die sichere Zuführung von Klasseninformationen zur Java <a href="https://ceosbay.com/2022/11/10/erklaerung-virtuelle-maschine/" target="_blank" rel="noreferrer noopener">Virtual Machine</a> steuert und der Security-Manager, die sicherstellen, dass nur Zugriff auf Programmobjekte erlaubt wird, für die entsprechende Rechte vorhanden sind.<br></li>



<li><strong>Sie soll architekturneutral und portabel sein.<br></strong>Java ist so entwickelt, dass dieselbe Version eines Programms prinzipiell auf einer beliebigen Computerhardware läuft, unabhängig von ihrem Prozessor oder anderen Hardwarebestandteilen. Zusätzlich zur Architekturneutralität ist es portabel. Folglich sind elementare Datentypen sowohl in ihrer Größe und der internen Darstellung als auch in ihrem arithmetischen Verhalten standardisiert. Beispielsweise ist ein float immer ein IEEE 754 Float von 32 Bit Länge. Dasselbe gilt beispielsweise auch für die Klassenbibliothek, mit deren Hilfe man eine vom Betriebssystem unabhängige GUI erzeugen kann.<br></li>



<li><strong>Sie soll sehr leistungsfähig sein.<br></strong>Java hat aufgrund der Optimierungsmöglichkeit zur Laufzeit das Potenzial, eine bessere Performance als auf Compilezeit-Optimierungen begrenzte Sprachen (C++ und andere Sprachen) zu erreichen. Dem entgegen steht der Overhead durch die Laufzeitumgebung, sodass die Leistungsfähigkeit von beispielsweise C++-Programmen in einigen Kontexten übertroffen, in anderen aber nicht erreicht wird. Um die Leistungsfähigkeit zu gewährleisten, kann man in der Java Virtual Machine (JVM) die Performance messen.<br></li>



<li><strong>Sie soll interpretierbar, parallelisierbar und dynamisch sein.<br></strong>Wie mehrfach erwähnt, finden die Kompilierung im maschinenunabhängigen Bytecode statt. Dieser wiederum kann auf der Zielplattform interpretiert werden. Die Java Virtual Machine interpretiert Bytecode, bevor sie es aus Performancegründen kompiliert und optimiert. Die Parallelisierbarkeit erreicht es durch die Unterstützung von Multithreading. Also durch den parallelen Ablauf von eigenständigen Programmabschnitten. Dazu bietet die Sprache selbst die Schlüsselwörter synchronized und volatile – Konstrukte, die das „Monitor &amp; Condition Variable Paradigma“ von C. A. R. Hoare unterstützen. Die Klassenbibliothek enthält weitere Unterstützungen für parallele Programmierung mit Threads. Moderne JVMs bilden einen Java-Thread auf Betriebssystem-Threads ab und profitieren somit von Prozessoren mit multiplen Rechenkernen. Die Dynamik erreicht es durch den Aufbau. Vor allem durch die Dynamik bzw. der Anpassungsfähigkeit an sich ändernde Rahmenbedingungen anzupassen. Da die Module erst zur Laufzeit gelinkt werden, können beispielsweise Teile der Software (etwa Bibliotheken) neu ausgeliefert werden, ohne die restlichen Programmteile anpassen zu müssen. Man kann Interfaces als Basis für die Kommunikation zwischen zwei Modulen einsetzen, während sich die eigentliche Implementierung dynamisch und beispielsweise auch während der Laufzeit ändern kann.</li>
</ol>



<h3 class="wp-block-heading">Objektorientierung</h3>



<p>Die Grundidee der objektorientierten Programmierung ist, Daten und zugehörige Funktionen möglichst eng in einem sogenannten Objekt zusammenzufassen und nach außen hin zu kapseln (Abstraktion). Die Absicht dahinter ist, große Softwareprojekte einfacher zu verwalten und die Qualität der Software zu erhöhen. Ein weiteres Ziel der Objektorientierung ist ein hoher Grad der Wiederverwendbarkeit von Softwaremodulen.</p>



<p>Ein neuer Aspekt von Java gegenüber beispielsweise der objektorientierten Programmiersprache C++ ist die explizite Unterscheidung zwischen Schnittstellen und Klassen, die man durch entsprechende Schlüsselwörter interface und class ausdrückt. Es unterstützt kein Erben von mehreren unabhängigen Basisklassen (sogenannte „Mehrfachvererbung“ wie in C++ oder Eiffel üblich), wohl aber das Implementieren einer beliebigen Zahl von Schnittstellen, womit sich viele der entsprechenden Probleme lösen lassen. Dabei kann man Methodensignaturen und Standardimplementierungen von Methoden an die abgeleiteten Klassen weitergeben, jedoch keine Attribute.</p>



<p>Es ist nicht vollständig objektorientiert, da die Grunddatentypen (int, boolean usw.) keine Objekte sind. Dies hängt mit der Syntax zusammen. Die Semantik, Grammatik und Syntax von Java sind in der Java Language Specification (Java-Sprachspezifikation) von Sun Microsystems dokumentiert. Das folgende Beispielprogramm gibt die unter Entwicklern bzw. Programmierern klassische Meldung „Hallo Welt!“, gefolgt von einem Zeilenumbruch, auf dem Ausgabemedium aus. Mittels Autoboxing kann man in die entsprechenden Objekttypen und umgekehrt umwandeln.</p>



<h3 class="wp-block-heading">Reflexion</h3>



<p>Reflexion (englisch reflection) bedeutet in der Programmierung, dass ein Programm die eigene Struktur kennt (englisch introspection) und/oder diese modifizieren kann (englisch intercession). Auch Java bietet eine Reflexion-API als Bestandteil der Laufzeitumgebung an. Damit ist es möglich, zur Laufzeit auf Klassen und Methoden zuzugreifen, deren Existenz oder genaue Ausprägung zur Zeit der Programmerstellung nicht bekannt war. Häufig wird diese Technik im Zusammenhang mit dem Entwurfsmuster Fabrikmethode (Factory Method) angewandt.</p>



<h3 class="wp-block-heading">Annotationen</h3>



<p>Annotationen erlauben die Notation von Metadaten und ermöglichen bis zu einem gewissen Grad benutzerdefinierte Spracherweiterungen. Sinn der Annotationen ist unter anderem die automatisierte Erzeugung von Code und anderen in der Software-Entwicklung wichtigen Dokumenten für wiederkehrende Muster anhand kurzer Hinweise im Quelltext. Früher hat man dafür ausschließlich Javadoc-Kommentare mit speziellen JavaDoc-Tags verwendet, deren Auswerung von Doclets wie zum Beispiel dem XDoclet stattgefunden hat.</p>



<p>Annotationen können auch in den kompilierten Class-Dateien enthalten sein. Für die Verwendung wird der Quelltext folglich nicht benötigt. Insbesondere sind die Annotationen auch über die Reflection-API zugänglich. Man kann sie beispielsweise zur Erweiterung des Bean-Konzeptes verwenden. Doch darüber schreibe ich in naher Zukunft einen gesonderten Beitrag.</p>



<h3 class="wp-block-heading">Wo findet Java Einsatz?</h3>



<p><strong>Webanwendungen</strong></p>



<p>Anwendungen, die man auf einem Webserver lädt, startet und die beim Benutzer in einem Webbrowser ablaufen bzw. dargestellt werden. Üblicherweise läuft ein Teil der Webanwendung auf dem Server (die Geschäftslogik und Persistenz) und ein anderer Teil im Webbrowser (die Logik der grafischen Benutzeroberfläche). Der Serverteil wird üblicherweise vollständig in Java geschrieben, der Browserteil üblicherweise in <a href="https://ceosbay.com/2022/12/29/erklaerung-html/" target="_blank" rel="noreferrer noopener">HTML</a> und <a href="https://ceosbay.com/2022/11/12/javascript/" target="_blank" rel="noreferrer noopener">JavaScript</a>. Es ist jedoch auch möglich, Java-Webanwendungen inklusive GUI-Logik vollständig in Java zu schreiben (siehe z. B. Google Web Toolkit oder die Remote Application Platform). Bekannte Beispiele für Java-Webanwendungen sind Twitter, Jira, <a href="https://ceosbay.com/2022/12/18/erklaerung-jenkins/" target="_blank" rel="noreferrer noopener">Jenkins</a>. Zwar nicht vollständig, aber Gmail ist zu großen Teilen auch damit geschrieben.</p>



<p><strong>Desktop-Anwendungen</strong></p>



<p>Unter Desktop-Anwendungen oder Applikationen fasst man normale Desktop-Programme zusammen. Sowohl Internet-Kommunikationsprogramme als auch Spiele und/oder Office-Anwendungen, die auf einem normalen PC laufen, haben diese Bezeichnung. Bekannte Beispiele für Java-Desktop-Anwendungen sind die integrierte Entwicklungsumgebung Eclipse oder das mittlerweile von Microsoft aufgekaufte Computerspiel Minecraft.</p>



<p><strong>Applets</strong></p>



<p>Java-Applets sind Anwendungen, die man normalerweise in einem Webbrowser ausführt. Sie sind üblicherweise auf einen durch ein spezielles <a href="https://ceosbay.com/2022/12/29/erklaerung-html/" target="_blank" rel="noreferrer noopener">HTML</a>-Tag definierten Bereich einer Webseite beschränkt. Voraussetzung für die Ausführung der Applets ist ein Java-fähiger Browser. Eine Unterstützung dieser Anwendungsform liegt seit der Version 11 nicht mehr vor.</p>



<p><strong>Apps</strong></p>



<p>Apps sind kleinere Applikationen für mobile Endgeräte wie Handys, Smartphones, PDAs oder Tablets. Sie laufen üblicherweise auf speziellen, für die Ausführung von Java-Anwendungen optimierten Plattformen wie Java ME. Native Apps für das Android Betriebssystem von Google sind in der Regel auch damit programmiert, basieren aber auf einer abweichenden Klassenbibliotheks-API.</p>



<h2 class="wp-block-heading">Entwicklungsumgebungen</h2>



<p>Es gibt eine große Vielfalt von Entwicklungsumgebungen für Java, sowohl proprietäre als auch <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/" target="_blank" rel="noreferrer noopener">Open Source</a>. Die meisten Entwicklungsumgebungen dafür sind selbst ebenfalls in Java geschrieben.</p>



<p>Die bekanntesten Open-Source-Umgebungen sind das von der Eclipse Foundation bereitgestellte Eclipse und das von Sun entwickelte NetBeans.</p>



<p>Unter den kommerziellen Entwicklungsumgebungen sind <a href="https://ceosbay.com/2023/03/10/erklaerung-intellij-idea/" target="_blank" rel="noreferrer noopener">IntelliJ IDEA</a> von JetBrains, siehe meinen Beitrag, JBuilder von Borland sowie JCreator und das auf NetBeans basierende Sun ONE Studio von Sun, am verbreitetsten. Außerdem gibt es noch eine Version von Eclipse, die von IBM unter dem Namen WebSphere Studio Application Developer („WSAD“) vertrieben wurde und ab Version 6.0 Rational Application Developer („RAD“) heißt. Auch in XCode von Apple lässt sich damit schreiben. Doch zu empfehlen ist es eher nicht, da es primär für C++ und C optimiert ist.</p>



<p>Sehr viele Texteditoren bieten Unterstützung dafür, darunter Emacs, jEdit, Atom (Ist aufgrund eines Hacks nicht mehr verfügbar 😉 ), Visual Studio Code, Vim und Notepad++, über die ich in zukünftigen Beiträgen schreibe.</p>



<h3 class="wp-block-heading">Compiler</h3>



<p>Ein Compiler übersetzt Java-Quellcode (Dateiendung „.java“) in einen ausführbaren Code. Grundsätzlich unterscheidet man zwischen Bytecode- und Nativecode-Compilern. Einige Laufzeitumgebungen verwenden einen JIT-Compiler, um zur Laufzeit den Bytecode häufig genutzter Programmteile in nativen Maschinencode zu übersetzen.</p>



<p><strong>Bytecode Compiler</strong></p>



<p>Im Normalfall übersetzt der Java-Compiler die Programme in einen nicht direkt ausführbaren Bytecode (Dateiendung „.class“), den die Java Runtime Environment (JRE) später ausführt. Die HotSpot-Technologie kompiliert den Bytecode zur Laufzeit in nativen Prozessorcode und optimiert diesen abhängig von der verwendeten Plattform. Diese Optimierung findet dabei nach und nach statt, sodass der Effekt auftritt, dass Programmteile nach mehrmaliger Abarbeitung schneller werden. Andererseits führt diese Technik, die ein Nachfolger der Just-in-time-Kompilierung ist, dazu, dass man mit Java-Bytecode, Anwendungen theoretisch genauso schnell wie nativ kompilierte Programme ausführen kann.</p>



<p><strong>Native Compiler</strong></p>



<p>Es existieren auch Compiler für Java, die Quelltexte oder den Bytecode in „normalen“ Maschinencode übersetzen können, sogenannte Ahead-of-time-Compiler. Nativ kompilierte Programme haben den Vorteil, keine JavaVM mehr zu benötigen aber auch den Nachteil, nicht mehr plattformunabhängig zu sein.</p>



<p>Beispiele für native Java Compiler waren Excelsior JET (eingestellt, bis Java SE 7), sowie GNU Compiler for Java (GCJ, eingestellt, bis J2SE 5.0) wie MinGW, Cygwin oder JavaNativeCompiler (JNC).</p>



<p><strong>Wrapper</strong></p>



<p>Als weitere Möglichkeit kann das Java-Programm in ein anderes Programm „eingepackt“ (englisch to wrap) werden. Unter anderem nennt man dies auch Adapter. Diese äußere Hülle dient dann als Ersatz für ein Java-Archiv. Sie sucht selbständig nach einer installierten Java-Laufzeitumgebung, um das eigentliche Programm zu starten und informiert den Benutzer darüber, wo er eine Laufzeitumgebung herunterladen kann, sofern noch keine installiert ist. Es ist also immer noch eine Laufzeitumgebung nötig, um das Programm starten zu können, aber der Anwender erhält eine verständliche Fehlermeldung, die ihm weiterhilft.</p>



<p>Java Web Start ist ein etwas eleganterer und standardisierter Ansatz für diese Lösung. Es ermöglicht die einfache Aktivierung von Anwendungen und garantiert, dass immer die neueste Version der Anwendung ausgeführt wird. Dadurch bleiben einem durch die Automatisierung komplizierte Installations- oder Aktualisierungsprozeduren erspart.</p>



<p>Beispiele für Java-Wrapper sind JSmooth oder Launch4J. JBuilder von Borland und NSIS sind ebenfalls in der Lage, einen Wrapper für Windows zu erstellen.</p>



<h3 class="wp-block-heading">Fazit</h3>



<p>Ein Fazit gibt es hierfür nicht, da ich es mir nicht anmaße, etwas zu beurteilen, dass ich noch nicht zu einem großen Teil verstehe. In diesem Zusammenhang vielleicht in den zukünftigen Beiträgen zu finden.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/03/16/erklaerung-java/">Java &#8211; Endlose Möglichkeiten der Softwareentwicklung</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2023/03/16/erklaerung-java/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1168</post-id>	</item>
		<item>
		<title>Debian &#8211; Für Stabilität und Freiheit</title>
		<link>https://ceosbay.com/2022/12/05/erklaerung-debian-linux/</link>
					<comments>https://ceosbay.com/2022/12/05/erklaerung-debian-linux/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Mon, 05 Dec 2022 16:24:36 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[apt]]></category>
		<category><![CDATA[basierend]]></category>
		<category><![CDATA[Basis]]></category>
		<category><![CDATA[Betriebssystem]]></category>
		<category><![CDATA[Distribution]]></category>
		<category><![CDATA[Frei]]></category>
		<category><![CDATA[Freie Software]]></category>
		<category><![CDATA[Get]]></category>
		<category><![CDATA[GNU]]></category>
		<category><![CDATA[Installation]]></category>
		<category><![CDATA[Kernel]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[Projekt]]></category>
		<category><![CDATA[Satzung]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Source]]></category>
		<category><![CDATA[System]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=891</guid>

					<description><![CDATA[<p>Debian bzw. das Open Source Debian Projekt ist ein Zusammenschluss von Individuen, die auf ein gemeinsames Ziel hinarbeiten. Die Entwicklung eines freien Betriebssystems, dass frei für alle verfügbar ist. Und wenn dabei das Wort frei &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/12/05/erklaerung-debian-linux/">Debian &#8211; Für Stabilität und Freiheit</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Debian bzw. das <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source</a> Debian Projekt ist ein Zusammenschluss von Individuen, die auf ein gemeinsames Ziel hinarbeiten. Die Entwicklung eines freien Betriebssystems, dass frei für alle verfügbar ist. Und wenn dabei das Wort frei fällt, spricht man von der wahren Software-Freiheit. Damit zählt Debian für mich persönlich eher zu den sympathischeren Distributionen, mit einer äußerst hilfsbereiten und qualifizierten Community.</p>



<p>Debian GNU/<a href="https://ceosbay.com/2022/11/22/erklaerung-linux/">Linux</a> basiert auf den grundlegenden Systemwerkzeugen des GNU-Projektes sowie dem <a href="https://ceosbay.com/2022/11/22/erklaerung-linux/">Linux</a>-Kernel.</p>



<p>Die aktuelle Version ist Debian 11 „Bullseye“ und als Vorabversion gibt es bereits Debian 12 „Bookworm“. Es bietet eine große Auswahl (Zurzeit ca. 60.000) an Anwendungsprogrammen und Werkzeugen. Auch wird Debian als Basis für viele andere <a href="https://ceosbay.com/2022/11/22/erklaerung-linux/">Linux</a> Distributionen genutzt. Eines der Bekannteren <a href="https://ceosbay.com/2022/12/04/erklaerung-ubuntu-linux/">Ubuntu</a>, welches eher nicht mehr zu meinen persönlichen Favoriten gehört.</p>



<h3 class="wp-block-heading">So ging es los</h3>



<p>Im August 1993 hat Ian Murdock mit der Arbeit an einem neuen Betriebssystem angefangen. Es sollte offen sein, ganz im Sinn von <a href="https://ceosbay.com/2022/11/22/erklaerung-linux/">Linux</a> und GNU. Er verschickte eine offene Einladung an andere Software-Entwickler und lud sie ein, bei einer Software-Distribution mitzumachen, die auf dem damals noch recht jungen <a href="https://ceosbay.com/2022/11/22/erklaerung-linux/">Linux</a>-Kernel basieren sollte. Debian sollte sorgfältig zusammengestellt und genauso gewissenhaft betreut und unterstützt werden. Dabei sollte es ein offenes Design aufweisen und Beiträge und Unterstützung aus der Freien-Software-Gemeinschaft einfließen lassen.</p>



<p>Alles begann mit einer kleinen, eingeschworenen Gruppe von Hackern von freier Software und wuchs zu einer relativ großen, gut organisierten Gruppe aus Entwicklern, Beitragenden und Anwendern heran. Mittlerweile fasst das Debian-Projekt mehr als eintausend aktive Entwickler und Unterstützer auf der ganzen Welt.</p>



<h3 class="wp-block-heading">Die Satzung</h3>



<p>Ein Projekt mit dieser Größe braucht eine gute Organisationsstruktur. Aus diesem Grund hat das Debian-Projekt klare Regeln und Richtlinien, die man hier unter der <a href="https://www.debian.org/devel/constitution" target="_blank" rel="noreferrer noopener">Satzung</a>&nbsp;einsehen kann.</p>



<h3 class="wp-block-heading">Debian – Das Wieso</h3>



<p>Manche wundern sich, warum so viele Menschen dafür brennen, so viel Freizeit in das Programmieren, Verpacken und Betreuen von Software zu investieren und sie dann auch noch zu verschenken. Dafür gibt es eine ganze Reihe von Gründen.</p>



<p>Manche Leute sind von Natur aus einfach hilfsbereit und haben mit der Einbringung in ein freies Software-Projekt ihren Weg gefunden, diese Hilfsbereitschaft auszuleben.</p>



<p>Viele Entwickler schreiben Programme, um Computer sowie verschiedene Architekturen und Programmiersprachen besser zu verstehen.</p>



<p>Einige Unterstützer möchten sich für all die freie Software revanchieren, die sie benutzen dürfen und bringen sich deshalb ein.&nbsp;</p>



<p>Dann gibt es noch viele AkademikerInnen, die an freier Software entwickeln, um ihre Kenntnisse zu erweitern und um die Ergebnisse ihrer Forschungen bekannt zu machen.</p>



<p>Und zu guter Letzt gibt es Unternehmen, die bei der Entwicklung und Betreuung von freier Software helfen, um Einfluss darauf zu nehmen, wie sich die Software weiterentwickelt. Besonders dann, wenn man neue Features schnell implementiert haben möchte.</p>



<p>Ich persönlich bin bei dem ein oder anderen Projekt dabei, weil mich die Technologie an sich interessiert und mir die Zusammenarbeit mit Menschen sehr viel Spaß macht. Und nachdem mir relativ schnell langweilig wird, benötige ich immer wieder neuen Input. Letzteres gilt natürlich für die Technologie und weniger für die Menschen. Im Grunde genommen, beteiligt man sich meistens an <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source</a> bzw. in diesem Kontext als Debian-Entwickler, für den Spaß und um gemeinsam etwas großartiges zu erschaffen.</p>



<h3 class="wp-block-heading">Ideologie und unfreie Software</h3>



<p>Die Debian Gemeinschaft glaubt an die freie Software. Dennoch ist es respektiert, dass Menschen manchmal unfreie Software auf ihren Computern installieren müssen. Aus diesem Grund gibt es den Beschluss seitens der Debian Entwickler, diese Menschen nach Möglichkeit zu unterstützen, daher gibt es eine immer größer werdende Anzahl von Paketen, die unfreie Software auf einem Debian-System nachinstallieren lässt.</p>



<p>Diese Tatsache kann besonders zu Beginn relativ herausfordernd sein, da man bereits zur Installation von Debian nicht freie Treiber Pakete für diverse Hardware installieren muss, die nicht standardmäßig auf den Installationsmedien mitgeliefert werden. Besonders betroffen hierbei, sind in der Regel die Treiber für die Netzwerkkarte, da man diese bereits bei der Installation benötigt, um aktualisierte Pakete bereits bei der initialen Installation mitzuinstallieren. Doch dies werde ich, mit einer hohen Wahrscheinlichkeit, bei einem späteren Beitrag nochmals ausführlich thematisieren.</p>



<h3 class="wp-block-heading">Das Projekt</h3>



<p>So gesehen, kann sich jeder als Debian Entwickler registrieren, der den sogenannten New-Member-Prozess erfolgreich durchläuft. Die Bewerber kommen hinsichtlich ihrer Kenntnisse und Fähigkeiten auf den Prüfstand. Außerdem wird sichergestellt, dass sie mit der Philosophie des Projektes vertraut sind.</p>



<p>Der Name des Betriebssystems leitet sich von den Vornamen des Debian-Gründers Ian Murdock und seiner damaligen Freundin und späteren Ehefrau Debra Lynn ab. Bereits wenige Monate nach der Gründung, im Mai 1994, entschied sich das Projekt zu einer Änderung des offiziellen Namens von Debian zu Debian GNU/<a href="https://ceosbay.com/2022/11/22/erklaerung-linux/">Linux</a>.</p>



<p>Letzteres ging mit der Auffassung der Free Software Foundation einher, dass das häufig als <a href="https://ceosbay.com/2022/11/22/erklaerung-linux/">Linux</a> bezeichnete Betriebssystem eine Variante des GNU-Systems sei. Dahingehend gab es einen relativ bekannten Namensstreit, den ich hier nicht wirklich thematisieren werde. Wen es aber interessiert, kann gerne <a href="https://de.wikipedia.org/wiki/GNU/Linux-Namensstreit" target="_blank" rel="noreferrer noopener">hier</a> vorbeischauen.</p>



<p>Allgemein spricht man nur noch von Debian, wenn man von Debian spricht 😀</p>



<p>Das System ist bekannt für seine Paketverwaltung dpkg und deren Frontend APT. Mit diesen ist es möglich, alte Versionen von Debian GNU/<a href="https://ceosbay.com/2022/11/22/erklaerung-linux/">Linux</a> durch aktuelle zu ersetzen oder neue Softwarepakete zu installieren. Sie sind ebenfalls dafür zuständig, alle von einem Programm benötigten Abhängigkeiten aufzulösen, also alle Programmpakete zu laden und zu installieren, welche die gewünschte Software benötigt.</p>



<h3 class="wp-block-heading">Sicherheit</h3>



<p>Alle Probleme mit der Software sind öffentlich behandelt, so auch sämtliche Sicherheitsprobleme. Aspekte der Sicherheit sind öffentlich auf der debian-security-announce-Mailingliste zur Diskussion freigegeben. Debian‘s Sicherheitsgutachten (Audits) werden über eine öffentliche Mailingliste versendet (Sowohl unter den Entwicklern als auch mit den externen Mailinglisten) gleichzeitig auf einem öffentlichen Server bekanntgegeben.</p>



<p>Durch diese Handhabung verspricht man sich ein schnelleres Auffinden von Sicherheitslücken und damit die Möglichkeit, diese auch eher beheben zu können. Die entgegengesetzte Herangehensweise des Security Through Obscurity (Sicherheit durch Unklarheit bedeutet, dass man sich in der Sicherheitstechnik auf die Geheimhaltung des Entwurfs oder der Implementierung als Hauptmethode zur Gewährleistung der Sicherheit eines Systems oder einer Komponente verlässt) ist dagegen als unpraktikabel angesehen.&nbsp;</p>



<p>Die Tatsache, dass die Entwicklung der Distribution öffentlich sichtbar unter Beteiligung einer Vielzahl von Personen geschieht, erfordert besondere Sicherheitsmaßnahmen. Änderungen an Paketen sind grundsätzlich mit einem verifizierbaren Schlüssel digital signiert. Die Überprüfung der Gültigkeit der Signatur erfolgt beim Anwender vor der Installation. Diese Maßnahme soll es Dritten erschweren, schädliche Software in Debian-Pakete einzuschleusen.</p>



<p>Die Paketbetreuer passen die Sicherheitsaspekte ihrer jeweiligen Software an die allgemeinen Grundsätze von Debian an. Daher sind Dienste nach der Installation oft als „sicher“ voreingestellt, was von einem Benutzer als „Einschränkung“ empfunden werden kann. Dennoch versucht Debian, Sicherheitsaspekte und einfache Administration abzuwägen. Zum Beispiel werden Dienste wie ssh und ntp nicht inaktiv installiert, wie es bei den Distributionen der BSD-Familie üblich ist. Auf BSD werde ich in einem zukünftigen Beitrag eingehen.</p>



<p>Wenn ein Sicherheitsproblem in einem Debian-Paket entdeckt wird, kommt es zusammen mit einer Einschätzung der dadurch entstehenden Gefahr in die Öffentlichkeit bzw. wird auf den vorher erwähnten Wegen publiziert. Parallel wird so schnell wie möglich ein Sicherheitsupdate dieses Pakets vorbereitet und auf speziellen Servern veröffentlicht. Kritische Sicherheitslücken werden auf diese Weise häufig innerhalb von Stunden geschlossen.</p>



<p>An dieser Stelle ist es vielleicht sinnvoll zu erwähnen, dass die von Debian angepasste Implementierung des für die Schlüsselerstellung zuständigen Zufallsgenerators der OpenSSL-Bibliothek zwischen September 2006 und Mai 2008 mit einer erheblichen Sicherheitslücke lief. Die generierten geheimen Schlüssel konnten abgeschätzt und damit in kurzer Zeit (vor-)berechnet werden (1024- und 2048-Bit-Schlüssel in ungefähr zwei Stunden). Insbesondere OpenSSH und die sichere Kommunikation in Webbrowsern waren davon betroffen.</p>



<p>Das Sicherheitsrisiko besteht weiterhin für alle RSA-Schlüssel, die in diesem Zeitraum auf betroffenen Systemen erstellt wurden und seit der Aktualisierung der Bibliothek nicht neu erstellt wurden. Auch alle DSA-Schlüssel, die jemals von einem Rechner mit fehlerhaftem Zufallszahlengenerator verwendet wurden, sind seitdem unsicher. Selbst wenn diese ursprünglich auf einem Rechner mit korrekt arbeitendem Zufallszahlengenerator erstellt wurden. Zu einem der größeren Sicherheitslücken kam es auch im Jahr 2019. Denn da wurde in dem Paketmanagertool von Debian („apt“ bzw. „apt-get“) eine Sicherheitslücke entdeckt, die es einem Man-in-the-Middle-Angreifer ermöglichte Code bei einem Update auszuführen.</p>



<h3 class="wp-block-heading">Fun Facts</h3>



<p>Die Stadt München war zwischen 2006 und 2013 mit Debian-basierten Betriebssystemen LiMux auf freier Software unterwegs. Spekulationen zufolge switchten sie durch Einfluss von Microsoft, da sie mit einer Deutschland-Zentrale von Unterschleißheim nach München-Schwabing umzogen, zu Microsoft. Dies könnte mit der Gewerbesteuer an die Stadt München zusammenhängen, meinte der ein oder andere Autor im Manager-Magazin.</p>



<h3 class="wp-block-heading">Fazit</h3>



<p>Wie bereits erwähnt, empfinde ich Debian als äußerst sympathisches Projekt bzw. Distribution. Nichtsdestotrotz ist es, meiner Meinung nach, noch kein einsteigerfreundliches Betriebssystem. Zum einen, wegen der unfreien Treiber, die gegebenenfalls vor- oder nachinstalliert werden müssen und zum anderen, weil grundsätzlich jedes System nach der Neuinstallation Sicherheitslücken enthält, die von fähigen Personen geschlossen werden müssen. Debian GNU/<a href="https://ceosbay.com/2022/11/22/erklaerung-linux/">Linux</a> bietet umfangreiche Möglichkeiten, das System vor unbefugten Zugriffen abzuschotten. Allerdings reicht es nicht aus nur Sicherheits-Updates aufzuspielen. Der Anwender selbst kann und muss aktiv sein System „härten“. Und dafür muss man schon einiges an Fachwissen mitbringen.</p>



<p>Sicherlich kann sich der Nutzer über Sicherheitsrisiken unter den genannten Quellen bereits im Vorfeld informieren. Doch auch während und nach der Installation des Debian-Betriebssystems muss der Nutzer auf einige grundlegende Dinge achten. Dies beginnt bei den BIOS-Einstellungen, geht über die Absicherung des Bootloaders und schlussendlich bei der Installation von Sicherheits-Patches bzw. zur Anpassung von Diensten und sicherheitsrelevanten Dateien.</p>



<p>Daher ist es vielleicht sinnvoll, mit einem „einfacheren“ System wie <a href="https://ceosbay.com/2022/12/04/erklaerung-ubuntu-linux/">Ubuntu</a> zu beginnen und sich so langsam in die Materie einzuarbeiten, wenn man in der Zukunft etwas unabhängiger und konsequenter unterwegs sein will.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/12/05/erklaerung-debian-linux/">Debian &#8211; Für Stabilität und Freiheit</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2022/12/05/erklaerung-debian-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">891</post-id>	</item>
		<item>
		<title>Ubuntu Linux &#8211; Das benutzerfreundliche und stabile Betriebssystem</title>
		<link>https://ceosbay.com/2022/12/04/erklaerung-ubuntu-linux/</link>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Sun, 04 Dec 2022 19:32:33 +0000</pubDate>
				<category><![CDATA[Datenschutz]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Afrika]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[Big]]></category>
		<category><![CDATA[Big Brother]]></category>
		<category><![CDATA[Bildung]]></category>
		<category><![CDATA[Brother]]></category>
		<category><![CDATA[Canonical]]></category>
		<category><![CDATA[Center]]></category>
		<category><![CDATA[Electronic Foundation]]></category>
		<category><![CDATA[Gemeinsinn]]></category>
		<category><![CDATA[GNU]]></category>
		<category><![CDATA[GPL]]></category>
		<category><![CDATA[Kostenlos]]></category>
		<category><![CDATA[Mark]]></category>
		<category><![CDATA[Menschlichkeit]]></category>
		<category><![CDATA[Open]]></category>
		<category><![CDATA[Österreich]]></category>
		<category><![CDATA[Paket]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Shuttleworth]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Software Center]]></category>
		<category><![CDATA[Source]]></category>
		<category><![CDATA[Sudo]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[Zulu]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=242</guid>

					<description><![CDATA[<p>Ubuntu Linux ist eine auf Debian basierende kostenlose Open Source Linux-Distribution. Primär gesponsert von dem südafrikanische Unternehmer Mark Shuttleworth und Softwarefirma Canonical Ltd.. „Ubuntu“ bedeutet auf Zulu etwa „Menschlichkeit“ und bezeichnet eine afrikanische Philosophie. Es &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/12/04/erklaerung-ubuntu-linux/">Ubuntu Linux &#8211; Das benutzerfreundliche und stabile Betriebssystem</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Ubuntu Linux ist eine auf Debian basierende kostenlose <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source</a> Linux-Distribution. Primär gesponsert von dem südafrikanische Unternehmer Mark Shuttleworth und Softwarefirma Canonical Ltd..</p>



<p>„Ubuntu“ bedeutet auf Zulu etwa „Menschlichkeit“ und bezeichnet eine afrikanische Philosophie. Es schließt den Gemeinsinn, die gegenseitige Verantwortung und ein respektvolles Miteinander ein.</p>



<p>Die Entwickler verfolgen mit dem System das Ziel, ein einfach zu installierendes und leicht bedienbares Betriebssystem. Ein besonderes Augenmerk gilt auch auf die aufeinander optimierte Software. Downloaden kann man es sich über diesen <a href="https://ubuntu.com" target="_blank" rel="noreferrer noopener">Link</a>.</p>



<p>Ich hielt meine erste physische Ubuntu CD im Jahr 2005, durch das ShipIt Programm in der Hand. Damals schickte man mir gleich ein ganzes Bündel der CD’s. Die habe ich in meinem näheren Umfeld und an ein paar Schulen verschenkt.</p>



<p>Die Nutzerzahl Stand heute ist auf etwa 40 Millionen Nutzer angestiegen. Neben Ubuntu selbst, dass von Version 11.04 bis 17.04 standardmäßig die von der Ubuntu-Entwicklergemeinschaft selbst entwickelte Desktop-Umgebung Unity einsetzte und seit Version 17.10 auf Gnome basiert, existieren verschiedene Abwandlungen. Ubuntu konnte seit dem Erscheinen der ersten Version im Oktober 2004 seine Bekanntheit stetig steigern. Es ist inzwischen eine der meistgenutzten GNU/Linux-Distributionen überhaupt. Dies verdankt es der relativ guten Benutzerfreundlichkeit.</p>



<p>Zu den offiziellen Unterprojekten gehören unter anderem Kubuntu mit KDE, Xubuntu mit Xfce, Ubuntu MATE, Ubuntu Budgie sowie Ubuntu Studio. Bei den verschiedenen Unterprojekten sind es meistens nicht nur die GUIs (Graphical User Interfaces bzw. Benutzeroberflächen), die angepasst sind, sondern auch die Softwarepakete, die mitgeliefert werden. Neue Ubuntu-Versionen erscheinen jedes halbe Jahr im April und Oktober.</p>



<h3 class="wp-block-heading">Kurze Zeitreise</h3>



<p>Der Unternehmer Mark Shuttleworth hat das Ubuntu – Projekt in den frühen 2000ern ins Leben gerufen, um ein Betriebssystem zu erschaffen, um es möglichst allen Menschen des Planeten zur Verfügung zu stellen. Wie in der Einleitung bereits erwähnt, stammt der Begriff Ubuntu aus den Sprachen der afrikanischen Völker Zulu und Xhosa und steht für „Menschlichkeit“ und „Gemeinsinn“, aber auch für den Glauben an ein universelles Band des Teilens, dass alles Menschliche verbindet.</p>



<p>Weitere Ziele des Projekts sind die Verbesserung der Globalisierung und der Barrierefreiheit, damit die angebotene Software für so viele Menschen wie möglich benutzbar wird. Derzeit kommen hier hauptsächlich die Übersetzungen und Hilfsmittel für Barrierefreiheit aus dem Gnome-Projekt zum Tragen.</p>



<p>Shuttleworth finanziert einen Großteil des Projektes selbst, wodurch dieser Distribution vergleichsweise mehr finanzielle Mittel zur Verfügung stehen als den meisten anderen Distributionen. Auch er selbst entwickelt mit. Neben ihm, arbeiten noch ungefähr 560 Mitarbeiter bei Canonical, davon ca. 400 Software-Engineers. Die meisten davon entstammen überwiegend den Debian- und Gnome-Online-Entwicklungsgemeinschaften. Finanziert wird die Entwicklung durch das von Shuttleworth gegründete Unternehmen Canonical, dass das System auch vermarktet.</p>



<p>Die erste Version von Ubuntu erschien im Oktober 2004 unter dem Namen Warty Warthog. Seitdem erscheint alle sechs Monate eine neue Fassung des Betriebssystems. Am 1. Juli 2005 wurde von Shuttleworth und Canonical die Ubuntu Foundation mit einem Startkapital von ca. 10 Millionen US-Dollar ins Leben gerufen. Diese kümmert sich primär um die Pflege der Ubuntu-Versionen nach deren Erscheinen und unterstützt die Weiterentwicklung. Auch ist es Ziel der Ubuntu Foundation Mitglieder der Kern-Community einzustellen, um das gemeinsame Ziel zu erreichen.</p>



<p>Eine weitere Finanzierungsquelle entstammt der seit der Fassung 12.10 eingebauten Suchfunktion, die anonymisiert Suchanfragen an den Onlinehändler Amazon verschickt. Diese zunächst standardmäßig aktivierte Funktion wurde mit der Version 16.04 wieder deaktiviert.</p>



<h3 class="wp-block-heading">Unter der Haube von Ubuntu Linux</h3>



<p>Wie bereits zu Beginn erwähnt, basiert Ubuntu auf Debian. Über die Debian Distribution werde ich ggf. noch einen gesonderten Beitrag schreiben. Wobei das Paketformat (.deb) und diverse Strukturen übernommen wurden. Zu Beginn eines Entwicklungszyklus wird ein Teil der Pakete mit denen aus Debian „unstable“ (Bedeutet, dass die Pakete nicht mehr auf ihre Richtigkeit überprüft oder anderweitig gepflegt werden) abgeglichen, insbesondere die des main-Bereichs werden vollständig und unabhängig gepflegt.</p>



<p>Hierdurch wird der Arbeitsaufwand für die Wartung der weniger wichtigen Programme reduziert. Alle Änderungen und Verbesserungen an Debian-Paketen, die in Ubuntu vorgenommen werden, stehen dem Debian-Projekt als Patches zur Verfügung. Theoretisch ist es aufgrund der strengen Paketdefinitionen auch möglich, Programmpakete aus Debian direkt zu benutzen, in der Praxis gibt es hierbei jedoch insbesondere bei systemnahen Funktionen aufgrund diverser Detailunterschiede oftmals Probleme.</p>



<h3 class="wp-block-heading">Das Ubuntu Linux Software Center</h3>



<p>Ab Version 11.10 ist das Software Center in Ubuntu verfügbar, welches mit dem Apple App Store oder dem Google Play Store verglichen werden kann. Das Programm dient zur einfachen Installation und Verwaltung bzw. Deinstallation von Software. Die Entwickler von Ubuntu bezwecken hiermit, die verfügbaren Applikationen für das Betriebssystem langfristig zu steigern.</p>



<p>Nach der Standardinstallation von Ubuntu ist ein Administrator-Benutzerkonto „Root-Account“ (Account mit erweiterten Systemprivilegien) zwar vorhanden, ist aber – wie bei macOS – durch ein ungültiges Kennwort deaktiviert. Es ist daher in der Standardkonfiguration nicht möglich, sich direkt als „root“ anzumelden, wodurch das ungewollte Starten und Modifizieren von Programmen mit Administratorrechten und eine möglicherweise dadurch verursachte nachteilige Änderung am System verhindert wird.</p>



<p>Mithilfe des Befehls „sudo“ kann das mit eingeschränkten Rechten ausgestattete Benutzerkonto allerdings vorübergehend vollständige Systemprivilegien erhalten, was etwa zur Installation und Modifikation mancher Programme, sowie für einige kritische Befehle notwendig ist.</p>



<p>Ubuntu war neben SUSE Linux eines der Distributionen, die mich nach Jahren zu Linux zurückgebracht hat. Doch wie vorher erwähnt, ist der mangelnde Datenschutz auf jeden Fall ein Manko, welches nicht selten bei dieser Distribution auftrat.</p>



<p>Diesen kritisierte beispielsweise die Electronic Frontier Foundation wegen der Einbindung des Onlineshops von Amazon. Der Vorwurf, Adware zu beinhalten, kam auf, weil die vorher nur auf installierte Programme und lokale Dateien gerichtete Suchfunktion des Desktops auf den Shop von Amazon erweitert wurde, um passende Angebote auszugeben.</p>



<p>Das abzuschalten wurde zwar kurz darauf ermöglicht, doch Richard Stallman bezeichnete Ubuntu gerechtfertigter weise als Spyware. Im Oktober 2013 bekam Shuttleworth für die Funktion einen Big Brother Award in Österreich. Grüße nach Österreich 😉</p>



<p>Mit Ubuntu 16.04 wurde das Dateisystem ZFS (ZFS ist ein Dateisystem mit Volume-Management-Funktionen) in die Distribution integriert. Die für ZFS verwendete Lizenz Common Development and Distribution License (CDDL) wird von der Free Software Foundation allerdings als nicht mit der GPL vereinbar bezeichnet. Die Organisation Software Freedom Conservancy spricht in diesem Zusammenhang von einer Lizenzverletzung.</p>



<h3 class="wp-block-heading">Fazit</h3>



<p>Ubuntu ist eine ausgezeichnete Distribution, um sich mit Linux als Betriebssystem und mit <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source</a> vertraut zu machen, wenn man noch nicht viele Berührungspunkte mit Linux hatte. Darüber hinaus gibt es viele verschiedene Unterprojekte, wie Kubuntu, Mate usw. die eine Aufwertung alter Computersysteme ermöglichen. Nichtsdestotrotz gefällt mir persönlich der negative Beigeschmack bzgl. des vernachlässigten Datenschutzes nicht. Als Unternehmer ist es mir klar, dass man für die Entwicklung von Software Geld benötigt. Doch die Zusammenarbeit mit Amazon, in der Form wie es geschehen ist, erscheint mir persönlich nicht richtig.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/12/04/erklaerung-ubuntu-linux/">Ubuntu Linux &#8211; Das benutzerfreundliche und stabile Betriebssystem</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">242</post-id>	</item>
		<item>
		<title>Open Source &#8211; Wissen teilen und vermehren</title>
		<link>https://ceosbay.com/2022/11/16/erklaerung-open-source/</link>
					<comments>https://ceosbay.com/2022/11/16/erklaerung-open-source/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Wed, 16 Nov 2022 17:03:21 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Bildung]]></category>
		<category><![CDATA[Blockchain]]></category>
		<category><![CDATA[Buchempfehlung]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Autor]]></category>
		<category><![CDATA[CEO]]></category>
		<category><![CDATA[Deutschland]]></category>
		<category><![CDATA[Diskriminierung]]></category>
		<category><![CDATA[Eric Raymond]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Freie]]></category>
		<category><![CDATA[GNU]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Instagram]]></category>
		<category><![CDATA[IRC]]></category>
		<category><![CDATA[Libre]]></category>
		<category><![CDATA[Lizenz]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Neutralität]]></category>
		<category><![CDATA[Open]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Personen]]></category>
		<category><![CDATA[Produktneutralität]]></category>
		<category><![CDATA[Quellcode]]></category>
		<category><![CDATA[Quelle]]></category>
		<category><![CDATA[Red Hat]]></category>
		<category><![CDATA[SHARE]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Source]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Suse]]></category>
		<category><![CDATA[Technologie]]></category>
		<category><![CDATA[Technologieneutralität]]></category>
		<category><![CDATA[Umwelt]]></category>
		<category><![CDATA[Uneingeschränkt]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[USA]]></category>
		<category><![CDATA[UUCP]]></category>
		<category><![CDATA[Verantwortung]]></category>
		<category><![CDATA[Weiterverbreitung]]></category>
		<category><![CDATA[Welt]]></category>
		<category><![CDATA[Werke]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=557</guid>

					<description><![CDATA[<p>Heute kümmere ich mich um eines meiner Lieblingsthemen. Dafür werde ich mir auch ein bisschen mehr Zeit nehmen. Open Source (Offene Quelle) ist ein Begriff, der ursprünglich auf Open Source Software (OSS) zurückgeht. Dabei handelt &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source &#8211; Wissen teilen und vermehren</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Heute kümmere ich mich um eines meiner Lieblingsthemen. Dafür werde ich mir auch ein bisschen mehr Zeit nehmen. <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source</a> (Offene Quelle) ist ein Begriff, der ursprünglich auf <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source</a> Software (OSS) zurückgeht. Dabei handelt es sich um Quellcode bzw. Code, der für die Öffentlichkeit zugänglich ist. Folglich kann jeder den Code einsehen, anzeigen, nach Belieben verändern und verteilen. <br>Ganz im Sinne von &#8222;Das Wissen der Menschheit gehört der Welt&#8220;.</p>



<h3 class="wp-block-heading">Was ist Open Source Software?</h3>



<p><a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source Software</a> wird in der Regel dezentral, innerhalb einer Kollaboration entwickelt und stützt sich auf Peer-Review. Eine von Fachkollegen begutachtete Veröffentlichung wird als Peer(s) und Community-Produktion bezeichnet. Die Software ist nicht selten kostenlos bzw. günstiger, flexibler und langlebiger als proprietäre Produkte. Vor allem, weil sie nicht von einem einzelnen Programmierer oder Unternehmen, sondern in und durch Communities entwickelt wird. In der Regel verstehen die diese Personen etwas von ihrem Handwerk.</p>



<p>Open Source hat sich in der jüngeren Vergangenheit zu einer Bewegung geformt. Geradezu zu einer neuen Art des Arbeitens und des Lifestyles, die über die reine Softwareproduktion hinausgeht. Sie nutzt die Werte, sowie das dezentrale Produktionsmodell der Open Source Software, um neue Wege zu finden, Probleme in Communities, diversen Branchen und des Alltags zu lösen.</p>



<h3 class="wp-block-heading">Kriterien für Open Source</h3>



<p>Doch allein der freie Zugang zum Quellcode reicht nicht aus, damit eine Software als Open-Source-Software deklariert werden kann. Folgende Kriterien müssen ebenfalls erfüllt sein:</p>



<p><strong>Freie Weiterverbreitung</strong> &#8211; Die Lizenz muss es jedermann erlauben, die Software weiterzugeben oder als Teil einer Sammlung zu verkaufen. Man darf keine Lizenzgebühren verlangen.</p>



<p><strong>Zugang zum Quellcode</strong> &#8211; Die Software muss im Quelltext in verständlicher Form verfügbar sein.</p>



<p><strong>Zulässigkeit von abgeleiteten Werken</strong> &#8211; Die Lizenz muss Modifikationen und Weiterentwicklungen zulassen und deren Weitergabe unter denselben Bedingungen erlauben wie die Original-Software.</p>



<p><strong>Integrität des Quellcodes des Autors</strong> &#8211; Zwar muss die Lizenz die Weitergabe von Software mit verändertem Quellcode zulassen, darf aber verlangen, dass abgeleitete Werke einen anderen Namen oder eine andere Versionsnummer tragen müssen.</p>



<p><strong>Keine Diskriminierung von Personen oder Gruppen</strong> &#8211; Die Lizenz darf keine Personen oder Personengruppen benachteiligen.</p>



<p><strong>Keine Nutzungseinschränkung</strong> &#8211; Die Lizenz darf die Nutzung der Software nicht für bestimmte Zwecke oder Tätigkeitsbereiche ausschließen, etwa den Einsatz in Unternehmen.</p>



<p><strong>Allgemeingültigkeit der Lizenz bei Weitergabe</strong> &#8211; Die Lizenz muss für alle gelten, an die die Software weitergegeben wird. Es dürfen keine zusätzlichen Lizenzen vergeben werden.</p>



<p><strong>Produktneutralität der Lizenz</strong> &#8211; Die Lizenz darf nicht davon abhängen, ob die Software ein Bestandteil einer bestimmten Distribution ist. Sie muss auch dann gelten, wenn das Programm eigenständig verwendet oder zusammen mit anderer Software weiterverbreitet wird.</p>



<p><strong>Keine Einschränkung anderer Software</strong> &#8211; Die Lizenz darf keine Einschränkungen für andere Software enthalten, die zusammen mit der lizenzierten Software weitergegeben wird.</p>



<p><strong>Technologieneutralität</strong> &#8211; Die Lizenz darf die Weitergabe der Software nicht auf eine bestimmte Technologie beschränken.</p>



<h3 class="wp-block-heading"><strong>Wie ist Open Source entstanden?</strong></h3>



<p>In den Anfängen der Informatik, etwa in den 50er bzw. 60er Jahren, tauschten Wissenschaftler, Programmierer und Entwickler Software aus, um voneinander zu lernen und um die Informatik weiterzuentwickeln. Zu den frühen Beispielen für die freie Weitergabe von Quellcode gehören auch die von <a href="https://www.ibm.com/de-de">IBM</a> herausgegebenen Quelltexte seiner Betriebssysteme und anderer Programme sowie die SHARE-Benutzergruppe, die sich bildete, um den Austausch von Software zu erleichtern. </p>



<p>Ab den 60er Jahren nutzten ARPANET-Forscher ein offenes &#8222;Request for Comments&#8220;-Verfahren (RFC), um Rückmeldungen zu frühen Telekommunikationsnetzprotokollen zu fördern. Dies führte 1969 zur Entstehung des frühen Internets. Die gemeinsame Nutzung von Quellcode im Internet begann, als das Internet noch relativ primitiv war, mit Software, die über UUCP, Usenet, IRC (Werde ich demnächst auch mal thematisieren. Denn damit ging es auch bei mir los 😉 ) und Gopher verbreitet wurde. BSD zum Beispiel wurde auch zuerst durch Beiträge in comp.os.linux im Usenet verbreitet, wo auch die Entwicklung diskutiert wurde. Linux folgte diesem Modell. </p>



<p>Zwischen den 70er und 80er Jahren wurde der Open-Source-Gedanke schließlich von der Kommerzialisierung der Software verdrängt. Akademiker entwickelten jedoch weiterhin häufig Software in Zusammenarbeit. Beispiele hierfür sind Donald Knuth 1979 mit dem TeX-Satzsystem und Richard Stallman 1983 mit dem GNU-Betriebssystem. </p>



<p>1997 veröffentlichte Eric Raymond () das Buch „The Cathedral and the Bazaar“ (Dies ist gleichzeitig eine Buchempfehlung und stellt eine Bildungslücke dar, falls bisher noch nicht gelesen! Besonders, wenn man in der IT tätig ist!), eine reflektierende Analyse der Hacker-Gemeinschaft und der Grundsätze freier Software. Das Whitepaper fand Anfang 1998 große Beachtung. Es war ein wesentlicher Faktor, der die Netscape Communications Corporation dazu veranlasste, ihre beliebte Internet-Suite Netscape Communicator als freie Software zu deklarieren und zu veröffentlichen. Die Netscape Communications Corporation war ein unabhängiges amerikanisches Unternehmen, für Computerdienstleistungen mit Hauptsitz in Mountain View, Kalifornien, und anschließend in Dulles, Virginia. Dieser Quellcode wird später zur Grundlage von SeaMonkey, Mozilla Firefox, Thunderbird und KompoZer, die heute noch im Einsatz sind.</p>



<p>Das Vorgehen von Netscape veranlasste wiederum Eric Raymond und andere dazu, sich mit der Frage zu beschäftigen, wie man die Ideen der Free Software Foundation und die von ihr erkannten Vorteile, für die kommerzielle Softwareindustrie nutzbar machen kann. Sie kamen zu dem Entschluss, dass der soziale Aktivismus der FSF, für Unternehmen wie Netscape nicht attraktiv war. Also suchten sie nach einer Möglichkeit, der Freien-Software-Bewegung einen neuen Namen zu geben. Dies sollte das geschäftliche Potenzial des Austausches und der Zusammenarbeit an Software-Quellcode voll ausschöpfen. </p>



<p>Dies war die Geburtsstunde des Bergriffs &#8222;<a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source</a>&#8222;. Die Definition wurde bald darauf von Bruce Perens, einem amerikanischen Programmierer und Verfechter der Bewegung für freie Software definiert, manifestiert und veröffentlicht. Der Verleger Tim O&#8217;Reilly machte unter Anderem den Begriff <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source</a> relativ schnell populär. Und Linus Torvalds, ein finnisch-US-amerikanischer Informatiker sowie Software-Entwickler, der bis heute als Initiator und als treibende Kraft bei der Entwicklung des Linux-Kernels gilt. Der Kernel bzw. die Arbeitsmethodik wird von vielen anderen genau so weitergeführt. Die Entwicklung wird übrigens bis heute noch von ihm koordiniert.</p>



<p>Im Februar 1998 die Gründung der OSI (<a href="https://opensource.org" target="_blank" rel="noreferrer noopener">Open Source Initiative</a>). Sie sollte die Verwendung des neuen Begriffs fördern und die Open-Source-Prinzipien propagieren. Was in Anbetracht der gegenwertigen Situation auch ganz gut gelungen ist. Vor allem wenn man bedenkt, wie viele große Konzerne damals zu <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source</a> Software Stellung bezogen haben. Und wie sie heute selbst <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source</a> Software nutzen. Dazu aber nachfolgend mehr.</p>



<p>Zur gleichen Zeit sahen sich kommerzielle Softwarehersteller zunehmend durch das Konzept der frei verteilten und erhältlichen Software und des allgemeinen Zugangs zum Quellcode einer Anwendung bedroht. Der Microsoft-Manager Jim Allchin, ein amerikanischer Informatiker und ehemalige Führungskraft bei Microsoft, erklärte 2001 öffentlich: &#8222;<a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source</a> ist ein Zerstörer geistigen Eigentums. Ich kann mir nichts Schlimmeres für das Softwaregeschäft und das Geschäft mit dem geistigen Eigentum vorstellen.&#8220; Oder Steve Ballmer (CEO von Microsoft von 2000 bis 2014), der 2001, bei einem Interview, Linux als Krebs bezeichnete.</p>



<h3 class="wp-block-heading">Open Source Software heute</h3>



<p>Freie und quelloffene Software hat Anfangs eine Rolle außerhalb des Mainstreams eine Rolle gespielt.  Also eher in der privaten Softwareentwicklung. Größere Unternehmen wie Microsoft, Google, Facebook, IBM, Oracle usw. hatten begonnen, offizielle Open Source &#8222;Plattformen&#8220; im Internet aufzubauen. Damit haben sich die ehemaligen „Gegner“ auf die ein oder andere Art der Bewegung für freie und quelloffene Software angeschlossen. </p>



<p>Dadurch hat sich die Sichtweise auf Open-Source-Software grundlegend geändert. Hinzu kommt, dass auch von denen Konzernen viel Kapital und Resourcen in die Entwicklung von Open Source Software fließen. Zu den Mitwirkenden, Geldgebern und gemeinnützigen Organisationen an Open-Source-Projekten gehören unter anderem die Linux Foundation, die WordPress Foundation, Creative Commons, das Android Open Source Project und die Mozilla Foundation. Auch Epic Games hat in den letzten Jahren nicht wenig Geld in Blender und dessen Weiterentwicklung gesteckt. Doch das Thema Blender werde ich in den kommenden Wochen auch in Angriff nehmen und in einem Beitrag festhalten.</p>



<h3 class="wp-block-heading">Beliebte Open Source Software &#8222;Lizenzen&#8220;</h3>



<p><strong>MIT License©</strong>: MIT License ist eine freie Softwarelizenz. Nutzern ist es erlaubt, den Originalcode mit sehr wenigen Einschränkungen zu verändern.<br><strong>GNU General Public© (GPL)</strong>: GNU ist eine Reihe von Lizenzen für freie Software. Es gibt Endbenutzern die Möglichkeit, Software auszuführen, zu untersuchen, weiterzugeben und zu verändern.<br><strong>BSD</strong>: Die BSD Lizenz hat weniger Beschränkungen für Entwickler. Es erlaubt den Nutzern, den Code zu verwenden und zu verändern, ohne die Änderungen weitergeben zu müssen.<br><strong>Ubuntu®</strong>: Ubuntu ist eine Linux-Distribution, die aus freier und Open-Source-Software besteht. Es wird primär in den Bereichen Desktop, Cloud und IoT veröffentlicht.<br><strong>Red Hat</strong>: Eine Open-Source-Softwareplattform und ein IBM-Derivat, das eine Vielzahl von Produktivitätsanwendungen für Unternehmen bietet.<br><strong>Blender</strong>: Blender ist eine freie, mit der GPL lizenzierte 3D-Grafiksuite, mit der sich 3D-Körper modellieren, texturieren und animieren lassen. Die Inhalte finden in Grafiken, Animationen und Software Anwendung. Geschaffene Bildsynthesen können mithilfe des integrierten Compositors und Videoschnittprogramms nachbearbeitet werden. Programmiersprachen, die zum Einsatz kommen sind C und C++. Python wird als Skriptsprache verwendet.<br><strong>Mozilla</strong>: Die Mozilla Public License ist eine freie und quelloffene schwache Copyleft-Lizenz. Für die meiste Software der Mozilla Foundation wie Firefox und Thunderbird. Die MPL-Lizenz ist von Mozilla und die Entwicklung bzw. Pflege, findet In-House statt.<br><strong>SUSE</strong>: SUSE Linux basiert auf einem Open-Source-Linux-Kernel und wird mit System- und Anwendungssoftware vertrieben.<br><strong>LibreOffice</strong>: Ein Open-Source-Büroprogramm, das den Microsoft Office-Programmen ähnelt.<br><strong>Apache®</strong>: Die Apache License ist eine freie Softwarelizenz. Sie erlaubt den Nutzern, die Software für jeden Zweck zu verwenden, zu verändern und zu verbreiten.<br><strong>Berkeley Software Distribution</strong>: Ist ein Betriebssystem, das auf Research Unix basiert. Die Computer Systems Research Group an der University of California, Berkeley, entwickelt und kümmert sich um den Vertrieb.<br><strong>MySQL™</strong>: MySQL ist ein Open-Source-Datenbankverwaltungssystem mit zwei separaten Lizenzen &#8211; der MySQL Standard Edition und der MySQL Enterprise Edition.</p>



<h3 class="wp-block-heading">Nachteile von Open Source Software</h3>



<p>Obwohl Open Source Software und die Lizenzen enorm zum Wachstum der Softwareentwicklung und der Entwicklung der internationalen IT-Landschaft beigetragen haben, wird ihre weite Verbreitung nicht von Wenigen als negativ erachtet. Dies wird auf die fehlende Regulierung zurückgeführt, die zu zahlreichen juristischen Problemen führen kann. Auch bezüglich der Definition, was als Open Source und was Closed Source deklariert werden kann, stellt einen wesentlichen Problemfaktor dar. </p>



<p>Um diesen Umständen entgegenzuwirken hat die Open-Source-Gemeinschaft Klassifizierungsschemata eingeführt, die in der Regel auf Copyleft-Bestimmungen (Um ein Programm unter das Copyleft zu stellen, wird es zuerst unter ein Copyright gestellt; danach werden als Rechtsmittel Vertriebsbestimmungen hinzugefügt, die es allen erlauben, den Quellcode des Programms oder jedes davon abgeleiteten Programms zu verwenden, zu ändern und weiter zu verteilen) beruhen, um geeignete Anwendungsfälle für das Open-Source-Softwareentwicklungsmodell zu bestimmen. </p>



<p>Das US-Bundesberufungsgericht, entschied darüber hinaus, dass OSS-Lizenzen rechtsverbindliche Anforderungen für die Nutzung von urheberrechtlich geschütztem Material enthalten müssen. Findet durch einen Benutzer ein Regelverstoß gegen diese offenen Standards statt, verliert er seine Lizenz und verstößt damit gegen die Norm für Urheberrechtsverletzungen, ähnlich wie bei der unbefugten Nutzung einer proprietären Lizenz. Die Folgen dafür können gravierend sein.</p>



<h3 class="wp-block-heading">Übrigens: Open Source vs. freie Software</h3>



<p>“Open Source” und “Freie Software” bezeichnen im Wesentlichen das Gleiche. Der Begriff “Freie Software” ist lediglich etwas älter (1985) und stammt von der Free Software Foundation. Der Gedanke der frei zugänglichen Software ist gleich, nur die Motivation dahinter ist verschieden. Bei Open Source ist es der praktische Nutzen, der durch die gemeinsame Weiterentwicklung von Software entsteht. Bei der freien Software ist es die Ideologie dahinter und der Nutzen für den Anwender.</p>



<h3 class="wp-block-heading">Fazit</h3>



<p>Ich bin davon überzeugt, dass das Wissen der Menschheit der Welt gehört und durch das Wissen auch die Vermittlung von Bildung besser vonstattengehen kann. So dient das Wissen auch der Fähigkeitsvermittlung, bei der eine Gesamtheit der Fähigkeiten zum Tragen kommt. Bildung wiederum hat auch eine moralische Funktion. </p>



<p>Daher kann durch Bildung die Voraussetzung dafür geschaffen werden, dass Menschen eher Verantwortung für sich selbst, sowie für andere in ihrem Umfeld und ihrer Umwelt übernehmen. Kurz: Mithilfe von Wissen und Bildung kann ein Mensch eher zwischen Gut und Böse unterscheiden. Ohne Wissen und Bildung funktioniert keine moderne Software oder Demokratie. Und dies sind nun einmal die Schlüssel für ein gutes Miteinander, zu Arbeit und Beruf in unserer heutigen Zeit. </p>



<p>Deshalb muss sowohl Wissen als auch die Bildung kostenlos zugänglich gemacht werden &#8211; Damit auch Quellcodes von Software. Dies alles mag zwar auf dem ersten Blick etwas verzerrt wirken, doch wenn man bedenkt, dass viele Menschen ihr Wissen heutzutage fast ausschließlich aus dem Internet bzw. von den digitalen Medien beziehen, kann es meiner Meinung nach durchaus Sinn machen. Aber ich lasse mich auch gerne jederzeit eines Besseren belehren 😉</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source &#8211; Wissen teilen und vermehren</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2022/11/16/erklaerung-open-source/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">557</post-id>	</item>
	</channel>
</rss>
