1 Open-Source Software – Gliederung¶
1.1 Einleitung¶
1.1.1 Was ist Open-Source Software?¶
Überbegriff zu allen Verteilungsarten von Software, bei denen der Quelltext als Teil des Produktes mitgeliefert wird. Man spricht dann auch von „offenen Programmen“. Die genauen Regeln zur Verteilung der Software werden mit einer Lizenz festgelegt, die vom Dachverband der „Open Source Initiative“ akzeptiert sein muss (siehe http://opensource.org). Diese Regeln erlauben unter anderem, dass der Quelltext von beliebigen Menschen verändert und weiter verteilt werden darf. So können sich selbst organisierte Vereinigungen von Freiwilligen ausbilden, die sich um die Weiterentwicklung von offenen Programmen kümmern.
„Freie“ Software (engl. free software) ist eine spezielle Form der Open-Source Software, bei der man es mit der GPL Lizenz zu tun hat (Copyleft).
Menschen, die naiv den Begriff „Freie Software“ hören, bringen ihn in Zusammenhang mit „kostenlos“ und „ohne Quelltext“. Das stimmt aber nicht. Im Vordergrund steht, wie es Richard Stallman sagt „free as in freedom“, nicht „free as in free beer“.
Freie Software bitte auch nicht mit „Freeware“ verwechseln, letztere ist kostenlos aber fast immer nur ohne Quelltext erhältlich.
1.1.2 Wo wird freie Software verwendet?¶
In vielen modernen Smartphones.
Auf Servern (z.B. Apache Web-Server).
Auf vielen eingebetteten Systemen.
Überall da, wo Geld für Lizenzen fehlt
Kommerzielle Software oft mit jährlichen Nutzungskosten (SAP, Matlab, …)
Aber: Andere Art von Kosten bei freier Software, z.B. Schulungen
In armen Ländern
„Digital Divide“
Medizinisches Projekt auf Kuba. Trotz des US-Embargos kann man eine CDROM mit aktuellen Open-Source Programmen hinschicken, so dass 1600 Ärzte nun auf alten 386 PCs arbeiten können.
Nordvietnam, US-Embargo von Clinton Regierung. John „Maddog“ Hall bringt auch hier den aktuellen Stand der freien Software per Kurzbesuch auf CD vorbei.
Brasilien
Ist Software proprietär, so könnte eine Softwarefirma gezwungen werden, ein Embargo mitzumachen.
In der Wissenschaft (häufig)
Textsatzsystem Latex
Simulation, Visualisierung, Numerik, Computeralgebra
In den öffentliche Verwaltungen und in Behörden (selten – die meisten Vorhaben sind gescheitert)
In der Schule:
https://www.linuxmuster.net (aktuell und aktiv, 2019), Doku: http://docs.linuxmuster.net/de/latest/
Das „Lernstick“ Projekt in der Schweiz (Debian Live auf einem USB Stick)
Arktur Schulserver http://arktur.shuttle.de
Im privaten Bereich
Gegenfragen
Wo wird freie Software nicht eingesetzt?
Warum wird so viel (geschlossene) Software von Microsoft verwendet?
1.1.3 Ein paar Beispiele¶
The GNU Project
Richard Stallman
Linux Kernel
Linus Torvalds
Python
Guido van Rossum
Perl
Larry Wall
Apache
Rob McCool, Brian Behlendorf
KDE
Matthias Ettrich
Gnome Desktop Environment
Miguel de Icaza
Literatur: [WILLIAMS], [VOICES], [AOSABOOK], [BIANCUZZI]
1.1.4 Wie verdient man damit Geld?¶
Geschäftsmodelle
Distributoren
Dienstleister - Gewöhnliche Anwendungsentwicklung (wie bei nicht-freier Software) - Im Bereich GPL Software (Kernel, GCC, …) - Administration
Schulungen
Medien, Verlage
Lockvogelangebot
Ein paar Firmen
Cygnus, your GNU Support (1989)
Anpassung der GNU Tools gegen Geld
Weiterentwicklung von GNU Software
eCos, ein abgespecktes UNIX für kleine Mikrocontroller
http://www.egnite.de (Hardware/Software, Nut/OS)
Denx http://denx.de
Pengutronix http://pengutronix.de
https://bootlin.com (ehem. Free Electrons)
https://www.sysmocom.de (Fa. von Harald Welte)
Literatur
[GRASSMUCK] Kapitel Was ist freie Software, wie entsteht sie, wer macht sie?, im Buch von S. 233 bis 258.
1.2 Geschichte¶
Entwicklung des Internet
Das World Wide Web
Die Entwicklung des UNIX Betriebssystems
Der Mikroprozessor
Geschichte des PC
Linux
Zusammenfassung: Die sechs Prinzipien
1.2.1 Entwicklung des Internet in den 60er Jahren¶
Der Grundstein für das heutige Internet wurde in den 50er Jahren des vergangenen Jahrhunderts gelegt. In dieser Zeit wurde in den USA die Advanced Research Projects Agency (ARPA) 1958 gegründet, die als Eliteforschungseinrichtung das Wissen auf verschiedenen technologischen Gebieten mehren sollte. Zumindest einen kleinen Anteil an der Gründung der ARPA hatte der enorme Erfolg des sowjetischen Sputnik Projektes (siehe [wikipedia]), bei dem es Wissenschaftlern der „gegnerischen“ Supermacht gelang, Satelliten in die Erdumlaufbahn zu schiessen. In politischen Kreisen der USA löste dieses Ereignis Panik aus (man sprach auch vom „Sputnik Schock“), so dass plötzlich sehr viel Geld in die amerikanische Forschung gesteckt wurde, um diesen vermeintlichen Rückstand wieder aufzuholen. Eine goldene Zeit für Research and Development bricht an.
Das amerikanische Verteidigungsministerium (DoD – Department of Defense) bekommt die ARPA-Abteilung IPTO (Information Processing Techniques Office) 1962 zugeordnet, die den Auftrag hat, die modernste Forschungseinrichtung für Computertechnik zu werden. Der erste Leiter des IPTO wird J.C.R. Licklider, der später bekannt werden sollte für seine Antizipation des interaktiven und vernetzten Rechnens und für den Begriff „Netizen“. Licklider verlässt dazu seine Stelle bei der Firma BBN (Bolt, Beranek and Newan), die ebenfalls wie das Pentagon an der Ostküste der USA liegt. BBN liegt in der Nähe des MIT (Massachusets Institute of Technology) und konnte dadurch viele hoch qualifizierte MIT Abgänger rekrutieren.
Die Veröffentlichungen von Prof. Licklider sind frei im Internet zu finden. Es folgt ein Zitat aus „Human Computer Symbiosis“ von 1960:
Man-computer symbiosis is an expected development in cooperative interaction between men and electronic computers. It will involve very close coupling between the human and the electronic members of the partnership. The main aims are 1) to let computers facilitate formulative thinking as they now facilitate the solution of formulated problems, and 2) to enable men and computers to cooperate in making decisions and controlling complex situations without inflexible dependence on predetermined programs. In the anticipated symbiotic partnership, men will set the goals, formulate the hypotheses, determine the criteria, and perform the evaluations. Computing machines will do the routinizable work that must be done to prepare the way for insights and decisions in technical and scientific thinking. Preliminary analyses indicate that the symbiotic partnership will perform intellectual operations much more effectively than man alone can perform them. Prerequisites for the achievement of the effective, cooperative association include developments in computer time sharing, in memory components, in memory organization, in programming languages, and in input and output equipment.
Das IPTO ist im Pentagon untergebracht und kann mit einem riesigen Budget unabhängig agieren, etwa 250 Millionen jährlich.
Ziel ist es, ein Kommunikationsnetzwerk zu konstruieren, das fehlertolerant ist, d.h. das nicht durch den Defekt von einzelnen Knoten im Ganzen lahmgelegt werden kann. Die Lösung dieses Problems ist die Technik des Packet Switching, die von Paul Baran (1964/USA) und Donald Davies (1966/England) unabhängig voneinander entwickelt wurde.
Die erste Veröffentlichung über das geplante ARPAnet wurde 1967 auf einer ACM Konferenz in Tennessee vorgestellt.
Das ARPAnet beginnt etwa 1969 zu existieren. Der erste Rechner am ARPAnet war ein Honeywell DDP-516 (siehe Abb.); die Premiere der Datenübertragung war am 20 Oktober 1969 als zwischen zwei Knoten das Wort LOGIN übertragen wurde. Der eine Knoten war bei der UCLA (University of California at Los Angeles), der andere an der Stanford University (SRI - Stanford Research Institute). Zur Ankopplung an das ARPAnet werden modifizierte kommerzielle Rechner verwendet, am Anfang war es der Honeywell DDP-516 in Rack-Bauweise (ein Rack ist ein Schrank der Einschübe aufnehmen kann), siehe Abb.
Diese Rechner werden auch als Interface Message Processor (IMP) bezeichnet. Auf den IMPs wurde die Ankopplung an das Übertragungsmedium realisiert, meist eine Standleitung mit ca. 60 kbit/sec Bitrate, als auch das eigentliche Netzwerkprotokoll abgearbeitet. An den IMP wurde der zu nutzende Rechner verbunden, der auch als Host bezeichnet wurde. Wenn man sich ansieht, wie heute Rechner an das Internet gekoppelt werden, dann sieht man, dass der Host-Rechner auch das Netzwerkprotokoll abarbeitet (den TCP/IP Stack) und über eine im Vergleich zum IMP winzige Einsteckkarte (die Netzwerkkarte) mit dem Ethernet verbunden ist. Das Netzwerkprotokoll war in der Anfangszeit des ARPAnet das Network Control Protocol NCP. Später wurde NCP durch das Transmission Control Protocol (TCP) und das Internet Protocol (IP) abgelöst.
Im Dezember 1969 besteht das ARPAnet bereits aus vier Knoten: UCLA, Stanford, University of Utah in Salt Lake City und University of California at Santa Barbara (UCSB).
Im Oktober 1972 wird das bis dahin aus ein paar Knoten bestehende ARPAnet in einer öffentlichen Demo im Rahmen einer Konferenz über Computerkommunikation gezeigt. Der Erfolg dieser Demonstration stärkt den Willen, auch viele andere Rechnermodelle wie z.B. PDP-8, PDP-11, IBM 360 an das ARPAnet anzubinden.
Der eingeschlagene Weg zur Dokumentation des ARPAnet ist für die spätere Entwicklung der freien Software sehr wichtig. Das ARPAnet Team entschied sich für eine freie Veröffentlichung der Standardentwürfe, um diese in einem demokratischen Prozess zu beurteilen. Diese Entwürfe heissen Request For Comment (RCS). Bei der Internet Engineering Task Force (http://www.ietf.org) kann man alle RFCs von Nr. 1, den Steve Crocker 1969 schrieb, bis zum aktuellen RFC, der etwa die Nummer 2600 hat, nachlesen. Die RFCs sind bis heute die entscheidenden Dokumente, wenn es um die exakte Programmierung eines Internet-Protokolles geht.
Die erste E-mail wird 1972 verschickt. Ray Tomlinson (Abb.)
verwendet das @
-Zeichen, um den Namen vom Rechner zu trennen.
Stephen Lukasik, der zwischen 1971 und 1975 Direktor der ARPA war, begann als erster, eine Organisation „virtuell“ über E-mail zu steuern.
Bob Metcalfe erfindet etwa 1972 Ethernet. Er verwendet dazu die Ideen des ALOHA Netzwerkes der Universität Hawaii. ALOHA wurde ursprünglich als drahtloses Netzwerk für mobile Geräte geplant. Später gründet Metfalfe die Firma 3COM.
Mitte der siebziger Jahre beginnt der Student Eric Allman das Programm sendmail zu schreiben, um die zunehmenden Anzahl von Emails in der heterogenen Landschaft des ARPAnet in den Griff zu bekommen.
Die Protokolle TCP (RFC 793) und FTP (RFC 959) entstehen Anfang der 70er Jahre. Das TCP Protokoll wurde an drei Plätzen entwickelt: Stanford (Cerf), BBN und am Univerity College in London. Die erste Spezifikation war 1974 fertig. Vier Iterationen wurden bis 1978 durchlaufen.
Im Oktober 1972 sind es bereits 29 Knoten. Der erste internationale Knoten ist 1972 in Paris, 1977 heuert ARPA Vinton Cerf und Bob Kahn an um das ARPAnet mit dem IP Protokoll zu betreiben. Im Jahr 1981 wird das Internet von NCP auf TCP/IP „umgeschaltet“. Bis 1985 wuchs das mit TCP/IP betriebene Internet wegen einer fehlenden breit verfügbaren TCP/IP Implementierung nur langsam. Ein signifikanter Anstieg war erst durch den TCP/IP Stack im Berkeley UNIX zu spüren.
Ende der 70er Jahre wandelt sich das Internet von der militärischen zur akademischen Forschungsförderung – die Förderung erfolgt nicht mehr durch die DARPA (die ARPA wurde irgendwann in DARPA umbenannt) sondern durch die National Science Foundation (NSF).
1990 wird das ARPAnet abgeschaltet. Die kommerzielle Phase des Internet beginnt.
Bei der ursprünglichen Planung des ARPAnet ging man davon aus, dass es nicht mehr als 256 Netze geben wird. Dazu reichte die erste Zahl bei einer Internet-Adresse, z.B. 141.82.31.16. Später führte man das Konzept der Class A, B und C Adressen ein. Auch diese Aufteilung kann den enormen Zuwach an Internet-Adressen nicht mehr unterbringen, so dass eine neue Version des IP-Protokolles notwendig ist (IPv6).
Das Internet wird auch oft als „Netz aus unterschiedlichen Netzen“ bezeichnet, da es sehr viele andere Netze unter einem Dach vereint.
Einige wichtige Protokolle des Internet sind:
IP
TCP, UDP
FTP
TELNET
NNTP (Usenet, Netnews)
SMTP, POP
HTTP
Der unaufhaltbare Erfolg des Internet ist auch ein Erfolg des Teilens (shared ethic). Dazu schreibt [FREYERMUTH]:
Software-Fundament des Internet legten technisch Begeisterte, die sich das Ergebnis ihrer Brillianz nicht im Interesse individuellen Profits patentieren liessen. Über Jahrzente wurde der freie Austausch gepflegt, so konnte die Software perfektioniert werden. John Katz (Slashdot): Diese Zehntausende Handwerker und Bastler, denen es primär nicht um Tausch- sondern Gebrauchswert ging, waren die wahren Architekten der neuen „Ökonomie“.
1.2.2 Das World Wide Web¶
Anfang der 90er Jahre (genau 1992) entwickelt Tim Berners-Lee das World Wide Web (WWW) mit den Hyperlinks am Cern, dem Zentrum für Elementarteilchenphysik in der Schweiz.
Das Konzept der Hyperlinks ist aber viel älter. Bereits 1950 sieht Vannevar Bush in seinem prophetischen Artikel „As We May Think“ die Explosion der Informationsmenge voraus. Mit seinem „Memex“ System nimmt er das Konzept des Hypertext vorweg. Bush war zu dieser Zeit Direktor der National Science Foundation (NSF). Ein Zitat:
The Memex was a conceptual machine that can store vast amounts of information, in which users have the ability to create information trails, links of related texts and illustrations, which can be stored and used for future reference.
Später stützt sich Ted Holm Nelson (geb. 1937) auf die Arbeiten von Vannevar Bush. Er kreiert 1965 das Wort „Hypertext“, am besten ist er bekannt für das Xanadu Hypertextsystem (siehe http://www.aus.xanadu.com/xanadu).
Das Konzept der Hyperlinks und des Hypertextes wurde von Ted Nelson im Xanadu Projekt etwa 1965 entwickelt. Nelson ist ausserdem bekannt für Hypertext, Hypermedia, Verbunddokumente (compound documents), Pixel-Grafik, Vektor-Grafik, Video, Sound, Virtualität, Micro-Payment und so weiter. Xanadu hat er 1967 vorgestellt (siehe http://www.udanax.com). Er hat Ray Ozzie bei der Entwicklung von Lotus Notes beeinflusst sowie Bill Atkinson bei der Entwicklung von Apple HyperCard. Xanadu ist durch die Konzepte der Notizen, Annotationen, Copyrights und Revisionen wesentlich leistungsfähiger als das heutige World Wide Web. Veröffentlicht u.a. 1982 das Buch „Literary Machines“ und 1987 „Computer Lib“.
Schlachtruf von Ted Nelson Anfang der 70er Jahre: „Computer Power to the People“.
Mitte der 60er Jahre werden auch bereits die ersten Hypertextsysteme HES und FRESS an der Brown-University entwickelt.
Die Firma Netscape formiert sich 1994 aus Mitgliedern des NCSA (National Center for Supercomputing Applications). Marc Andreessen und fünf andere Teammitglieder. Beim NCSA habe diese Leute am Mosaic Browser gearbeitet. In ihrer eigenen Firma möchten sie Mozilla schreiben („Mosaic-Killer“), die eine Killer-Applikation für das Internet werden soll. Nach dem ersten grossen Erfolg von Netscape kreuzt Bill Gates auf – Microsoft entwickelt in der Rekordzeit von nur 18 Monaten den Internet Explorer. Das alles, nachdem Bill Gates 1996 die Richtung von Microsoft um 180 Grad umpolt: bis dahin hat die Firma auf ein proprietäres Netzwerk gesetzt, das nicht mit dem Internet verbunden ist.
Zum ersten Mal werden offene Standards durch kleine proprietäre Änderungen modifiziert. Das bringt dem Monopolisten Microsoft auch die Kontrolle von Bereichen, die vorher durch strenge Standardisierung geprägt war. Damit steigt auch die Verkaufszahl von Windows NT Server: 1997 werden mehr NT Server verkauft als Unix Server.
1.2.3 Die Entwicklung des UNIX Betriebssystems¶
aus [GOODHEART]: MIT, GE (General Electric) und Bell Labs 1965: Projekt MULTICS mit dem Ziel, ein innovatives Betriebssystem zu schaffen, das die interaktive Arbeit von mehreren Usern erlauben sollte. Bell Labs steigen aus dem Projekt aus, da die Entwicklung zu lange dauert.
Der Honeywell 635 Rechner, auf dem MULTICS entstehen sollte, dient Thompson als Plattform für das Spiel „Space Travel“. Nachdem er seine Software auf eine GE-645 portiert hatte und seine Quelltext Files der Spiele-Sourcen in ein hierarchisches Filesystem speicherte, das er während des MULTICS Projekts schrieb, war die Performance wegen des Timesharing-Systems schwach und teuer (es wird berichtet, dass ein Spiel etwa 70 US-Dollar kostete). Als Ausweg hat er eine kaum benutzte PDP-7 als Plattform für sein Spiel verwendet.
Der nächste Rechner war eine PDP-11/20. Im November 1971 „First Edition“ UNIX – kommt von Versionsstand der Dokumentation. 1972 bereits „Second Edition“. 1973 Fourth Edition mit in C geschriebenen Kernel. Die „Fifth Edition“ 1974 ist frei und wird an Universitäten, z.B. Berkeley, verteilt. Sixth Edition („V6“) 1975; Seventh Edition („V7“) 1979.
Eine Dokumentation fast des ganzen Quelltextes der Version 6 (V6) ist im Buch von John Lions, A Commentary on the UNIX Operating System von 1977 zu finden. Erstaunlich ist, wie klein aus heutiger Sicht das damalige UNIX noch war.
Aus heutiger Sicht ist es reizvoll sich die Hardware-Resourcen einer PDP-11 anzusehen. Es war ein 16-Bit Rechner mit einer durchschnittlichen Programmgrösse von 8 KByte. Die maximale Programmgrösse war 64 KByte. Der Übergang von 16-Bit auf 32-Bit Rechnern passierte in etwa zwischen V6 und V7. Dazu musste der im Kernel verankerte PDP-11 Code verallgemeinert werden. Typische Beispiele für die ersten 32-Bit Rechner sind die Interdata 8/32 und die VAX-11/780.
Nach Version 7 gibt die Forschungsgruppe an den Bell Labs UNIX an die UNIX Support Group (USG) ab. 1982 kommt es zum ersten Release „System III“. Später wurde aus der USG die UNIX System Development Labs (USDL), die das System V, Release 2 (SVR2) veröffentlichen (1984). Zu der Zeit gibt es bereits 100.000 UNIX Installationen auf der Welt. SVR3 folgt im Jahr 1987. In diesem Jahr erreicht man etwa 750.000 Installationen. SVR4 folgt im Jahr 1989. SVR4 hat viele Neuerungen von BSD 4.3 übernommen, so dass sich der AT&T- und der Berkeley-Zweig mischen. Eine ausführliche Beschreibung von System V Release 4 ist in [GOODHEART] zu finden.
Ende der 70er Jahre nimmt auch das kommerzielle Interesse an UNIX zu. Die Geschäftsidee ist einfach: Nimm eine neue Hardware-Plattform und portiere UNIX drauf. Dadurch entstanden einige Firmen, die sich auf die Portierung von UNIX auf unterschiedliche Prozessoren wie z.B. Zilog Z8000, Intel 8088 und Motorola 68000 spezialisiert hatten. Wichtig ist hier auch XENIX, das in einer Kooperation zwischen Microsoft und SCO (Santa Cruz Operation) entstand, SCO machte die Portierung auf Intel x86.
Im Jahr 1993 hat AT&T USDL an Novell verkauft.
Brian Kernighan hat den Namen „UNIX“ geprägt, zu dem er über MULTICS und UNICS kam.
Berkeley Unix
Siehe [CHEEK].
Unix entstand 1969, als Dennis Ritchie und Ken Thompson bei AT&T Bell Labs in Murray Hill ein System zu entwickeln begannen, das Online-Programmierung und Textbearbeitung unterstützen sollte. Unix wurde bis 1973 in C neu programmiert, um es portabler zu machen.
1975 stellte AT&T das System einigen Universitäten für 150$ zur Verfügung. Thompson hatte zu dieser Zeit ein Forschungsfreisemester an der Universität Berkeley und brachte die damalige Version 6 mit, die dann auf einer PDP-11/45 und einer PDP-11/70 genutzt wurde. Bereits vorher hatte Berkeley mit der Version 4 gearbeitet. McKusick: „Thompson hat regelrecht einen Kader von Akademikern herangezogen, die sich für Unix interessieren“. Dadurch brachten die Studenten ihr Wissen in die Industrie. Zu dieser Zeit interessierte sich auch Bill Joy (Abb.) für den Unix Kernel. Er ist später einer der Mitgründer der Firma Sun Microsystems.
Im Interview Joy of Unix erzählt Bill Joy, wie der vi Editor ca. 1976/77 entstand: Zuerst war ‚ed‘, dann hat ein gewisser George Coulouris vom University College in London ‚em‘ geschrieben (Editor for Mortals). Der em wurde modifiziert, woraus dann eo entstand, dann kam ex. Mit ex hat BJ dann in ein paar Monaten über ein 300 Baud Modem den vi geschrieben. Die Kommandos wurden so gewählt wie sie sind, damit der Editor über 300 Baud bedienbar bleibt. „… the editor was optimized so that you could edit and feel productive when it was painting slower than you could think.“ Die Grenze ist zum „Mitdenken“ liegt irgendwo zwischen 1200 und 9600 Baud.
2BSD (1977) mit vi und termcap; zur gleichen Zeit Digital VAX11/780 (Abb.), die einen grösseren Adressraum zur Verfügung stellt als die PDP-11; schnellt kommt es zu einer „quick-and-dirty“ Fassung von Unix Version 7 für die VAX, damit man nicht mit VMS arbeiten musste. Aufgrund von Speicherproblemen arbeiteten die Studenten in den Weihnachtsferien 1979 an einem Kernel mit virtuellem Speicher, das „richtige“ Berkeley-Unix 3BSD war entstanden.
1980 wurde eine schnellere 4BSD Distribution herausgegeben (incl. Franz Lisp); DARPA wird auf BSD aufmerksam; im April 1980 macht die DARPA das Berkeley-Unix zu ihrem standardmässigen Forschungssystem, mit dem Ziel, eine Netzwerkschnittstelle und ein schnelleres Dateisystem zu entwickeln. Joy propagiert „offene Systeme“ und die Philosophie „lieber Ruhm als Geld“; das Geld der DARPA floss bis 1988; seiter erhielt BSD Geld von Hewlett-Packard, Cray Research, Open Software Foundation (OSF: Apollo, Bull, DEC, HP, IBM, Siemens) und NASA. Mt. Xinu, eine kleine Firma in Berkeley bringt 1982 MORE/BSD heraus.
1983 kommt 4.2BSD mit der ersten TCP/IP Implementierung, die heute immer noch die Grundlage vieler Netzwerke bildet. Mit dieser Version geht auch der signifikante Anstieg der Anzahl an Internet-Knoten einher.
1985 entwickelt Sun das Network File System (NFS).
1986 kommt 4.3BSD mit neuer Netzwerkfunktionalität; 1988 dann Net/1 (siehe Geschichte von FreeBSD).
4.4BSD erweitert die Möglichkeiten zur Interprozesskommunikation.
Die ersten Versionen BSD1, BSD2 und BSD3 wurden nicht extern finanziert. BSD4 mit 4.1, 4.2 und 4.3 wurde von der DARPA finanziert. Später wurde Berkeley UNIX von HP, OSF und Cray Research finanziert.
Eine kurze Darstellung des Berkeley UNIX findet man in [BOSTIC], [CHEEK] und [MCKUSICK]. Die Versionen 4.2 und 4.3 werden knapp in [QUARTERMAN] beschrieben.
Die Geschichte von FreeBSD
Ursprung in der Berkeley Software Distribution (BSD), die von einigen Entwicklern am CSRG (Computer Systems Research Group) an der UCB ins Leben gerufen wurde. Zunächst nur eine Sammlung von Ergänzungen und Erweiterungen zum Original-Unix von AT&T, im Laufe der Zeit jedoch ein eigenständiges OS. Ausschliesslich im Quellcode verfügbar, war es Entwicklern, Firmen und Universitäten zugänglich.
Die CSRG entschloss sich 1989, den TCP/IP Code und die in Berkeley entwickelten Hilfsprogramme als das „Network Release 1“ (Net/1) unter der liberalen BSD Lizenz frei verfügbar zu machen – als Antwort auf die restriktive Lizenz der Bell Labs. Die guten Reaktionen auf Net/1 bewogen viele Entwickler, gemeinsam mit Freiwilligen möglichst alle Systembestandteile frei verfügbar zu machen. Bis auf sechs Dateien, die noch das AT&T Copyright enthielten, und daher nicht verteilt werden durften, wurde ein BSD Net/2 im Juni 1991 freigegeben. Die restlichen Dateien wurden von Bill Jolitz ersetzt, der Net/2 auf i386 portiert hat. Siehe seine Veröffentlichungen im Dr. Dobbs Journal. Das war das 386BSD. Am Anfang übernahm er die Bugfixes aufgrund der Reports aus der ganzen Welt, später waren das ein paar andere Leute. Diese Leute haben dann NetBSD herausgegeben, mit dem Ziel, ein plattformunabhängiges BSD zu schaffen. Einige Jahre später hat sich aus NetBSD dann OpenBSD abgespalten. Die Pfleger des Patch-Kit und einige andere aus der 386BSD Szene haben dann 1994 FreeBSD herausgebracht.
1981 bekommt die Universität Berkeley von der ARPA Fördergelder um TCP/IP in BSD Unix einzubauen. Bill Joy, der spätere Mitgründer von Sun, wirkt massgeblich an der Arbeit mit.
Abb. [unixchron] zeigt die zeitlichen Zusammenhänge zwischen AT&T UNIX, Berkeley UNIX und SunOS/Solaris. Neben diesen UNIXen gibt es auch noch Varianten von SCO (SCO steht für Santa Cruz Operation, die Produkte waren Xenix und SCO UNIX, IBM (AIX), Siemens Nixdorf (SINIX), DEC (Ultrix), HP/Apollo (HPUX), Silicon Graphics (Irix), Novell (Unixware) und anderen.
Weitere Informationen über UNIX kann man der Website http://www.unix.org entnehmen.
1.2.4 Der erste Mikroprozessor¶
entnommen aus: [FRITSCH]
Silicon Valley (1971); Ende der 40er Jahre verpachtet Prof. Frederick E. Terman das Land der Stanford University für 99 Jahre an Firmen; Hewlett-Packard wird 1954 im Silicon Valley gegründet; William Shockley, John Bardeen und Walter Brattain erfinden 1947 den Transistor (Nobelpreis 1956) ; Anfang der 50er wird der Transistor bereits in Massen für das Militär produziert; Shockley gründet Firma Shockley Semiconductor Laboratory in Palo Alto; 1957 verliessen einige Mitarbeiter Shockley und gründeten die Firma Fairchild, die ausschliesslich Siliziumhalbleiter produzierten. Die Gründer waren Robert Noyce und Gordon Moore. Bei Fairchild wurde auch der Planarprozess erfunden. Auch die Anfänge von AMD (Advanced Microcomputer Devices) und National Semiconductors sind bei Fairchild zu finden. Im Jahr 1968 zieht sich Robert Noyce aus Fairchild zurück und gründet Intel (Integrated Technology). Nicht im Silicon Valley entstanden sind die Firmen Texas Instruments und Motorola.
Intel ist der Erfinder des Mikroprozessors; am Anfang stand die Herstellung von Schaltkreisen für Rechenmaschinen (ohne freie Programmierbarkeit), z.B. 1968 der HP9100A von Hewlett-Packard für 4900 Dollar oder 1972 der HP35A für 500 Dollar; 1969 bekommt Intel von einer japanischen Firma den Auftrag, einen Chipsatz für Taschenrechner zu bauen; vorher hat Intel nur Speicherbausteine gebaut; Marcian Ted Hoff entwirft den frei programmierbaren Chip, der am Anfang auf keine grosse Begeisterung stoss; Mitte 1969 kam Stan Mazer von Fairchild zu Intel und unterstützte Hoff; die Auftraggeber konnten schliesslich von der Nützlichkeit überzeugt werden und bekamen den Exklusivvertrag für die Nutzung für etwa 60.000 Dollar. Der Schaltkreis bekam die Nummer 4004, weil er etwa 4000 Transistorfunktionen hatte und weil es der vierte Prototyp des Bausteines war.
Ende 1970 erbat die japanische Firma eine Preissenkung für den 4004, wodurch Intel sich die Rechte am Mikroprozessor wieder zurückkaufte. Eine weitere Firma meldete sich bei Intel, die einen Schaltkreis haben wollte, der ein Terminal steuern kann. Ted Hoff und Kollegen fingen an, den 8008 zu entwerfen. Der Auftraggeber sprang ab, so dass Intel für den Chip 1972 Werbung machen musste („a computer on a chip“). Intel stellt zwei neue Leute ein, Adam Osbourne für die Dokumentation und Gary Kildall als Berater ohne Festanstellung, der einen PL-1 Compiler und das CP/M Betriebssystem entwickelt.
In den folgenden Jahren enstanden weitere Mikroprozessoren:
1971 : 4004 (Intel)
1972 : 8008 (Intel)
1974 : 8080 (Intel), 6800 (Motorola)
1976 : Z80 (Zilog), 6502 (MOS)
1978 : 8086 (Intel)
1982 : 80286
1985 : 80386
1989 : 80486
…
Linux kann man ab dem 80386 laufen lassen.
1.2.5 Die Geschichte des PC¶
Lit.: [FRITSCH]
1.2.6 Linux¶
Es ist 1989
Linus Torvalds studiert in Finnland an der Uni Helsinki. Linus kann sich keinen 386er leisten und liest Tanenbaum’s Operating Systems: Design and Implementation und experimentiert mit MINIX. Kommt auf die Idee, selber einen Kernel zu schreiben. Implementiert zuerst etwa 25 Systemaufrufe, open() allein dauerte Monate; dann bash Shell als erste Anwendung; nach der Shell ging alles schneller vorwärts. Im Frühjahr 1991 Terminal Emulation um Newsgruppen zu lesen. Im August 1991 das legendäre Posting von Linus Torvalds auf comp.os.minix zum Linux Kernel 0.01. Ein Hacker namens Orest Zborowski hat im Frühjahr 1992 das X-Window System nach Linux portiert. Im März 1992 hätte 0.13 folgen sollen, da Linus das Gefühl hatte, zu 95% fertig zu sein, wählte er Version 0.95. Innerhalb zwei Jahren 0.99 Patch Level 15A bis 15Z. Patch-Level 16 war dann 1.0 (März 1994), endlich mit Netzwerkfähigkeit.
Als Lizenz wählt Linus die GPL.
Linux wird der noch fehlende Kernel für das GNU Projekt
GNU + Linux = GNU/Linux
Niedergang der traditionellen kommerziellen UNIXe (HP-UX, AIX, Irix, Ultrix, …)
Linux und die freien BSD UNIXe (Open-, Free-, Net-BSD)
Was ist eine „Linux Distribution“?
Beispiele für Distributionen
Debian (siehe auch weiter unten)
Suse
Redhat
Gentoo
Arch
viele weitere…
Linux Verwandte
Android
OS-X (BSD)
Debian
Gegründet 1993 von Ian A. Murdock
1994: The Debian Manifesto
Demokratischer Prozess
Nur freie Software (Debian Free Software Guidelines DFSG im Social Contract von Bruce Perens)
/usr/share/doc/debian/social-contract.txt
In der „Konstitution“ steht, welche Rollen die Personen im Debian Projekt haben.
/usr/share/doc/debian/constitution.txt
Viele Abkömmlinge: Ubuntu, Sidux, Debian Mint, …
Organisationen um Linux
The Linux Foundation (ehemals OSDL)
Open Source Automation Development Lab
Literatur
[TORVALDS] Linus Torvalds und David Diamond, Just for Fun: The Story of an Accidental Revolutionary, 2001
[MOODY], Glyn Moody, Rebel Code: Linux and the Open Source Revolution,
1.2.7 Die sechs Prinzipien¶
Als Zusammenfassung möchte ich hier die sechs Prinzipien wiedergeben, die gemäss [FREYERMUTH] zur Entstehung der Open-Source Bewegung beigetragen haben:
Die Selbstermächtigung der Anwender
Zeit der Mainframes / Mangel an interaktiver Nutzung der wenigen teuren Rechner / Entwicklung von Time-Sharing Verfahren an den amerikanischen Universitäten / einfachere Programmiersprachen / Computerspiele / erste PCs in den digitalen Gründerjahren in den 70ern / Lehre: Nichts beschleunigt technischen und dann auch ökonomischen Erfolg so sehr wie die Einbeziehung derjenigen, die mit den jeweiligen Produkten arbeiten und leben müssen. Mit dem Aufkommen von digitaler Kommunikationstechnologien können Anwender plötzlich zu gleichberechtigten Mitentwicklern an professionellen Projekten jeder Grössenordnung avancieren - in Echtzeit und unabhängig von geografischen Beschränkungen.
Evolution der Standards
Erste Phase freier Software-Entwicklung endete in den 60er Jahren / die Initiative einzelner Anwender war entscheidend und nicht Institutionen und Konzerne.
Erste Knoten des Arpanet, später TCP/IP, das wichtigste Produktionsmittel für Open-Source.
Bastler zweckentfremdeten die für digitale Taschenrechner entwickelten Chips, ca 1969.
Der Programmierer Ken Thomson nahm sich 1969 eines Projektes an, das Bell Labs, MIT und General Electric nach hohen Investitionen aufgegeben hatten. Aus dem Mehrplatzsystem Multix entwickelte er mit Dennis Ritchie ein Einplatzsystem, das er UNIX nannte. 1975 wurde die erste Version auf Bändern vertrieben. Der Erfolg von UNIX brachte bald proprietäre Unix-Versionen auf den Markt: Unix Version 7 und Xenix, die erste Portierung von Unix auf einen Intel-Prozessor (1979). Auch Microsoft hat Xenix mit AT&T-Lizenz vertrieben.
Stallman gründete 1984 das GNU Projekt.
Offene Standards / Beispiel ASCII aus den 50er Jahren / dauerte fast 10 Jahre bis ASCII Standard akzeptiert und weitere 15 Jahre bis er implementiert wurde - vorher war der Austausch von Dateien, sogar simplen Texten, nicht möglich.
Open Source dehnt Marktmechanismen auf den Entwicklungsprozess aus, wodurch der Standardisierungsdruck eskaliert / primär ist der Gebrauchswert von Interesse / daher opponieren sie allem, was eine effektive Nutzung beschränkt / Closed-Source: finanzielle Belohnung, Suche eines besser bezahlten Projektes anstatt eines besseren Projektes, Diskontinuität, Fluktuation, kurze Halbwertszeit der Produkte / Open-Source: kollektives Design neigt zu Kontinuität und statt zu Diversifikation zur Standardisierung.
Produktionsgemeinschaft der Gleichen
Vernetzung beschleunigt die wissenschaftliche Basistechnik des peer review, bei dem Fachleute die Arbeit von Kollegen begutachten. Dieser organisierte Skeptizismus garantiert die Qualität auf dem Markt des Wissens. Hinderlich für breite peer review ist die Verweigerung vieler Firmen, ihr Wissen mit Aussenstehenden zu teilen. Ohne freien Informationsfluss konnte peer review nicht produktiv werden. Die Open-Source Praxis überwindet diese Einschränkung.
Eric Raymond nennt es den „Delphi-Effekt“: Den Umstand, dass die Zuverlässigkeit von Expertenentscheidungen mit der Zahl der Entscheidungen steigt.
Ausbildung virtueller Gemeinschaften; peer recognition das Lösen von dringenden anstehen Problemen bei Open-Source Projekten bringt hochqualitative Software und soziale Anerkennung durch Gleichgesinnte und Gleichqualifizierte, die ihre Leistungen angemessen zu würdigen verstehen.
Geistiges Gemeineigentum
Richard Stallman nimmt sich Anfang der 80er Jahre mit dem GNU-Projekt vor, ein freies Unix für den Personal Computer zu schreiben (vorher seit 1975 Emacs). 1985 Gründung der FSF. Vorrangiges Ziel seiner Arbeit ist es, die Freiheit von Software zu gewährleisten – worunter primär die Freiheit der Nutzer zu verstehen ist, Programme zu kopieren, weiterzuverteilen und zu den eigenen Bedürfnissen gemäss zu verändern. Dies hält die GPL fest. Sie ist eine juristische Anleitung zur Veröffentlichung von freier Software. Ihr Grundgedanke ist das dem Copyright durchaus ironisch entgegengesetzte Copyleft. Es erlaubt, geistiges Eigentum anderer beliebig zu modifizieren und auch profitabel zu vertreiben, solange das neue Produkt freien Zugang zum Quelltext gewährt.
Larry Lessig: „In der Wissensgesellschaft gehört eine demokratische Kontrolle über die digitale Infrastruktur unabdingbar zur Erhaltung von intellektueller und wirtschaftlicher Freiheit. Was den Alltag so nachhaltig prägt und wovon auch das Überleben unzähliger Unternehmen abhängt, kann nicht auf Dauer Privatbesitz und ausserhalb des Einflusses der Mehrheit der Anwender bleiben.“
Eric Raymond (in The Magic Cauldron): „Wenn die entscheidenden Vorgänge in deinem Geschäft von undurchsichtigen Bits abhängen, in die du keinerlei Einsicht hast (mal abgesehen davon, dass du sie nicht verändern kannst), dann hast du die Kontrolle über deinen eigenen Laden verloren. Du brauchst deinen Lieferanten mehr, als er dich braucht – und du wirst für dieses Ungleichgewicht der Kräfte bezahlen, mehr und immer mehr.“
Open-Source bietet einen Ansatz zur demokratischen Kontrolle der digitalen Infrastruktur.
Die neue Hackordnung
GNU ist Anfang der 90er Jahre noch nicht so weit, dass der Kernel („The Hurd“) fertig ist. Das Internet feiert bereits seinen Siegeszug. Das WWW verdrängt alle anderen Ansätze, das Netz besser benutzbar zu machen. Zu der Zeit allerdings noch verhaltene kollaborative Entwicklung von Software.
Torvalds gibt eine ganz andere Art der Entwicklung vor: Abwerfen aller Zwangsjacken wie Abschnitts- und Terminplanungen, keine hierarchischen Vorgaben, Abbau restriktiver Zugangskontrollen, jeder konnte sich beteiligen, sehr schnelle Veröffentlichung von neuem Code. Zunehmende Projektkomplexität führt zur modularen Aufteilung in Subgruppen, an jeder Aufgabe arbeiten Menschen, denen die Arbeit nicht zugeteilt wurde, sondern die ihn sich ihren Qualifikationen und Motivationen entsprechend ausgesucht hatten.
Richard Gabriel von Sun: „eine Art semi-chaotische, selbst-organisierende Verhaltensstruktur, in der zahlreiche kleine Reparatureingriffe schnell zum Aufbau komplexer und massiver Kreationen führen können.“
Hinzu kommt: Hoher Grad an Befriedigung der Mitarbeiter durch Eigenbestimmung, hohes Selbstwertgefühl, Ansehen in der Gemeinschaft.
Geschäftsmodelle konkurrierender Kollaboration
„Coopetition“: Zusammenarbeit in technologischer Hinsicht; Konkurrenz im service-orientierten Wettbewerb um die Kunden; Suse 1992, RedHat und Caldera 1994.
Intellektuelles Kapital im Wandel der Jahrhunderte (17. und 18. Jhdt.); tendenzielle Gleichstellung von materiellem und geistigen Besitz; Patente. Die gegenwärtige Ersetzung analoger Technologien durch digitale stellt wesentliche Elemente des damals etablierten industriellen Umgangs mit geistigem Besitz wieder in Frage. Beispiel aus der Frühzeit der Industrialisierung: Ver-Öffentlichung der privaten Bibliotheksbestände von Adel und Kirche als früher Vorfahre der GPL. Entprivatisierung und Umorganisation des Buchbestandes im 19. Jahrhundert.
Taylorismus (von Frederick Winslow Taylor), hierarchisches Managementsystem, nimmt dem Einzelnen Bewegungsfreiheit und Eigenzeit, um ihn zum Anhängsel der Maschine und des Fliessbandes zu machen. Steigert die mechanische Effizienz, vernicht psychische Motivation und auf Selbständigkeit basierende Kreativität. … Erst mit der Digitalisierung schuf sich die Menschheit die nötigen Voraussetzungen, um das Joch industrieller Arbeit abzuschütteln. Das Linux-Projekt war in den 90er Jahren dafür wegweisend, indem es die globale Vernetzung nicht länger nur zur Kommunikation, sondern für eine prinzipielle Umorganisation der Arbeit nutzte.
1.2.8 Vertiefende Literatur¶
History of the Internet, Wikipedia
Vinton Cerf, How the Internet Came to Be, 1993.
http://www.virtualschool.edu/mon/Internet/CerfHowInternetCame2B.html
Barry Leiner etal., A Brief History of the Internet
http://www.internetsociety.org/internet/internet-51/history-internet/brief-history-internet
Michael Hauben, Open History of the Arpanet
http://www.bandwidthco.com/history/network/History%20of%20ARPANET.pdf
Vannevar Bush’s Artikel As we may think, erschienen 1945 im Atlantic Monthly, gibt es im Internet u.a. hier:
http://www.theatlantic.com/magazine/archive/1945/07/as-we-may-think/3881/
Joseph C.R. Licklider, vor allem die Veröffentlichungen Man-Computer Symbiosis (1960) und The Computer as a Communication Device (1968).
Memex von Vannevar Bush
Das Buch Netizens: An Anthology. Chapter 8: Birth and Development of the ARPANET.
Paul Baran’s Papers zu den Anfängen des Internet gibt es hier:
[HAFNER] Das Taschenbuch erzählt spannend die Geschichte des Internet.
[GILLIES] Das Taschenbuch enthält neben der Entwicklung des World Wide Web auch eine Geschichte des Internet mit übersichtlicher Zeittafel.
[FREYERMUTH] Sehr gut zu lesende Übersicht zur Entstehung und Funktionsweise von Open-Source Software.
Im Linux Magazin vom November 1999 gibt es ein informatives Interview mit Bill Joy, in dem er über Linux, Solaris, Java und die Entwicklung des BSD Unix erzählt:
E.E. Kim, The Joy of Unix, http://www.linux-mag.com/id/349
Vor allem über den Vi Editor geht es in diesem Interview von 1984: http://web.cecs.pdx.edu/~kirkenda/joy84.html
Literatur zur Entstehung der Mikrocomputertechnik
Rogers, Everett, Silicon Valley Fevers, Basic Books, 1984, ISBN 0-465-07821-4
Freiberger, Swaine, Fire in the Valley, Osborne/McGraw-Hill, 1984, ISBN 0-88134-121-5
Bob McSummit, Joe Martin, Die Silicon Valley Story, Systhema Verlag, 1989, ISBN 3-89390-336-4
Adele Goldberg, A History of Personal Workstations, ACM/Addison-Wesley, 1988, ISBN 0-201-112259-0.
G. Wilson, What Computers Cannot Do, Auerbach Publishers, 1970.
Federico Faggin, Happy Birthday uP. Zum zwanzigsten Geburtstag des Mikroprozessors, c’t 5 1992, S. 54-60.
Federico Faggin, Marcian E. Hoff Jr, Stanley Mazor, Masatoshi Shima, The History of the 4004, IEEE Computer, October 1996.
Das PC Museum
Zur Geschichte von Unix: [QUARTERMAN], [CHEEK] [BOSTIC], [MCKUSICK], [RITCHIE].
Der Text [GAFFIN] von der Electronic Frontier Foundation gibt einen guten Überblick über grundlegende Dienste im Internet und der EFF.
Die UZI UNIX Implementierung von Douglas Brown für Z80 entspricht in etwa der Version 7 (V7). Der Quelltext ist hier:
http://elk.informatik.hs-augsburg.de/cdrom-oss/UNIXe/uzi/uzi.zip
1.3 Das GNU Projekt¶
GNU = Gnu’s Not Unix (1984)
Gründung durch Richard M. Stallman („RMS“)
MIT/AI-Lab seit 1971: „It was a breath of fresh air… At the AI Lab, people seemed more concerned about work than status“
„the last true hacker“ und „hacker ethics“
In [LEVY] wird Stallman als letzter echter Hacker bezeichnet. Vor ihm waren Richard Greenblatt, Gerald Sussman, Bill Gosper und andere.
Incompatible Time Sharing System (ITS)
Initiale Email an Thanksgiving 1983
Gegen fortschreitende Kommerzialisierung von Software
Programme als Gemeineigentum bzw. „öffentliches Gut“.
Steht für free software: free as in freedom, not as in free beer!
„Der fundamentale Akt von Freundschaft unter denkenden Wesen besteht darin, einander etwas beizubringen und Wissen gemeinsam zu nutzen. Dies ist nicht nur ein nützlicher Akt, sondern es hilft die Bande des guten Willens zu verstärken, die die Grundlage der Gesellschaft bilden und diese von der Wildnis unterscheidet. Dieser gute Wille, die Bereitschaft unserem Nächsten zu helfen, ist genau das, was die Gesellschaft zusammenhält und was sie lebenswert macht. Jede Politik oder jedes Rechtssystem, das diese Art der Kooperation verurteilt oder verbietet, verseucht die wichtigste Ressource der Gesellschaft. Es ist keine materielle Ressource, aber es ist dennoch eine äusserst wichtige Ressource.“
Sagen Sie nicht Open-Source Software dazu!
GNU Manifest http://www.gnu.org/gnu/manifesto.html
Copyleft Lizenzen: GPL, LGPG, GFDL.
Free Software Foundation (USA, Europa)
Free Software Definition: http://www.gnu.org/philosophy/free-sw.html
Anerkannte Lizenzen für „freie Software“. Diese müssen weder Copyleft haben noch kompatibel mit GPL sein:
http://en.wikipedia.org/wiki/List_of_FSF_approved_software_licenses
GNU Project Information http://www.gnu.org/prep
Coding Standards http://www.gnu.org/prep/standards
Maintainer Information http://www.gnu.org/prep/maintain
Free Software Dictionary http://directory.fsf.org
Mailing Listen https://lists.gnu.org/mailman/listinfo
Dokumentation (auch Bücher): http://www.gnu.org/doc/doc.html
Ein paar beispielhafte Projekte (umfassendes Verzeichnis https://www.gnu.org/software)
Emacs (von TECO Editor, „Text Editor and COrrector“, anfangs pet project, später EMACS „Editing MACroS“)
GCC (jetzt: GNU Compiler Collection, damals: GNU C Compiler)
Nicht ausrottbare Falschinformationen
Falsch: Die mit GCC erzeugten Programme dürfen nicht kommerziell verwendet werden.
Richtig: Die mit GCC erzeugten Programme dürfen wie mit einem kommerziellen Compiler zu beliebigen Zwecken und Bedingungen verwendet werden.
GDB (GNU Debugger)
GNU macht einen Grossteil des Linux Betriebssystems aus, deshalb soll man mit Linux nur den Kernel bezeichnen, für das ganze Betriebssystem ist eher der Name GNU/Linux passend.
„GNU Hurd“ Microkernel, Alternative zum monolithischen Linux Kern
Weitere Errungenschaften von RMS:
Anwendung eines kollaborativen Software-Entwicklungsmodells, obwohl der Zugang zum Internet damals nur auf der Kommandozeile stattfand.
Formung von Gruppen aus Programmierern, die über das Internet mit den damaligen bescheidenen Mitteln kooperierten.
Kollaborationsplattform http://savannah.gnu.org
Videos
Young Richard Stallman: http://www.youtube.com/watch?v=y1DFwtR755I&NR=1
RMS about the 4 freedoms: https://www.youtube.com/watch?v=uJi2rkHiNqg oder https://www.youtube.com/watch?v=POexV1k62_Y
Logos
Zeitschrift „Free Software Magazine, http://www.freesoftwaremagazine.com
Literatur
[GRASSMUCK], Kapitel „Geschichte der Softwareentwicklung“, S. 202 bis 230.
[LEVY]
[WILLIAMS]
1.4 Die Open-Source Bewegung¶
Entstehung des Begriffes
Die Rolle von Eric S. Raymond („ESR“)
Open-Source Definition, abgeleitet von Debian Free Software Guidelines (siehe Debian Social Contract).
Viele Lizenzen (zu viele?): http://opensource.org/licenses
Open Source in anderen Bereichen. Siehe das Kapitel „OSS in anderen Bereichen“ weiter unten.
Literatur
[VOICES]
[RAYMOND1]
[RAYMOND2]
[RAYMOND3]
[RAYMOND4]
1.5 Produktion freier Software¶
1.5.1 Open-Source Software Engineering¶
Grosse Variabilität beim Entwicklungsrechner in der Hardware und der Software (meist Linux als Betriebssystem). Deshalb Konfigurationsprogramme notwendig.
Autoconf („Dreisprung“: configure, make, make install)
cmake, qmake
scons
Waf https://waf.io (Buch https://waf.io/book)
meson
Es sollen keine kommerziellen Tools verwendet werden. Alle Werkzeuge müssen frei sein.
Kodierstandards, z.B. GNU Coding Standards.
Internationalisierung. Damit wird ausgedrückt, dass man Programme für unterschiedliche Sprachräume „lokalisiert“. Das klassische Werkzeug für diese Aufgabe ist GNU
gettext
.Häufig werden die Programme in rein textuellen Umgebungen geschrieben, d.h. man kann die Programme auf der Kommandozeile editieren, kompilieren und testen. Grafische integrierte Entwicklungsumgebungen sind eher die Ausnahme.
Häufig verwendete Werkzeuge:
GNU Compiler Collection gcc
Debuggen mit gdb
Vim/Emacs
Terminal Multiplexer tmux, screen
ctags, cscope zur Navigation im Quelltext
Lokalisierung mit gettext
Eingabeaufforderung mit readline
Kommandozeilenargumente lesen mit getopt
Versionsverwaltung mit git
Patches erzeugen und anwenden mit
diff
undpatch
Unit-Tests mit
check
1.5.2 Produktion in der Gemeinschaft¶
Ca. seit den 80er Jahren erste Zusammenarbeit bei der Softwareentwicklung durch das Internet. RMS gilt als einer der Ersten, die durch den Austausch von „Patches“ per E-mail Programme gemeinschaftlich entwickelt haben.
Heute fast nur noch
git
in Verwendung.Dezentrales Versionsverwaltungssystem (DVCS = distributed version control system)
Erfunden von Linus Torvalds zur Verwaltung des Linux Kernel
Sehr schnelles Arbeiten mit branches möglich (Zweige)
Viele workflows möglich (z.B. „shared repo workflow“, „fork/pull repo workflow“)
Es gibt jedoch Alternativen, die oft einfacher zu bedienen sind:
Mercurial (hg) https://www.mercurial-scm.org
GNU Bazaar (bzr) http://bazaar.canonical.com (wird bei launchpad.net verwendet)
Ein workflow beschreibt die Regeln der Zusammenarbeit von vielen.
Dienste im Netz zur Kommunikation
Mailingliste
Newsgroup(s) (Usenet)
Forum
Wiki
Website
git
Bug/Issue Tracker
Umfangreiche Entwicklungsplattformen: github, gitlab, launchpad, bitbucket, …
Literatur
[FOGEL]
[TOSW]
[TEACHING]
1.6 Community Building¶
Literatur
Matthias Stürmer, Thomas Myrach, Open Source Community Building, 2005, 14 Seiten.
Jono Bacon, The Art of Community Building
[FOGEL]
Charles Severance, Sakai: Building an Open Source Community
1.7 Rechtliches¶
1.7.1 Ein wenig Urheberrecht¶
Lit.: [GOLDHABER], [HAAR], [LESSIG], [SIETMANN], [SPIELKAMP], [GRASSMUCK]
[GRASSMUCK] Teil 1: Die Rechtliche Ordnung des Wissens
Fürsten gewähren Autorenprivilegien an Autoren und Verlegern.
Nach der Erfindung des Buchdruckes: Werke können nachgedruckt werden, nachdem ein einziges Exemplar erworben wurde.
Schutz durch Autorenprivileg wird immer schwächer.
Lösung durch Kant: Er gibt dem Verfasser ein unveräusserliches Recht, das Urheberrecht.
Auszüge aus [GOLDHABER]:
Das Copyright begann als eine Form der Machtausübung des starken Staates / Die Durchsetzung des Urheberrechts unterstützt den Kapitalismus auf besonders einfache Art. Es verhindert echten Wettbewerb, schafft staatlich sanktionierte Monopole für Markenwaren, neue Gerätschaften, Software, Medikamente, Designer-Kleidung, Turnschuhe, Fastfood-Ketten, und viele andere Dienstleistungen und, natürlich, fast alle Texte, Filme, Bilder und Musik, die den ganz besonderen Schutz des Urheberrechts geniessen. … Im 20. Jahrhundert besassen Komponisten, Sänger und Musiker als Sonderform des ‚Autors‘ nur selten das Copyright auf ihre Arbeiten, weil sie, um ihre Platten hergestellt, beworben und vertrieben zu bekommen, die Rechte an Plattenfirmen verkaufen mussten. Heute bestehen die Plattenfirmen darauf, dass Musikaufnahmen Werkverträge: sind – eine besondere Form, die ausschliesst, dass die Musiker ihre Rechte jemals wieder zurückbekommen. … Um es anders zu sagen: Filmschauspieler, Computerspieleprogrammierer, Schriftsteller, Musiker und andere Hersteller von Aufmerksamkeit auf sich ziehenden Produkten werden vom gegenwärtigen System betrogen. Anstatt einen wirklichen Nutzen aus dem Copyright zu ziehen, erleben sie, wie das gegenwärtige System ihre Macht an die Konzerne und deren Bosse durchreicht.
Goldhaber erwähnt das Buch The Nature of the Book von Adrian John. Darin wird erklärt, dass das Copyright zum ersten Mal von englischen Monarchen im 17. Jahrhundert eingeführt wurde, kurz nachdem die Buchdruckerei sich als Geschäftszweig zu etablieren begann. Das Copyright gehörte nicht den Autoren, sondern bestimmten Druckermeistern oder Buchhändlern, die damit das Recht erwarben, gewisse Werke durch die Buchdruckerzunft, die Gilde, drucken zu lassen. Es ging auch Hand in Hand mit königlicher Machtausübung, der Zensur. Sogar in seiner modernen Form kann das Copyright bzw. geistiges Eigentum nur durch die Macht und das Eingriffspotential des Staates gesichert werden. … Der Kapitalismus wäre schon längst ohne Patente, Geschmacksmuster, Warenzeichen, Geschaeftsgeheimnisse, Copyright zusammengebrochen.
1.7.2 Patente¶
Patentierte Software: Schutz der durch den Programmcode realisierten Funktion. Vgl. mit Urheberrecht: Schutz des Wortlautes des Programmes.
Früher: Patente sollten der Gesellschaft nützlich sein.
Software war lange Zeit nicht patentierbar, das soll sich aber ändern im Rahmen der Harmonisierung des europäischen Urheberrechts. Patentierbar waren lediglich Erfindungen (Erst-Umsetzungen), die ein Software-Programm enthalten.
Registriert werden Patente beim Deutschen Patent und Markenamt (http://www.dpma.de/).
Das Patentgesetz (PatG): siehe den Gesetzestext auf https://www.jusline.de
Gefahr für Open-Source:
Allein der Patentinhaber ist befugt, die patentierte Erfindung zu benutzen, über sie zu verfügen und über ihre Verwertung zu entscheiden.
Es ist jedem Dritten verboten, ohne Zustimmung des Patentinhabers das patentierte Erzeugnis oder Verfahren herzustellen, anzubieten, in Verkehr zu bringen oder zu gebrauchen oder zu den genannten Zwecken entweder zu importieren oder zu besitzen (vgl. § 9 PatG; Art. 64 EPÜ). Alle denkbaren Nutzungsalternativen stehen allein dem Patentinhaber zu.
Triviale Patente vs. ehrliche Patente
Trivial: Fortschrittsbalken, for-Schleife, Mauszeiger, one-click (Amazon), …
Ehrlich: MP3 Kodierungsalgorithmus
GIF
Die GPL v3 enthält einen Absatz, der sich auf Software-Patente bezieht.
Rolle der europäischen Kommission
Literatur
Das Institut für Rechtsfragen der freien und Open-Source Software (IFROSS) berichtet ausführlich über Lizenzen, Urheberrecht und Patente. Hier ist z.B. ein Artikel von A. Metzger, Softwarepatente im künftigen europäischen Patentrecht, http://www.ifross.de/ifross_html/art45.pdf
Ökonomie und Politik von Open-Source Software
1.7.3 Neuordnung des digitalen Eigentums¶
Stichpunkte
Neu: Kollektive Produktion, digitale Distribution
Neoliberalismus
Strukturwandel von der Industrie- zur wissensbasierten Gesellschaft. Wissen als vierter Produktionsfaktor neben Arbeit, Boden und Kapital (Jean Fourastie).
Doppelrolle der Information: Als handelbares Gut dürfen Informationen nicht frei verfügbar sein, sonst würde niemand dafür zahlen wollen. Andererseits müssen Informationen frei verfügbar sein, damit vollständig informierte Individuen frei entscheiden können, wie es Angebot und Nachfrage verlangt. In ähnlicher Weise schaffen die durch Patente und Urheberrechte gewährten Monopole Asymmetrien, die den Wettbewerb behindern.
Reform des Urhebergesetzes: Richtlinie zur Harmonisierung bestimmter Aspekte des Urheberrechts und der verwandten Rechte in der Informationsgesellschaft
Vorbild USA:
Digital Millenium Copyright Act 1998
http://en.wikipedia.org/wiki/Digital_Millennium_Copyright_Act
Copyright Term Extension Act 1998
Plattenfirmen (RIAA), Rechteverwerter
Digital Rights Management (DRM)
Trusted Computing Platform Alliance (TCPA)
Beispiel: CSS bei Video DVDs
1.8 Plätze im Internet¶
Rensselaer Center for Open Source http://rcos.rpi.edu
Open-Source Business Alliance
http://www.osb-alliance.de (= opensource.de)
Apache Software Foundation https://www.apache.org
Neu: Microsoft’s Engagement bei Open-Source Software
1.9 Wichtige Open-Source Programme¶
1.10 Code Reading¶
Die Buchserie „Architecture of Open-Source Applications“ beschreibt den Aufbau von vielen freien Programmen: http://aosabook.org.
1.11 Das Open-Source Prinzip in anderen Bereichen¶
Hier sind ein paar Beispiele für „open source“ ausserhalb der Software-Entwicklung:
Bücher
Network Theory Buchverlag http://www.network-theory.co.uk
GNU Press http://shop.fsf.org/category/books
Green Tea Press http://greenteapress.com
Wiki Books http://www.wikibooks.org
Cliparts
Gesetze
Hardware
Gumstix Boards http://pubs.gumstix.com
Arduino Boards http://www.arduino.cc (Lizenz wie Gumstix)
BeagleBoard http://beagleboard.org (Creative Commons Attribution-Share Alike 3.0 license)
Micropendous http://code.google.com/p/micropendous (CC)
System-C http://www.systemc.org
Mico32 Prozessor http://www.latticesemi.com/products/intellectualproperty/ipcores/mico32/
OpenSPARC http://www.opensparc.net
Gaisler „LEON“ http://www.gaisler.com
FreeIO http://freeio.org
Hochschul-Skripte
MIT Open Courseware http://ocw.mit.edu/index.html
Musik
Open Music Archive http://www.openmusicarchive.org
Open Content
Creative Commons https://creativecommons.org
Soziologie
Stefan Merten: Freie Software für eine Freie Gesellschaft. Bringen GNU/Linux und Co uns einer neuen Gesellschaft näher? April 2001, http://www.oekonux.de
Bibliotheken
Open Access
Open Society
Open Data
Open Science
„Science as an open-source process“ https://www.google.de/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=2ahUKEwih_ZXA3OLaAhXpIJoKHakbCloQFjAAegQIABAy&url=https%3A%2F%2Fmonoskop.org%2Fimages%2Ff%2Ff1%2FKittler_Friedrich_1999_2005_Science_as_Open_Source.pdf&usg=AOvVaw20miJGS7F-p8uoeHduTeQ1
Open Educational Resources (OER)
Open Chain (Open-Source licensing in the supply chain)
1.12 Literatur¶
[AOSABOOK] Amy Brown, Gregory Wilson, The Architecture of Open Source Applications, http://aosabook.org/en/index.html
[BIANCUZZI] Federico Biancuzzi, Shane Warden, Masterminds of Programming, O’Reilly 2009. http://proquest.safaribooksonline.com/book/-/9783868993288
Deutsch: Visionäre der Programmierung - Die Sprachen und ihre Schöpfer http://proquest.safaribooksonline.com/book/software-engineering-and-development/9780596801670
[BOSTIC] Keith Bostic, Marshall Kirk McKusick, Michael J. Karels, Berkeley UNIX Yesterday, Today and Tomorrow, Computer Systems Research Group, University of California, Berkeley (frei im Internet).
[CHEEK] Martin Cheek, Feudaler Abschied. Die Geschichte des Berkeley-Unix, iX 9/1992, S. 72-74.
[FOGEL] Karl Fogel, Producing Open Source Software. How to Run a Successful Free Software Project, O’Reilly 2005, 302 pages. Das Buch erschien unter der Creative Commons Attribution-ShareAlike Lizenz und ist somit auch frei erhältlich.
[FREYERMUTH] Gundolf S. Freyermuth, Aus der Open-Source Geschichte lernen, Teil 1 und Teil 2. c’t 20 und 21, 2001.
Teil 1: https://www.heise.de/ct/artikel/Offene-Geheimnisse-285236.html
Teil 2: https://www.heise.de/ct/artikel/Die-neue-Hackordnung-285274.html
[FRITSCH] Lothar Fritsch, Die Geschichte des Personal Computers, Seminar Geschichte der Informatik, Uni Saarbrücken, 1992.
http://www.klammeraffe.org/~fritsch/uni-sb/fsinfo/Papers/PC/PC.html
[GAFFIN] Adam Gaffin, Jörg Heitkötter, EFF’s (Extended) Guide to the
Internet, 1994. Diesen Text hat die Electronic Frontier Foundation
publiziert (netguide.txt
).
[GILLIES] James Gillies, Rober Cailliau, How The Web Was Born, Oxford Press 2000.
[GOLDHABER] Michael H. Goldhaber: Napster und das Feudalrecht, c’t 23 2000, S. 311 - 314.
http://www.heise.de/tp/deutsch/kolumnen/gol/8828/1.html
[GOODHEART] Berny Goodhart, James Cox, The Magic Garden Explained. The Internals of Unix System V Release 4, Prentice Hall 1993.
[GRASSMUCK] Volker Grassmuck, Freie Software zwischen Privat- und Gemeineigentum, Bundeszentale für politische Bildung. Dieses Buch gibt es auch als kostenlose PDF-Datei unter dem URL http://freie-software.bpb.de.
[HAAR] Tobias Haar, Was Softwareentwickler über das Urheberrecht wissen müssen, iX, 6/2010.
https://www.heise.de/resale/artikel/Uebertragbar-1047771.html
[HAFNER] Katie Hafner, Matthew Lyon, Where Wizards Stay up Late. The Origins of the Internet, Touchstone Books, 1998.
[LESSIG] Larry Lessig, Free Culture, http://www.free-culture.cc, http://www.freeculture.org.
[LEVY] Steven Levy, Hackers. Heroes of the Computer Revolution. Penguin Books. Teile des Buches kann man hier nachlesen:
http://en.wikipedia.org/wiki/Hackers:_Heroes_of_the_Computer_Revolution
[MOODY] Glyn Moody, Rebel Code. Inside Linux and the Open-Source Revolution, Perseus Publishing 2001.
[MCKUSICK] Marshal Kirk McKusick, Twenty Years of Berkeley Unix. From AT&T-Owned to Freely Redistributable, in: Voices from the Open Source Revolution, O’Reilly 1999.
http://oreilly.com/openbook/opensources/book/kirkmck.html
[OSSDATA] http://elk.informatik.hs-augsburg.de/oss
[QUARTERMAN] John S. Quarterman, Abraham Silberschatz, James L. Peterson, 4.2BSD and 4.3BSD as Examples of the UNIX System, Computing Surveys, Vol. 17, No. 4, December 1985, Department of Computer Science, University of Texas, Austin, 41 Seiten.
[RAYMOND1] Eric S. Raymond. A Brief History of Hackerdom Eine 9-seitige Einführung in die Geschichte des Computerhackens. Vom MIT Eisenbahnclub bis zum World Wide Web.
[RAYMOND2] Eric S. Raymond, The Cathedral and the Bazaar
[RAYMOND3] Eric S. Raymond, Homesteading the Noosphere, 1998.
Abstract: I anatomize a successful open-source project, fetchmail, that was run as a deliberate test of some surprising theories about software engineering suggested by the history of Linux. I discuss these theories in terms of two fundamentally different development styles, the cathedral model of most of the commercial world versus the bazaar model of the Linux world. I show that these models derive from opposing assumptions about the nature of the software-debugging task. I then make a sustained argument from the Linux experience for the proposition that given enough eyeballs, all bugs are shallow, suggest productive analogies with other self-correcting systems of selfish agents, and conclude with some exploration of the implications of this insight for the future of software.
[RAYMOND4] Eric S. Raymond, The Magic Cauldron, 1999.
Abstract: This paper analyzes the evolving economic substrate fo the open-source phenomenon. We first explode some prevalent myths about the funding of program development and the price structure of software. We present a game-theory analyis of the stability of open-source cooperation. We present nine models for sustainable funding of open-source development; two non-profit, seven for-profit. We continue to develop a qualitative theory of when it is economically rational to be closed. We then examine some novel addition mechanisms the market is now inventing to fund for-profit open-source development, including the reinvention of the patronage system and task markets. We conclude with some tentative predicitons of the future.
[RITCHIE] Dennis M. Ritchie, The Evolution of the Unix Time-Sharing System, Bell Laboratories Technical Journal 63 No. 6 Part 2, October 1984 (frei im Internet).
[SIETMANN] Richard Sietmann, Wissen ist Geld. Urheberschutz, ‚Geistiges Eigentum‘ und die Rechteverwerter, c’t 24 2002, S. 108-117.
http://www.heise.de/ct/artikel/Wissen-ist-Geld-288570.html
[SPIELKAMP] Matthias Spielkamp, Wem gehört das Recht?
http://www.brandeins.de/magazin/2004-und-weiter/wem-gehoert-das-recht.html
[TEACHING] Greg DeKoenigsberg, etal., Teaching Open Source, Practical Open Source Software Exploration
[TORVALDS] Linus Torvalds, David Diamond: Just for Fun. Wie ein Freak die Computerwelt revolutionierte, Hanser Verlag.
[TOSW] Redhat, The Open Source Way (TOSW). Creating and nurturing communities of contributors
[VOICES] Open Sources: Voices from the Open Source Revolution, O’Reilly, January 1999, 280 pages.
http://www.oreilly.com/catalog/opensources/book/toc.html
[WILLIAMS] Sam Williams, Free as in Freedom, O’Reilly, March 2002. Das Buch findet man Online unter http://www.oreilly.com/openbook/freedom