Inhaltsverzeichnis
Bücher zum Thema Software Entwicklung und Open Source
Hier geht es um interessante Bücher die sich generell mit der Entwicklung von Software bzw. auch Open-Source Projekten beschäftigen. Unter anderem auch mit Tools, die für die Entwicklung hilfreich sein können.
GIT – Verteilte Versionsverwaltung für Code und Dokumente, Autoren Valentin Haenel und Julius Plenz
Nachdem ich vor kurzem schon ein GIT-Buch vorgestellt habe, möchte ich heute mal ein ähnliches Werk von den Autoren Valentin Haenel und Julius Plenz vorstellen. Auch dieses Buch erklärt die Versionsverwaltung Git Schritt für Schritt und zeigt alles Aspekte und Möglichkeiten auf. Es beginnt damit zunächst alle fachlichen Begriffe wie Branch, Repository, Commit, Head, Clone usw. erläutert werden, damit wird dem Einsteiger erst mal der erste Schrecken genommen, den hinter den oft, auf den ersten Blick komplizierten Kommandozeilen, verstecken sich doch durchaus leicht verständliche Vorgänge. Vorausgesetzt man weiß erst mal was die Begriffe bedeuten! Gleich im ersten Kapitel, bereits auf Seite 22 geht es dann mit den ersten Schritten los, wobei gleich am Anfang ein User angelegt und ein erstes Repository erstellt wird. Anschließend wird gezeigt wie man erste Commits (Programmverbesserungen/Aktuallisierungen) einpflegt und wie man GIT konfiguriert.
Daraufhin folgen die Kapitel:
- Grundlagen
- Praktische Versionsverwaltungen
- Fortgeschrittene Konzepte
- Verteiltes Git
- Workflows
- Git auf dem Server
- Git automatisieren
- Zusammenspiel mit anderen Versionsverwaltungssystemen
- Anhang
Das Buch beschreibt hier wirklich alle Vorgänge und Möglichkeiten von Git sehr fachlich und präzise. Selbst erfahrene GIT-Anwender werden hier garantiert noch Aspekte entdecken die ihnen bislang verborgen geblieben sind. Immer wieder geben die Autoren auch Tipps, wie man bestimmte Aufgaben am besten löst. Im Anhang wird auch beschrieben wie man Git auf den einzelnen Betriebssystemen installiert, allerdings scheinen hier die Autoren doch Linux zu bevorzugen, die Beschreibung der Windows-Installation besteht nur aus einem Satz! Auf die Software von GITHUB oder konnte in diesem Buch noch nicht eingegangen werden, beim Erscheinungstermin gab es diese noch nicht. Sehr angenehm ist, das in diesem Buch nahezu keinen Screenshots abgedruckt wurden, diese sind in S/W-Druck nämlich oft schwer erkennbar und nehmen viel Raum ein. Nein hier sind vorwiegend alle Beispiele und Kommandozeilen im Text selbst untergebracht und durch eine andere Schriftart deutlich erkennbar. An anderen Abbildungen ist relativ wenig vorhanden, lediglich einige Skizzen und Flussdiagramme. Das ist natürlich bei dem Thema verständlich, jedoch wirkt das Buch bzw. die Materie dadurch etwas textlastig und trocken.
Fazit:
Ein wirklich fundiertes Werk zum Thema GIT Versionsverwaltung, welches sehr präzise und knackig formuliert ist. Auch ein wunderbares Nachschlagewerk für Anwender die bereits erste Schritte in GIT absolviert haben, dank gutem Inhaltsverzeichnis und Stichwortverzeichnis. Als Windows-Anwender habe ich lediglich ein Kapitel vermisst, das sich mit den verschiedenen GT-Windowsapplikationen beschäftigt. Zwar sind die GIT-Kommandos praktisch immer gleich, jedoch haben z.B. GUI-Anwendungen schön ihre kleinen Besonderheiten die gut in den Anhang des Buches gepasst hätten. Bei anderen Linux Systemen beschreiben die Autoren zumindest die Installation von GIT etwas ausführlicher, allerdings wird auch da nicht näher auf die einzelnen Programme eingegangen.
Ansonsten ein wirklich empfehlenswertes Buch, insbesondere für Programmierer die unter Linux arbeiten!
Klappentext: Mitte 2005 begann Linus Torvalds mit der Entwicklung von Git, um damit die Quellen des Linux-Kernels zu verwalten. Seitdem nutzen immer mehr Entwickler und namhafte Projekte (KDE, Android, Debian u.a.) das dezentrale Versionskontrollsystem.
Das vorliegende Buch führt Sie fundiert und mit zahlreichen Beispielen in die Benutzung von Git und alle relevanten Techniken ein, die im täglichen Umgang mit der Versionsverwaltung zum Einsatz kommen. Sie lernen die Modellierung eines Repositorys als Graph von Commits und damit die Grundlage für fortgeschrittene Konzepte kennen: Merge-Strategien, automatisierte Fehlersuche, Umstiegsszenarien (Subversion-Migration zu Git). Hinzu kommen die Besonderheiten dezentraler Arbeitsabläufe und deren Einfluss auf den Workflow von Projekten.
Umfang der Darstellung und Erfahrung der beiden Autoren machen das Buch zu einer unverzichtbaren Hilfe bei der Arbeit mit der modernen Versionsverwaltungssoftware.
--Frank
Broschiert: 328 Seiten Verlag: Open Source Press (24. Juni 2011) Sprache: Deutsch ISBN-10: 3941841424 ISBN-13: 978-3941841420 Größe und/oder Gewicht: 24 x 17,6 x 1,8 cm Preis 29,90 Euro Bezug: Buchhandel, Amazon etc.
GIT – Dezentrale Versionsverwaltung im Team, Autoren René Preißel und Björn Stachmann
Wer eine Software im Team bzw. als Open-Source entwickeln will, der wird nicht herumkommen sich auch in eines sogenannte Versionsverwaltung einzuarbeiten. Damit wird sichergestellt das Änderungen im Quellcode quasi auch Zeitgleich von mehreren Personen durchgeführt werden können. Die Versionsverwaltung sorgt dafür das die verschiedenen Änderungen immer wieder, weitgehend automatisch, zusammengeführt werden. Die Profis reden hier von dem sogenannten „mergen“. Es gibt verschiedene Tools die dieses mehr oder weniger gut leisten, eines was sich immer mehr durchsetzt ist das sogenannte „GIT“. Die Autoren dieses Buches gehen sehr ausführlich auf GIT ein. Zunächst wird das grundlegende Konzept und die Vorteile von GIT erläutert. Anschließend erfolgt ein Beschreibung der verschiedenen Funktionen und Fachbegriffe wie einem Commit, Repository, Branches oder z.B. Rebasing. Es wird genau erläutert wie man ein eigenes Repository (Projektarchiv könnte man es übersetzen) anlegt und mit GIT im team nutzt und verwaltet. Das ganze ist keine einfache Materie, man sollte möglichst neben dem lesen am Buch einfach ein paar Übungen am Rechner machen. Die notwendigen Tools sind kostenlos im Internet ladbar. Git ist so umfangreich und mächtig , das es durchaus verschiedene Möglichkeiten gibt wie man was erledigt. Daher widmen sich die Autoren im zweiten Teil des Buches dem praktischen Workflow. Hier beschreiben die Autoren wie man in der Praxis wann welche Funktion von GIT wie einsetzt um möglichst effizient damit zu arbeiten.Zum Beispiel wie man ein Projekt aufsetzt, ein Release durchführt, große Projekte aufspilltet von anderen Versionsverwaltungstools umsteigt u.v.m. Auch auf die verschiedenen GIT Tools und Erweiterungen wird eingegangen, auch die derzeit recht beliebte Hosting Plattform GITHUB wird eingegangen, allerdings nur recht kurz. Auf die neue Software von GITHUB konnten die Autoren noch nicht eingehen, das es diese erst seit kurzem gibt.
Fazit:
Wer professionell Software entwickeln möchte, der findet hier ein wirklich gut aufgebautes Buch um sich mit dieser sehr leistungsstarken Versionsverwaltung zu beschäftigen. Das Buch ist sauber strukturiert und umfasst so ziemlich alle Aspekte von GIT, es eignet sich auch ideal nach Nachschlagewerk zumal es sehr gut in zahlreiche Kapitel und Unterkapitel aufgeteilt wurde. Das Buch nutzt ein einspaltiges Schwarz/Weiß-Layout mit Randbemerkungen und Auflockerungen durch grau unterlegte Listings, Anmerkungen sowie Beispiele und Skizzen. Also durchweg ein empfehlenswertes Buch für etwas erfahrenere Programmierer.
Klappentext: Git ist ein mächtiges Werkzeug zur verteilten Versionsverwaltung. Es macht vieles möglich, was mit klassischen Versionsverwaltungen gar nicht oder nur unter großen Mühen ging. Gits Vielfalt an Kommandos, Optionen und Konfi-gurationen wirkt anfangs oft einschüchternd – obwohl die Grundkonzepte einfach sind und man meist nur wenige Befehle benötigt.
Die Autoren dieses Buches bieten daher zunächst eine kompakte Einführung in die Konzepte und jene Befehle, die man im Entwickleralltag wirklich benötigt. Anschließend widmen sie sich ausführlich den wichtigsten Workflows bei der Softwareentwicklung im Team und zeigen, wie Git dort eingesetzt wird. Behandelt werden u.a. folgende Workflows:
- Ein Projekt aufsetzen
- Mit Feature-Branches entwickeln
- Gemeinsam auf einem Branch arbeiten
- Ein Release durchführen
- Mit Bisection Fehler suchen
- Große Projekte aufteilen
Das Buch richtet sich an professionelle Soft-wareentwickler, die bereits über Erfahrung mit klassischen Versionsverwaltungssystemen wie CVS, Subversion oder ClearCase verfügen.
Sie lernen in diesem Buch alle wichtigen Git- Befehle und -Funktionen kennen und erfahren, wie Sie sie effektiv anwenden. Zudem entde cken Sie neue Einsatzgebiete von dezentralen Versionsverwaltungen, die in klassischen, zentralen Systemen nicht existieren.
Die 2. Auflage wurde komplett aktualisiert und um ein Kapitel mit nützlichen Tipps und Tricks für die Praxis erweitert. Auch der neue subtree- Befehl wird erläutert. Das Buch zeigt, wie man ihn nutzen kann, um große Projekte besser zu modularisieren.
--Frank
Broschiert: 280 Seiten dpunkt.verlag GmbH; Auflage: 1. Auflage (26. März 2012) Sprache: Deutsch ISBN-10: 3898648001 ISBN-13: 978-3898648004 Größe und/oder Gewicht: 23,8 x 16,6 x 2 cm Preis 29,90 Euro Bezug: Buchhandel, Amazon etc.
Open Source Projektmanagement, Autor Michael Prokop
Wer daran denkt sich bei der Programmierung an einem Open-Source-Projekt zu beteiligen oder gar ein eigenes Projekt als Open-Source Projekt plant, dem kann ich dieses Buch empfehlen. Es stammt von dem Autor Michael Prokop, der als Projektleiter, eines Debian basierenden Linux-Live-Systems, aus seinen eigenen Erfahrungen berichtet. Das Buch ist durchaus auch für Mikrocontroller-Programmierer interessant, denn schließlich wächst der Speicher und die Komplexität dieser Bauteile von Jahr zu Jahr und die Programmierung wird immer zeitaufwendiger. Als freie Open-Source Anwendung arbeiten gewöhnlich zahlreiche Programmierer an dem Ausbau und der Verbesserung einer Software, was natürlich die Entwicklung und Qualität erheblich verbessert. Zudem müssen Oben-Source-Projekte nicht immer sehr groß sein, es lassen sich auch kleine Algorithmen oder spezielle Lösungen sogar Texte und Dokumentationen als Open-Source freigeben. Es ist einfach für alle Entwickler einfacher wenn man auf bewährten Routinen/Funktionen aufbauen kann und nicht jedesmal das Rad neu erfinden muss.
Bevor man aber an die Freigabe oder Mitarbeit geht, sollte man sich etwas intensiver mit der Thematik beschäftigen. Die Autor geht in dem Buch auf nahezu alle relevanten Themenbereiche ein, die für eine erfolgreiche Openen-Source Veröffentlichung relevant sind.
Und das sind einige:
- die unterschiedlichen Lizenzverträge, wo sind die Unterschiede
- die Wahl richtige Wahl des Projektnamens
- die verschiedenen Entwicklungsmodelle
- welche Software ist für das Projektmanagement sinnvoll
- wie stellt man ein Team zusammen und wie organisiert man es
- wie verwaltet man Code und welche Versionskontrolle nutzt man
- Infrastruktur – Kontaktmöglichkeiten untereinander
- Dokumentationen* Marketing
- Finanzierung
Das sind nur einige Themengebiete die ich erwähnen möchte, der Autor geht in seinem wirklich verständlich geschriebenen Werk noch auf viele andere Aspekte ein. Zudem wird er auch bei vielen Themenbereichen etwas konkreter und erläutert schon mal welches Wiki-Script oder welches Versionskontrollsystem vorteilhaft ist und wie es funktioniert. Natürlich kann er Systeme wie GIT oder GITHUB nicht vollständig beschreiben, das würde den Rahmen dieses Buches sprengen, aber er gibt einen guten Überblick und ersten Eindruck von den Möglichkeiten dieser Tools. Zudem nennt er im Verlauf der Buches zahlreiche interessante Webseiten die man als Software-Entwickler kennen sollte.
Fazit: Mir hat das Buch sehr gut gefallen, es zeigt gut welche Möglichkeiten die Open-Source Entwicklung bietet und auf was man alles achten muss. Das Buch bietet ein einfaches einspaltiges Layout, auf Farbseiten und viele Bilder muss man verzichten, was angesichts des Themas verständlich ist. Die Aufteilung bzw. Strukturierung in 10 Kapitel mit vielen Unterkapiteln ist gut gelungen, so eignet sich das Buch duchaus auch als Nachschlagewerk wenn man z.B. nach dem ein oder anderem Tipp/Tool sucht.
Klappentext: Die Unterschiede bei der Entwicklung von Open-Source- und Closed-Source-Software gehen weit über Fragen der Lizenzierung hinaus. Wer ein freies Projekt startet, sollte die ganz eigenen Regeln kennen, um nicht Motivation und Arbeit aller Beteiligten zu gefährden. Das heißt zugleich: Wer die besondere Dynamik bei der Entwicklung freier Software zu nutzen weiß, wird von den technischen Ergebnissen und der besonderen Atmosphäre gemeinschaftlicher Arbeit immer begeistert.
Michael Prokop, Initiator und Leiter des erfolgreichen "Grml"-Projekts, schöpft aus der Erfahrung, wenn er die vielfältigen Aspekte freier und zugleich professioneller Entwicklungsarbeit beschreibt: soziale Belange der Teambildung und Motivation, technische Hilfsmittel der Kommunikation und Code-Entwicklung, aber auch ganz praktische Fragen der Finanzierung, des Marketings und der Dokumentation. Wer neue Impulse für seine Mitarbeit bei freien Projekten sucht oder als Entwickler kommerzieller Produkte Einblick in den Open-Source-Kosmos nehmen möchte, findet in diesem Buch eine wertvolle Quelle.
--Frank
Broschiert: 255 Seiten Verlag: Open Source Press; Auflage: 1. Aufl. (27. September 2010) Sprache: Deutsch ISBN-10: 3937514600 ISBN-13: 978-3937514604 Größe und/oder Gewicht: 23,8 x 17,4 x 1,4 cm Preis 19,90 Euro Bezug: Buchhandel, Amazon etc.
Siehe auch
- Buchvorstellungen - Übersicht Buchvorstellungen zu allen Themengebieten