Produktauswahl – zwischen COTS und OSS


26.04.2017 von

https://www.iteratec.de/fileadmin/Bilder/News/iteratec_logo.png https://www.iteratec.de/fileadmin/Bilder/News/iteratec_logo.png iteratec GmbH

Auswahl von Soft­ware – nicht leicht gemacht

Heut­zu­tage kommt es selten vor, dass wir Soft­ware von null auf neu er­stellen. Ent­weder gibt es schon (fast) ferti­ge Soft­ware, die „nur“ noch kon­fi­gu­riert werden muss oder Kom­po­nen­ten, die man „nur“ noch zu­sam­men stecken muss. Also gilt es, nur noch das Pas­sende zu finden. Diese Situ­a­tion tref­fen wir an, wenn es um ein­zel­ne Projekte geht. Aber auch wenn es da­rum geht, stra­te­gi­sche Vor­gaben für ein ganzes Unter­nehmen zu machen.

Als Kandi­daten kommen oft­mals Ver­treter aus der Gruppe der Open-​Source-​Soft­ware (OSS) und Com­mer­cial-​of-​the-​Shelf-​Soft­ware (COTS) in Frage. Bevor wir uns diesen beiden Ka­te­go­rien widmen, wollen wir zu­erst noch ein­mal ver­schie­dene Vor­gehens­weisen bei der Pro­dukt­aus­wahl ins Auge fassen.

Expertenmeinung – ich weiß schon, was gut ist

Eine Vorgehens­weise zur Pro­dukt­aus­wahl, die man immer wieder findet, speist sich aus der Er­fahrung eines Ex­per­ten. Ein mehr oder weni­ger er­fahrener Kollege reißt die Initi­a­ti­ve an sich und de­fi­niert, welches Pro­dukt das Beste der Welt ist. Wenn man Glück hat, dann hat er schon Er­fahrun­gen mit dem vor­ge­schla­genen Pro­dukt ge­sam­melt. „Das kenne ich“ ist oft­mals der erste und einzige Grund ein Produkt auszuwählen.

Dieses Ver­fahren ist meist ef­fi­zi­ent und schnell. Wenn man wei­ter kom­men will, ist das nicht das Schlech­tes­te. Das „Wa­rum“ ist hinter­her – oder schon währenddes­sen – nur schwer nach­voll­zieh­bar.

Bewertungs­listen – Excel wird das dann ent­scheiden

Auf der anderen Seite gibt es die Kol­legen, die in Rudeln zu­sam­men­ge­trieben werden – auch Aus­schuss ge­nannt – und nach mög­lichst vielen Kriterien suchen, nach denen sie die Kan­di­da­ten der Pro­dukt­liste be­werten können. Je mehr Kriterien aufgestellt werden, desto besser muss das Er­geb­nis doch auch werden. Das Ver­fahren ist dann am Ende ob­jek­tiv und nach­voll­zieh­bar: Die ver­ge­benen Punk­te wer­den addiert – oder auf eine kom­pli­zier­tere und schwer zu durch­schau­ende Art ver­rechnet. Wer da­nach die meis­ten Punk­te hat, ge­winnt.

Der Vor­teil dieses Ver­fahrens ist es, dass nie­mand die Ver­ant­wo­rtung über­nehmen muss. Das Er­gebnis wird ja quasi von Excel er­mittelt... und Excel hat schließ­lich immer recht.

Die Wahrheit liegt in der Mitte

Diese zwei Vor­gehens­weisen habe ich etwas über­spitzt dar­ge­stellt. Aber beides ist mir in der Ver­gangen­heit schon mehr oder weniger auf diese Weise be­gegnet.

Ich möchte mir aber keine der bei­den Vor­gehens­weisen zu eigen machen. Statt­dessen sehe ich die Wahr­heit, wie so oft, in der Mitte. Es braucht je­man­den, der eine Ent­schei­dung trifft und ver­ant­wor­tet. Darin muss ein ge­sundes Bauch­ge­fühl ein­fließen. Auf der anderen Seite sollte dieses durch eine Ar­gu­men­ta­tion ge­stützt werden, die auf nach­voll­zieh­baren Fakten basiert.

Aber an­statt sich auf eine Viel­zahl von De­tails zu stürzen, sollte die gute, alte 7±2-Regel auch hier zum Ein­satz kommen. Die wich­tig­sten 7±2 Eigen­schaf­ten werden be­trach­tet und alles an­dere als weni­ger re­le­vant igno­riert. Aus­ge­nom­men da­von sind natür­lich KO-​Kri­te­rien und solche, an denen sich die Kan­di­da­ten nicht unterscheiden.

