Open Source Version Control

Ähnliche Dokumente
Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Open Source Software. Workshop : Open Source Software 3. Mannheimer Fachtag Medien Referent : Christopher Wieser (

SharePoint Demonstration

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

Erfahrungen mit Hartz IV- Empfängern

Einführung in Subversion

IMAP Backup. Das Programm zum Sichern, Synchronisieren, Rücksichern und ansehen von gesicherten Mails. Hersteller: malu-soft

Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Lexware professional und premium setzen bis einschließlich Version 2012 den Sybase SQL-Datenbankserver

Versionskontrolle mit Subversion

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

Nutzung von GiS BasePac 8 im Netzwerk

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

FreePDF XP Handbuch. Aktuelle Version bei Fertigstellung: FreePDF XP 1.0. Inhalt:

Kurzanleitung zu. von Daniel Jettka

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren

Installation Hardlockserver-Dongle

Das Handbuch zu KNetAttach. Orville Bennett Übersetzung: Thomas Bögel

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Inkrementelles Backup

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Was ist neu in Sage CRM 6.1

Europäischer Fonds für Regionale Entwicklung: EFRE im Bundes-Land Brandenburg vom Jahr 2014 bis für das Jahr 2020 in Leichter Sprache

Idimager ein Bildverwaltungsprogramm-DAM Software

BI in der Cloud eine valide Alternative Überblick zum Leistungsspektrum und erste Erfahrungen

Freie Software: Was bringt s mir? Peter Bubestinger, David Ayers. 17. Mai 2008

Software Engineering in der Praxis

Versionskontrolle. Verteilte Versionskontrollsysteme. Richard Madsack. 25. November Versionskontrolle. Richard Madsack.

FTP-Leitfaden RZ. Benutzerleitfaden

Anleitung über den Umgang mit Schildern

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

ACDSee Pro 2. ACDSee Pro 2 Tutorials: Übertragung von Fotos (+ Datenbank) auf einen anderen Computer. Über Metadaten und die Datenbank

Deployment Deployment Seite 1 / 25

LDAP Konfiguration nach einem Update auf Version 6.3 Version 1.2 Stand: 23. Januar 2012 Copyright MATESO GmbH

Step by Step Webserver unter Windows Server von Christian Bartl

Benachrichtigungsmöglichkeiten in SMC 2.6

FTP-Leitfaden Inhouse. Benutzerleitfaden

HOWTO Update von MRG1 auf MRG2 bei gleichzeitigem Update auf Magento CE 1.4 / Magento EE 1.8

WordPress. Dokumentation

Druck von bzw. Scan auf USB-Stick

DOKUMENTATION PASY. Patientendaten verwalten

my.ohm Content Services Autorenansicht Rechte

ISA Server 2004 Protokollierung - Von Marc Grote. Die Informationen in diesem Artikel beziehen sich auf:

Administrator Handbuch

4D Server v12 64-bit Version BETA VERSION

Lizenzen auschecken. Was ist zu tun?

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

Wie benutzt man TortoiseSVN

Freie Software. Karin Kosina Free Software Foundation Europe.

Lizenz-Server überwachen

Firewalls für Lexware Info Service konfigurieren

Informationen zum neuen Studmail häufige Fragen

KURZANLEITUNG CLOUD OBJECT STORAGE

Sourcecodeverwaltung

UserManual. Handbuch zur Konfiguration einer FRITZ!Box. Autor: Version: Hansruedi Steiner 2.0, November 2014

Software-Engineering Grundlagen des Software-Engineering 7.3 Sourcecode-Verwaltung mit Versionsmanagement-Systemen Einführung in Subversion (SVN)

Robot Karol für Delphi

crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe

Übersicht. Was ist FTP? Übertragungsmodi. Sicherheit. Öffentliche FTP-Server. FTP-Software

Task: Nmap Skripte ausführen

Look Inside: desite. modellorientiertes Arbeiten im Bauwesen. B.I.M.

Installation SQL- Server 2012 Single Node

Versionsverwaltung GIT & SVN. Alexander aus der Fünten. Proseminar: Methoden und Werkzeuge, SS Lehrstuhl i9, Prof. Dr. T.

Proxy. Krishna Tateneni Übersetzer: Stefan Winter

MAXDATA PrimeBackup Secure Client Kurzanleitung

Zwischenablage (Bilder, Texte,...)

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Die Backup-Voreinstellungen finden Sie in M-System Server unter dem Reiter "Wartung".

Externe Authentifizierung. Externe Authentifizierung IACBOX.COM. Version Deutsch

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

FS cs108 Programmierpraktikum Subversion. Lukas Beck Cedric Geissmann Alexander Stiemer

Aktualisierung der Lizenzierungsrichtlinien für Adobe Produkte

Anleitung zur Nutzung des SharePort Utility

SSH Authentifizierung über Public Key

System-Sicherheitsrichtlinien anwenden

Lizenzierung von System Center 2012

Nachricht der Kundenbetreuung

Online Newsletter III

Durchführung der Datenübernahme nach Reisekosten 2011

Firewalls für Lexware Info Service konfigurieren

Einleitung: Frontend Backend

Formular»Fragenkatalog BIM-Server«

Bilder zum Upload verkleinern

Eine Anleitung, wie Sie Mozilla Thunderbird 2 installieren und konfigurieren können. Installation Erstkonfiguration... 4

Software zur Anbindung Ihrer Maschinen über Wireless- (GPRS/EDGE) und Breitbandanbindungen (DSL, LAN)

Der Support für Windows Server 2003 endet endgültig alles was Ihnen dann noch bleibt ist diese Broschüre.

Schrittweise Anleitung zur Installation von Zertifikaten der Bayerischen Versorgungskammer im Mozilla Firefox ab Version 2.0

git & git-flow Jens Sandmann Warpzone Münster e.v. Jens Sandmann (WZ) git & git-flow / 31

DriveLock 6. DriveLock und das Windows Sicherheitsproblem mit LNK Dateien. CenterTools Software GmbH

Umstellung News-System auf cms.sn.schule.de

Leichte-Sprache-Bilder

:: Anleitung Hosting Server 1cloud.ch ::

FIREBIRD BETRIEB DER SAFESCAN TA UND TA+ SOFTWARE AUF MEHR ALS EINEM COMPUTER

Präsentation Von Laura Baake und Janina Schwemer

MailUtilities: Remote Deployment - Einführung

Transkript:

Präsentation der Bachelor-Arbeit zum Thema Open Source Version Control Autor: Thomas Keller Betreuer: Prof. Dr. M. Frank 05. April 2006 Open Source Version Control - Thomas Keller Seite 1

Überblick Einführung Open Source Open Source Was ist das? Beweggründe für OS-Entwicklung Mögliche Geschäftsmodelle Versionskontrollsysteme Versionskontrolle Was ist das? Gründe für Versionskontrolle Grundlagen und Konzepte Quelloffene Versionskontrollsysteme 05. April 2006 Open Source Version Control - Thomas Keller Seite 2

Einführung Vorliegende Arbeit verbindet die beiden Themen Open Source und Versionskontrolle Wurde auf Englisch verfasst und ist frei verfügbar (URL am Ende) Motivation für den Open-Source-Teil: Image von Open Source verbessern Open Source und Free Software als Bewegung, als neuen Denkansatz verstehen Möglichkeiten aufzeigen, als Firma Open Source zu nutzen und vielleicht sogar selbst zu partizipieren 05. April 2006 Open Source Version Control - Thomas Keller Seite 3

Einführung (II) Motivation für den Teil über Versionskontrolle: Versionskontrolle als Beispiel für Innovation aus der Open Source Gemeinschaft Vorteile von Versionskontrolle aufzeigen Konzepte und Architekturen vorstellen Frei verfügbare (Open Source) Versionskontrollsysteme vergleichen und bewerten Arbeitsweisen mit Versionskontrollsystemen aufzeigen, Best Practises 05. April 2006 Open Source Version Control - Thomas Keller Seite 4

Open Source 05. April 2006 Open Source Version Control - Thomas Keller Seite 5

Open Source Was ist das? Open Source = quelloffen, d.h. der Quelltext eines Programms ist frei verfügbar und darf modifiziert / weiterverteilt werden Unterschiedliche Lizenzen, die den Freiheitsgrad bestimmen - Copyleft! 10 Attribute, die lt. der OSI eine Open Source Lizenz als solche SCCS qualifiziert, CVS SVN die wichtigsten:? free redistribution, availability of the source code, allow modifications and derived works 05. April 2006 Open Source Version Control - Thomas Keller Seite 6

Open Source Was ist das? (II) Weitere Attribute: No restrictions in use / audience (no NDAs), Technology neutrality,... Open Source!= kostenlos! Grundlage für Open Source ist die freie Softwarebewegung, deren Ursprünge in den 60er und 70er Jahren liegen Wichtigste Persönlichkeit bis heute: Richard Stallmann 05. April 2006 Open Source Version Control - Thomas Keller Seite 7

Beweggründe für OS-Entwicklung Nutzer proprietärer (copyrighted) Software sind in Bezug auf Support vom Wohlwollen des Herstellers der Software abhängig Was ist, wenn die Software nicht auf älterer Hardware läuft? Was ist, wenn eine Lizenz ausläuft und nicht erneuert werden kann / soll? Was passiert mit Dateien in proprietären Formaten; können sie später nach dem EOL von anderen Programmen gelesen werden? Bugs? Lizenzkosten?... 05. April 2006 Open Source Version Control - Thomas Keller Seite 8

Beweggründe für OS-Entwicklung (II) Ausweg ist Open Source Geringe Lizenzkosten (geringer TCO) Quellen verfügbar, eigene Anpassungen möglich Support und ständige Weiterentwicklung durch eine aktive Gemeinschaft Schon heute sind einige Open Source Projekte ihren kommerziellen Pendanten überlegen (bspw. Eclipse) 05. April 2006 Open Source Version Control - Thomas Keller Seite 9

Mögliche Geschäftsmodelle Nutzung von Open Source Software ist eine Sache, an Open Source Projekten partizipieren eine andere Sponsoring ist gern gesehen, da Kosten (z.b. Bandbreite) gedeckt werden müssen (erfolgt ansonsten meist über Spenden) Eric Raymond beschreibt in The Magic Cauldron mögl. Geschäftsmodelle, SCCS CVS welche SVN es? Firmen erlaubt, mit einem eigentlich kostenlosen Gut trotzdem Geld zu verdienen 05. April 2006 Open Source Version Control - Thomas Keller Seite 10

Mögliche Geschäftsmodelle (II) Modell Give away the recipe, open a restaurant Professionelle Unterstützung für Firmen Individualanpassungen Öffnung von Software ermöglicht hier breitere Marktakzeptanz Modell Widget Frosting Insb. an Hardwarehersteller gerichtet Konzentration auf Innovation, offene Treiber und UI- Entwicklung 05. April 2006 Open Source Version Control - Thomas Keller Seite 11

Mögliche Geschäftsmodelle (III) Weitere Modelle umfassen z.b. Accessorizing, d.h. Produkte rund um Open Source Software (Bücher, Merchandize, usw.) Nicht jede kommerzielle Software ist für die Öffnung geeignet, Open Source Software markiert Closed-Source Entwicklung nicht obsolet Bereits sehr gute Open Source Software im Bereich vorhanden Geringer, öffentlicher Nutzen => geringe Beteiligung der Gemeinschaft zu erwarten 05. April 2006 Open Source Version Control - Thomas Keller Seite 12

Versionskontrollsysteme 05. April 2006 Open Source Version Control - Thomas Keller Seite 13

Versionskontrolle Was ist das? Versionskontrolle bezeichnet das konsistente Speichern aller Eigenschaften und Versionen eines Objekts Anwendung vor allem in der Softwareentwicklung, aber auch andere denkbar (z.b. Verteilungsszenarien) Rasche Evolution SCCS im CVS Bereich, SVN Zugriff? auf Systeme früher vor allem zentralisiert und wechselseitig, heute eher dezentralisiert und gleichzeitig (concurrent) -> schneller und flexibler 05. April 2006 Open Source Version Control - Thomas Keller Seite 14

Gründe für Versionskontrolle Zentralisierte Verwaltung aller Dateien eines Projekts Tracking der Historie und von Benutzeraktionen Softwareentwicklung: Management paralleler Entwicklungszweige Paralleler Zugriff auf selbe Dateien (und späteres Zusammenführen SCCS der CVSÄnderungen) SVN? Im Vgl. zu klassischen Dateiservern verbrauchen VC-Systeme sowohl bei der Dateispeicherung als auch -übertragung viel weniger Platz (Deltas) 05. April 2006 Open Source Version Control - Thomas Keller Seite 15

Grundlagen und Konzepte Product-Space Sichtweise bezeichnet den einfachen, nicht versionisierten Zustand eines Produkts / eines Projekts Einzelne Objekte können Beziehungen untereinander aufweisen ( alle Dateien in einem Verzeichnis oder benötigte Dateien für die Übersetzung / Kompilierung einer anderen Datei ) Version-Space Definiert Objekte, deren Attribute und Deltas, die versionisiert werden sollen Unterschied Logical und Practical Version-Space Versionisierung erfolgt heute meist explizit 05. April 2006 Open Source Version Control - Thomas Keller Seite 16

Grundlagen und Konzepte (II) Dateisystem-basiertes Repository Versionisierte Objekte werden als echte Dateien im Backend abgelegt (Bsp: RCS-Format) Vorteile: Einfaches Backup, Nachvollziehbarkeit Nachteile: Skaliert mit zugrundeliegendem Dateisystem Datenbank-basiertes Repository Relationale SCCS Datenbank CVSübernimmt SVN Speicherung? Vorteile: Zusätzlicher, wohldefinierter Layer für Drittapplikationen, Nutzung DB-spezifischer Optimierungen oder auch Replikation Nachteile: Hot Backups schwer, Synchronisierung? 05. April 2006 Open Source Version Control - Thomas Keller Seite 17

Grundlagen und Konzepte (III) Zentralisierte Versionskontrolle Ein Server, auf den mehrere Clients zugreifen Vorteile: zentrale Anlaufstelle, einfache Konfiguration in kleinen Teams Nachteile: Central Point of Failure, Skalierbarkeit, Rechteverwaltung in großen Teams aufwendig Dezentralisierte Versionskontrolle P2P -Charakter, jeder Client ist auch gleichzeitig Server Vorteile: eigenes Repository offline, hohe Ausfallsicherheit Nachteile: Umdenken erforderlich, Systeme wenig genutzt / wenig bekannt 05. April 2006 Open Source Version Control - Thomas Keller Seite 18

Quelloffene Versionkontrollsysteme CVS Standard -Systeme seit vielen Jahren Zentralisiert, Dateisystembasiert Unterstützung vieler Drittanbieter Nachteile: keine neuen Features, da Entwicklung eingestellt; es fehlt an Metadaten, Rename-Support, atomaren Aktionen uvm. Sollte für neue Projekte nicht mehr genutzt werden, ggf. können ältere Repositories in andere Systeme importiert werden (CVSNT, Subversion, monotone,...) 05. April 2006 Open Source Version Control - Thomas Keller Seite 19

Quelloffene Versionskontrollsysteme (II) CVSNT CVSNT ursprünglich als reiner Windows-Pendant zu CVS geplant, heute für fast alle Plattformen verfügbar Zentralisiert, Dateisystem-basiert (zukünftig wohl mit Datenbank-Unterbau) wird aktiv weiterentwickelt, wenn auch Rückwärtskompatibilität große Sprünge verhindert Geeignet, wenn neues System wenig Umlernen von CVS bei den Benutzern herbeiführen soll Guter, kommerzieller Support, viele Protokolle Keine Unterstützung von Metadaten, Rename-Support im Alpha-Stadium 05. April 2006 Open Source Version Control - Thomas Keller Seite 20

Quelloffene Versionskontrollsysteme (III) Subversion (SVN) Komplette Neuentwicklung, Support und Sponsoring durch CollabNET Nahezu gleiches Kommandoset wie CVS/CVSNT Ältere Versionen DB-basiert (BerkeleyDB), neueres FSFS -Format dateibasiert, zentralisiertes Modell Sehr einfaches (intuitives) Verzweigen (branching) WebDAV-Unterstützung, Zugriff per HTTP Nahezu alle modernen Features inkludiert (Metadaten, Atomare Operationen,...), lediglich Rename-Support ist noch etwas holprig 05. April 2006 Open Source Version Control - Thomas Keller Seite 21

Quelloffene Versionskontrollsysteme (IV) monotone Dezentraler Ansatz, dreigliedrige Architektur, Datenbank- Backend (SQLite) Identifikation aller Entitäten über SHA-1-Summen CVS-ähnliches Kommandoset Volle Unterstützung von Renaming (sogar ringförmig!) Leider noch SCCS im Beta-Stadium, CVS SVN bis jetzt? kein kommerzieller Support, so gut wie keine GUI's verfügbar Protokoll auf Basis von Netsync, IANA registrierter Port sauberste Implementierung des dezentralen Ansatzes im Vgl. zu anderen Systemen (GNU Arch) 05. April 2006 Open Source Version Control - Thomas Keller Seite 22

Quelloffene Versionskontrollsysteme Zusammenfassung Für unmittelbaren Einsatz im Unternehmen am ehesten Subversion und CVSNT geeignet (Support!) monotone könnte in Zukunft eine Option werden URLs: CVS: http://ximbiot.com/cvs/wiki/ CVSNT: http://cvsnt.org Subversion: http://subversion.tigris.org monotone: http://venge.net/monotone 05. April 2006 Open Source Version Control - Thomas Keller Seite 23

Vielen Dank für die Aufmerksamkeit! Fragen? Die Arbeit ist abrufbar unter folgender URL: http://thomaskeller.biz/work/thesis/thesis_final.pdf 05. April 2006 Open Source Version Control - Thomas Keller Seite 24