Externe Entwickler sicher einbinden

Lose koppeln, statt blind vertrauen

15. September 2016, 13:52 Uhr | Von Sven Erik Knop, Senior Technical Specialist von Perforce Software
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

Code-Drops

Perforce Software
Code Drops sind eine Alternative um vollen Zugriff auf die interne Infrastruktur.
© Perforce Software

Eine Alternative zum vollen Zugriff auf die interne Infrastruktur ist die Arbeit mit sogenannten Code-Drops. Dabei handelt es sich um abgeschlossene Datenpakete mit einer fertiggestellten, freigegebenen Version einer Software, die beispielsweise von einem FTP-Server geladen werden können. Daraufhin lassen sie sich einfach in ein zentrales Versionsmanagementsystem einfügen – viele Systeme bieten für diesen Vorgang sogar eine spezielle Importfunktion. Durch die Einbindung von Code-Drops entsteht eine Quasi-Historie, welche die entsprechenden Code-Drops protokolliert und es dem Unternehmen so erlaubt, bei Bedarf jederzeit ein Rollback auf eine vorherige, freigegebene Version durchzuführen.

Da Code-Drops allerdings jeweils nur in ihrer fertiggestellten Form in das zentrale Repository aufgenommen werden, bleibt die zugehörige Quasi-Historie unweigerlich unvollständig – die eigentliche Entstehungsgeschichte des Datenpakets, die Dokumentation der einzelnen Schritte zur Entwicklung der Lösung für das jeweilige Problem fehlen. Auch eine detaillierte Änderungsbeschreibung inklusive ihrer Autoren, wie sie normalerweise jeder Änderung beiliegt, ist im Code-Drop nicht beinhaltet. Aus diesem Grund ist ein solches Vorgehen in der Regel nur für unabhängige Softwarehersteller eine Option, zum Beispiel für Entwickler von Open-Source-Bibliotheken oder Software Development Kits.

Um eine vollständige Historie inklusive aller Änderungen, ihrer Autoren und zugehöriger Kommentare beizubehalten und gleichzeitig die Sicherheit des geistigen Eigentums sicherzustellen, sollten Unternehmen auf einen Ansatz zurückgreifen, der die Vorteile eines zentralen Versionsverwaltungssystems mit dezentralen Funktionen zur Versionskontrolle verbindet. Eine Möglichkeit hierfür ist beispielsweise die Nutzung eines sogenannten DVCS-Systems, eines Systems für verteilte Versionskontrolle.

Bei diesem Ansatz liegt die gesamte Historie eines Projekts in einem lokalen Repository vor, während Änderungen als Pakete zwischen verschiedenen Benutzern oder zwischen einem Entwickler und einer Zentrale ausgetauscht werden. Dabei arbeiten die einzelnen Entwickler die meiste Zeit über unabhängig vom zentralen Repository und damit vom Firmennetzwerk. Zu festgelegten Zeitpunkten oder nach dem Erreichen vorgegebener Meilensteine wird das gesamte Datenpaket mit allen Änderungen an die übrigen Mitglieder des Teams oder die Zentrale verteilt und in der Regel einer Reihe strenger Tests unterzogen, bevor diese schließlich in den Entwicklungshauptzweig überspielt werden.

Da die Pakete nicht nur die Änderung selbst, sondern auch deren gesamte Historie inklusive der Beschreibungen der einzelnen Check-ins und Informationen über die jeweiligen Autoren enthalten, kann mithilfe einer DVCS-Lösung eine effiziente Einbindung von externen Mitarbeitern erzielt werden, die letztendlich zu einer losen Kopplung zwischen den externen Partnern und dem Unternehmen führt. Gleichzeitig bleibt das zentrale geistige Eigentum jederzeit geschützt: Denn Änderungspakete lassen sich auf einfache Art und Weise verpacken, beispielsweise als Zip-Datei, die dann per E-Mail übertragen oder alternativ auf einem speziell abgeschirmten Unternehmensnetz (einer sogenannten »Demilitarized Zone«) abgelegt werden kann. Eine Öffnung des Firmennetzes für externe Mitarbeiter ist damit zu keinem Zeitpunkt notwendig.

Auch wenn die steigende Notwendigkeit für schnelle aber gleichzeitig hochwertige Releases die Einbindung externer Ressourcen zunehmend unerlässlich macht, darf dies auf keinen Fall auf Kosten der Sicherheit geschehen. Denn das zentrale Kapital eines Unternehmens ist und bleibt sein geistiges Eigentum. Mit den richtigen Prozessen lässt sich jedoch sicherstellen, dass eine externe Zusammenarbeit beides ist: effizient und sicher.

passend zum Thema


  1. Lose koppeln, statt blind vertrauen
  2. Code-Drops

Lesen Sie mehr zum Thema


Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Perforce Software GB