Commercial-​of-​the-​Shelf-​Soft­ware

Aber kommen wir jetzt zu den zwei Kan­di­da­ten­grup­pen, um die es eigent­lich gehen soll. Zu­erst be­trach­ten wir COTS. Dahinter stehen Unter­nehmen, die mit der Lizen­zierung der Soft­ware Geld ver­dienen wollen. Das hat erst einmal nichts mit der Funk­tio­na­li­tät oder der Ein­haltung von nicht-​funk­tio­nalen An­for­de­rungen zu tun.

Wir können aus dem kom­merziellen In­teres­se eine Ver­mutung über die Quali­tät und Zu­kunfts­sicher­heit der Soft­ware ab­leiten. Aber sicher sein können wir dessen nicht.

Open-​Source-​Software

Open-Source-Soft­ware ist erst einmal durch die Ver­füg­bar­keit des Quell-​Codes und einer da­mit ver­bun­denen Nutzungs­li­zenz de­fi­niert. Also ist auch hier erst einmal keine Be­zie­hung zur Funk­tio­na­li­tät gegeben.

Wir können aus der Quell­offen­heit eine Ver­mu­tung über nicht vor­han­dene Hinter­türen und Sicher­heits­lücken ab­leiten. Aber sicher sein können wir dessen nicht.

Die Kriterien

Um Kan­di­da­ten zu ver­glei­chen, braucht es eine Liste von Kri­te­rien. Na­tür­lich ge­hört dazu in ers­ter Linie, wie pas­send die Soft­ware zu dem aktuell vor­lie­gen­den Pro­blem ist. Da­neben gibt es aber auch Kri­te­rien, die über­grei­fen­der auf der Ebene COTS vs. OSS be­trach­tet werden können. Diese werden wir im Fol­gen­den beleuchten.

Der erste Trick besteht darin, die Frage richtig zu formulieren. Mit einer falsch gestellten Frage wird man nämlich gleich von Anfang an auf die falsche Fährte gesetzt, was wir ja vermeiden wollen.

Wer haftet für die Fehler in der Soft­ware?

Bei COTS ist die Frage augen­schein­lich ein­fach zu be­ant­wor­ten. Es gibt einen Li­zenz­geber, mit dem ich einen Ver­trag eingehe und damit auch eine Haftung ein­kaufe.

Bei Open ​Source ist das nicht so ein­fach. Auch hier gibt es in der Regel einen Lizenz­geber. Auch mit diesem trete ich ein ju­ris­ti­sches Ver­hält­nis. Aller­dings muss ich nicht da­für be­zahlen. Die Open-​Source-​Li­zenz­be­dingungen ent­halten in der Regel Haftungs­aus­schluss­klau­seln. Da­mit ist hier­für nie­mand haft­bar und ju­ris­tisch be­langbar.

Wenn man sich aller­dings die Li­zenz­be­ding­ungen der kom­mer­zie­llen Soft­ware ge­nauer an­sieht, dann gibt es meis­tens auch dort Haftungs­aus­schluss­klauseln. Die Her­steller wollen sich ver­ständ­licher­weise vor Re­gress­an­sprüchen schützen. Da­mit habe ich auch dort im Zwei­fels­fall nie­man­den, der mir meine Milli­onen­schäden ersetzt.

Woher bekomme ich Support?

Bei COTS wird der Preis meistens damit ver­bunden, dass neben der Nutzungs­lizenz auch noch ein Sup­port-​An­teil in dem Nutzungs­ver­trag ent­halten ist. Da­bei sollte man sich aber ge­nau an­sehen, was der Support auch wirk­lich leistet. Manch­mal be­kommt man einen sehr kom­pe­ten­ten Support, der die kniffe­lig­sten Fra­gen im Hand­um­drehen löst. Manch­mal ist der Support aber auch nur ein schwarzes Loch, in dem An­fragen für immer ver­schwinden.

Bei Open-Source-Software gibt es erst einmal keinen Hersteller, der mit der Li­zenz auch Support ver­kauft. Aller­dings gibt es für die großen und ver­brei­te­ten Open-​Source-​Pro­duk­te auch Fir­men, die ge­nau diese Lücke füllen und Support-​Ver­träge an­bieten. Das ist dann meist nicht der „Her­steller“. Aber die Quali­tät des Sup­ports muss so­wie­so im Einzel­fall be­wer­tet werden.

Es gibt allerdings noch eine Alter­na­tive zu kom­mer­ziel­len Support. Das sind die Nutzer­grup­pen, die es so­wohl für COTS, aber auch für Open ​Source gibt, auch wenn die „Com­mu­ni­ties“ bei Open ​Source eine aus­ge­präg­tere Rolle spielen. Dort kann man Fragen und An­reg­ungen für Weiter­ent­wicklungen platzie­ren. Bei man­chen dieser Nutzer­grup­pen wird man so­gar schneller und besser be­dient als bei Support-​Hot­lines.

Wie sicher ist die Weiterentwicklung und Pflege der Software?

Bei einer Ent­schei­dung für eine Soft­ware ist man in der Regel nicht nur an einer kurz­fris­ti­gen Lö­sung in­te­res­siert, son­dern an einem lang­fris­tigen Ein­satz. Da spielt es eine Rolle, wie es mit der Pflege und Weiter­ent­wick­lung der Soft­ware be­stellt ist.

Die globale Ein­schätzung, dass kom­mer­ziel­le Soft­ware hier im Vor­teil ist, kann ich nicht un­ein­ge­schränkt teilen. Ich habe schon ge­sehen, dass Fir­men ver­kauft wurden und ihre Soft­ware nicht weiter­ent­wickelt haben. Ich habe schon ge­sehen, dass Fir­men ihre Soft­ware aus stra­te­gi­schen Grün­den ein­ge­stellt haben. Ich habe schon ge­sehen, dass Fir­men ihre Soft­ware aus finan­ziel­len Grün­den heraus haben ver­fallen lassen.

Auf der anderen Seite steht OSS. Wenn wir eine einzelne Fir­ma oder gar eine ein­zel­ne Per­son als Spon­sor hin­ter einer Soft­ware aus­machen kön­nen, so gelten die gleichen Be­den­ken auch hier. Mehr Sicher­heit liefert eine größere und di­ver­si­fi­zier­te Ent­wickler-​Com­mu­ni­ty.

Man muss also in je­dem Fall die Zu­kunfts­sicher­heit der Soft­ware be­werten: Wie­ viel Power und Drive stehen hin­ter der Ent­wick­lung und auf wie­ viel Zu­kunft darf man des­halb hoffen?

Welche Qualität hat die Software?

Die Quali­tät von Soft­ware von außen zu be­stim­men, ist recht schwierig. Ins­be­sondere im Rahmen eines Soft­ware-​Aus­wahl-​Pro­zesses hat man dazu meistens nicht die be­nötigte Zeit. Da ist es bei Open ​Source etwas ein­facher, weil man den Quell­code ein­sehen kann. Allein da­ran las­sen sich Ein­schätzungen über die Quali­tät der Soft­ware ableiten.

Bei einiger COTS gibt es auch die Mög­lich­keit, den Quell­code zu er­halten. Das ist aber in der Regel erst nach Ver­trags­ab­schluss und Unter­zeich­nung der ent­sprechen­den Ge­heim­hal­tungs­ver­ein­barungen möglich.

Welche Einschränkungen folgen aus den Lizenzbedingungen der Software?

Ich höre immer wieder die Be­fürch­tung, dass mit Open-​Source-​Soft­ware – ins­be­son­dere unter der GNU General Public License (GPL) – die Ver­wen­dung stark ein­ge­schränkt ist. In diesem Falle müsst man die eigene Soft­ware im Inter­net ver­öffent­lichen, was einem jeg­lichen Wett­be­werbs­vorteil nehmen würde.

Das ist nur in ganz wenigen Fällen wirk­lich der Fall. Und auch die kom­mer­ziel­len Soft­ware-​Li­zen­zen haben es in sich. Deshalb ist es immer er­forder­lich, die Li­zen­zen – ob COTS oder Open-​Source – genau an­zu­sehen und heraus­zu­finden, was man tun muss, um nicht da­gegen zu verstoßen.

Und wo ist der Unter­schied ge­blieben?

Wir kom­men heute an Open ​Source nicht mehr vor­bei. Das gilt ins­be­son­de­re im Java-​Um­feld. Die Zeiten, als nur kom­mer­ziel­le Soft­ware er­hält­lich war, sind vor­bei. Auch bei Open ​Source kön­nen wir heute fündig werden.

Für den Aus­wahl­pro­zess können wir keine Vor­selek­tion tref­fen und eine der Seiten prin­zi­piell aus­schließen. Die Kri­te­rien zum Ein­satz der Soft­ware müssen also immer in­di­vi­duell be­wer­tet werden. Dabei müssen sich COTS und Open-​Source-​Soft­ware den glei­chen Kri­te­rien stel­len. Das Ren­nen ist also offen.


Dieser Blog-Artikel steht unter der Lizenz CC-BY-SA 4.0.
Die in den Blog-Beitrag eingebundenen Bilder stammen zum Teil von Pixabay und stehen alle unter der Lizenz CC-0.