Allgemein – Herd Software Entwicklung https://www.herdsoft.com/html Programmieren ist cool Wed, 06 Aug 2025 14:19:04 +0000 de hourly 1 https://wordpress.org/?v=6.8.2 https://www.herdsoft.com/html/wp-content/uploads/2025/07/logo-150x150.png Allgemein – Herd Software Entwicklung https://www.herdsoft.com/html 32 32 Relaunch https://www.herdsoft.com/html/2025/07/relaunch/ Wed, 23 Jul 2025 09:58:08 +0000 https://www.herdsoft.com/html/?p=9 Es ist Zeit für einen komplette Neugestaltung meines Webauftritts. Ursprünglich 1996 entwickelt und zuletzt 2004 komplett überarbeitet, passte die Struktur nicht mehr zu dem, was seither geschah.

Zeit, all die interessanten Dinge seither zu dokumentieren.

Technisch

Technisch habe ich jetzt alles in UTF-8 umgesetzt und die CGI-Programme sind jetzt 64-Bit Linux.

Ich dachte ursprünglich, alles mit WordPress dynamisch zu hosten. Aber das hat im Umgang mit bereits vorhandenen Texten in komplexer Formatierung, wie z.B. reanalyzer-2024-11-06.html nicht überzeugt. Spätestens bei einer gemeinsamen Suchfunktion für alte und neue Texte wurde es schwierig…

So benutze ich jetzt WordPress, um damit statische HTML-Dateien zu generieren, die dann als HTML-Dateien ausgeliefert werden.

Damit das alles funktioniert, habe ich auch WinhelpCGI aktualisiert auf 64-Bit Linux und UTF-8.

Neue Themen

]]>
Einkommenseinbußen eines Softwareentwicklers durch Softwarepatente https://www.herdsoft.com/html/2004/04/softwarepatente/ Mon, 12 Apr 2004 14:30:00 +0000 https://www.herdsoft.com/html/?p=965 Einleitung

Wer bin ich

Ich bin seit 1992 freier Softwareentwickler und meine Arbeit besteht zu erheblichen Teilen in der Entwicklung von Softwarekomponenten, die andere Softwarefirmen bei mir in Auftrag geben, weil sie ihnen zu schwierig oder zu spezialisiert sind. Die Auftraggeber sind sowohl kleine als auch große Firmen, auch bekannte Namen wie SAP, Siemens, MacAffee, AGFA sind darunter.

Ich versuche, wo es möglich ist, die Aufträge so abzuwickeln, dass dabei als Nebeneffekt auch Open Source Software unter GPL Lizensierung entsteht.

Einkommensausfälle durch Softwarepatente

Während meiner Berufstätigkeit ist es immer wieder zu Einkommensausfällen durch Softwarepatente bzw. Kostenerhöhungen für den Kunden auf folgende Weisen gekommen:

  • Bereits entwickelte Produkte mussten aufgegeben werden, nachdem sich herausgestellt hat, dass die verwendeten Technologien patentiert waren.
  • Produkte konnten aufgrund von Softwareparenten nur eingeschränkt vermarktet werden.
  • Die Planung von Produkten musste eingestellt werden, nachdem während der Planungsphase klar wurde, dass die Vermarktung durch Softwarepatente behindert werden würde.
  • Um den Einsatz von patentierten Technologien zu vermeiden, mussten oftmals umständliche Behelfslösungen implementiert werden, was den Herstellungsaufwand erhöhte.
  • Sobald eine Komponente patentierte Technologien verwendet, ist ein hoher Beratungsaufwand notwendig, um die Kunden über die Randbedingungen der Patentlizensierung zu informieren. Dieser Aufwand ist umso höher als die Rechtslage oftmals unklar ist und ich kein fachlich fundierter Rechtsanwalt bin.
  • Bei großen Auflagen, die in den Läden verkauft werden, wäre der Schaden bei einer Patentverletzung besonders groß, weil im schlimmsten Falle die gesamte Auflage vernichtet werden müsste. In solchen Fällen führte schon eine geringe Rechtsunsicherheit zur Anpassung der Software, um den Einsatz einer auch nur möglicherweise patentierten Technik zu vermeiden, aber mit realen Kosten für die vorbeugende Anpassung.
  • Die für vernünftige Entscheidungen unvermeidliche Informationsbeschaffung nimmt erheblich Zeit in Anspruch.
  • Mindestens in einem Falle wurde ein Patent 1998 auf eine Technik erteilt, die ich bereits seit 1993 eingesetzt habe. Da mein Sourcecode und das Verfahren nicht im Sinne des Patentrechts „veröffentlicht“ wurden, kann ich nun die von mir entwickelte Technik nur eingeschränkt wirtschaftlich auswerten.

Obwohl Softwarepatente in Deutschland bislang nur eingeschränkt rechtsgültig sind, haben sie in der Summe bereits einigen Schaden verursacht. Dies liegt einerseits daran, dass Software ins Ausland exportiert wird, andererseits daran, dass die Patentinhaber ihre Patentforderungen maßlos auslegen und kleine und mittlere Unternehmen Rechtsstreitigkeiten vermeiden.

Der Versuch, diese Probleme auf der Ebene von Versicherungen zu lösen schlug fehl: Solche Risiken gelten bei Versicherern als nicht versicherbar, noch nicht einmal auf der Ebene der Haftpflichtversicherung.

Beispiel EADS Dornier Patent

Im Jahre 1999 hat ein innovatives kleineres Softwarehaus mich beauftragt ein Zugriffsmodul zu schreiben, um aus ihrer Anwendung heraus auf Landkarten von verschiedenen Herstellern und daher in verschiedenen Datenformaten zu schreiben. Der Hersteller hat dieses Zugriffsmodul benutzt, um für Landkarten aus verschiedenen Ländern eine einheitliche Bedieneroberfläche zu bieten und die Kartendaten der geplanten Strecke in eine spezielle Hardware zu übertragen, mit der die Betrachtung der Karte auf einem Motorrad während der Fahrt möglich ist. Als Teil der Bezahlung war vereinbart, dass der von mir entwickelte Anteil mit einigen Monaten Verzögerung unter GPL-Lizensierung veröffentlicht werden kann. Die Software wurde planmäßig entwickelt und vom Auftraggeber veröffentlicht.

Im Jahre 2000 wurde der Auftraggeber von EADS Dornier GmbH angeschrieben, dass die Software das Patent EP Nr. 0218109 von Dornier verletzt und die Lizensierung der patentierten Technologie verlangt.

Dabei ist zu sagen, dass eine top50 Landkartensoftware-CD aus zwei Komponenten besteht: Der eigentlichen Landkarte, einem ziemlich großen Datenbestand dessen Datenbank-Urheberrechte bei den Landesvermessungsämtern liegt, und der zur Anzeige dieser Daten verwendeten Software, deren Urheberrechte bei EADS Dornier liegen. Da wir keines der Programm-Module von EADS Dornier verwendet haben und die Landesvermessungsämter dieser Art der Nutzung ihrer Landkarten nicht widersprochen haben, ging es einzig und allein um eine Lizensierung der von EADS Dornier patentierten Anspruchs, es ging nicht um eine Frage des Urheberrechts.

Das Patent besagt in kurzen Worten, dass die Kombination aus Digitalisierung von Landkarten unter Verwendung der Druck-Filme (denen beim Druck jeweils eine Druckfarbe wie Schwarz, Blau, Grün und Braun zugeordnet ist) und der Anzeige auf einem Rasterdisplay (jeder PC-Bildschirm) patentiert ist, ganz gleich, welche Software dazu verwendet wird. Das Patent schützt also den naheliegensten Weg, der jedem sofort einfällt wenn er/sie über das Problem nachdenkt, und das auf breiter Basis.

Nach einigen Diskussionen auf der http://www.ffii.org/ Mailing-Liste hat sich der Auftraggeber entschlossen, eine Lizenzgebühr von 20000 DM an Dornier zu entrichten, obwohl der Rechtsanspruch fragwürdig war. Einerseits wäre der Streitwert so hoch gewesen, dass die Gerichtsgebühren für ein kleines Unternehmen kaum bezahlbar gewesen wären. Andererseits stand der Kunde unter Zeitdruck,  seine neue Softwaregeneration zu veröffentlichen.

Da ich wegen der GPL-Veröffentlichung meiner Arbeit ebenfalls keinen Rechtsstreit riskieren wollte, habe ich auf die Veröffentlichung der Sourcecodes verzichtet. Dadurch wurde die geplante Möglichkeit, Landkarten der deutschen Landesvermessungsämter ohne Microsoft Windows betrachten zu können, verhindert. Da die GPL-Veröffentlichung für mich auch einen Werbeträger für meine Dienstleistungen darstellt, wurde ich auch finanziell geschädigt.

Da das Patent zur Anwendung kommt, ganz gleich mit welcher Software die Daten verarbeitet werden, können die Landesvermessungsämter es nicht umgehen indem sie eine andere Software zur Anzeige der Kartendaten ausliefern. D.h. die Ämter sind von EADS Dornier abhängig.

Mittlerweile habe ich gehört, dass die Landesvermessungsämter einer zweiten Firma gestattet haben, CDs in einem anderen Datenformat zu veröffentlichen, nicht zuletzt weil sie wohl verärgert waren, dass Dornier das Geld für die Zusatznutzungen eingestrichen hat, anstelle der eigentlichen Rechteinhaber der Karte. Wenn das Patent rechtskräftig wäre, dann wäre das ohne Lizenzzahlungen deren Höhe EADS Dornier alleine bestimmen könnte, gar nicht möglich.

Die EADS Dornier Software liegt wohl mittlerweile in einer neuen Version vor und damit sind die alten Programme von 1999 nicht mehr anwendbar, selbst wenn ich den Source jetzt unter GPL-Lizenz veröffentlichen würde.

Beispiel Unisys LZW Patent

Packer-API

1994 habe ich einen Satz von Programmodulen (DLLs) zur Verarbeitung von gepackten Dateien, d.h. ZIP-Dateien, LHA-Dateien, ZOO, ARC u.ä. entwickelt. Es wurde z.B. von Virenscanner-Herstellern lizensiert um in gepackten Dateien nach Viren zu suchen.

1995 wurde in der Fachpresse bekannt, dass das verbreitete Kompressionsverfahren LZW von IBM und Unisys patentiert wurde und Unisys begonnen hat,  systematisch Ptentengebühren für PC-Anwendungen durchzusetzen. Da ARC und ZOO Archive das LZW Kompressionsverfahren einsetzten und die wenigsten Kunden bereit gewesen wären, Lizenzgebühren an Unisys zu entrichten, wäre es für die verbleibenden wenigen Kunden nicht mehr rentabel gewesen, die Sourcecodes weiter zu pflegen. Daher musste ich die Vermarktung dieser Programmodule eingestellen.

GIFs in der Windows-Hilfe

1996 hatte ich ein Produkt zur Anzeige von amimierten Grafiken mit Hintergrund-Transparenz in der Windows Bedienungshilfe. Die meisten animierten und/oder transparenten Grafiken liegen im GIF-Format vor, das von den Internet Browsern verwendet wird. Zur Verarbeitung musste ich die LZW-Komprimierten Daten in den GIF-Dateien dekomprimieren. Daher hatte ich geplant, die patentierte LZW Technologie von Unisys zu lizensieren. Erste Recherchen in öffentlich zugänglichen Quellen im Internet ergaben 1% vom Umsatz oder 10 Cent je Kopie an Kosten, also kein Problem. Die Software wurde implementiert und lief bestens.

Beim Versuch, die Patentlizenz von Unisys zu erwerben, gab es böse Überraschungen: Aufgrund des weiterverteilbaren Vetriebskonzepts hätte jeder meiner Kunden 1000 US $ Mindestgebühr bei Unisys zahlen müssen und vierteljährlich Mengen und Umsätze an Unisys berichten müssen. Auf den Einwand, dass der geplante Produktpreis nur 150 US $ betrug und Mitbewerber derartige Techniken preiswert anbieten, kam von Unisys nur die Reaktion, das täte nichts zur Sache.

Als ich dann um eine Lizenz für ein Programm bat, das die GIF-Dateien in ein anderes Format überführen sollte, so dass keine weiterverteilbare Lizenz erforderlich gewesen wäre, meinte Unisys das seie ja wohl nur der durchschaubare Versuch, ihr Patent zu unterlaufen und sie würden weiterhin 1000 US $ je Anwender verlangen.

Daraufhin musste ich das zu 80% fertiggestellte Modul wegwerfen.

Erst später habe ich beim Lesen der http://www.gnu.org/ Webseiten erfahren, dass die meisten Patentanwält davon ausgehen, dass das Unisys LZW Patent sich nur auf die Kompression, nicht auf die Dekompression bezieht. Unisys behauptet, auf dem Webserver zwar anderes, vermeidet aber Rechtsstreitigkeiten die zur Kläreung dieser Frage führen würden. Es gab also überhaupt keine Rechtsgrundlage für die horrenden Lizenzforderungen des Patentinhabers. Andere Anbieter, die die Unisys-Forderung ignorierten, konnten ihre Gewinne ungestört machen.

Es ist offenbar eine Frage des Mutes, zweifehlafte Forderungen zu ignorieren und eine Rechtsstreitigkeit zur Klärung zu provozieren, eine Strategie die für große Firmen sicher kein Problem darstellt, für kleine Firmen mit geringen Eigenkapital, die 80% der Arbeitsplätze im IT-Sektor in Deutschland ausmachen, aber zu gefährlich ist.

Bei unterschiedlichsten Aufträgen hat gerade das Unisys-Patent hat immer wieder zu erheblichem Beratungsaufwand gegenüber den Kunden geführt. Die unklare Rechtslage erfordert es, den Kunden alle Informationen zur Verfügung zu stellen, das kann schnell eine halbe Stunde Diskussion am Telefon bedeuten, dabei hat der Kunde dann noch immer keine Rechtssicherheit. Das Patent ist zwar nun in den USA abgelaufen, aber in Deutschland noch für ein paar Monate gültig, wahrscheinlich aber nicht durchsetzbar. Darüberhinaus ist der Anspruch auf Lizensierung der Dekompression ebenfalls voraussichtlich nicht durchsetzbar. In anderen Ländern kann das wieder anders aussehen. Erklären Sie das mal Ihrem Kunden, der für 75 € eine Grafikimport-Komponente kaufen will.

Beispiel Volltextindex-Patent

1993 habe ich eine effiziente Technologie zur Speicherung von Datenbank-Tabellen mit einem Volltextindex entwickelt. Das für den Volltextindex verwendete Verfahren war naheliegend und als Verfahren in einem Nachmittag konzipiert und in einigen Wochen implementiert. Weder das Verfahren (Trivial) noch den Sourcecode habe ich jemals im Sinne des Patentrechts „veröffentlicht“.

IBM hat dieses Verfahren zum Patent angemeldet. 2002 habe ich rein zufällig die Beschreibung dieses Verfahrens unter http://www-1.ibm.com/servers/enable/site/bi/evi.html gelesen, zunächst nach dem Motto, ah, die machen das genauso wie ich damals, aber dann mit der Erkenntnis: Wenn das jetzt patentiert ist, dann kann ich ja meine eigene Entwicklung nur noch eingeschränkt vermarkten!

Dieses Beispiel zeigt deutlich, wie bereits ausgeführte Arbeiten nachträglich durch Patente entwertet werden können. In einer Arbeitsumgebung voller Softwarepatente wären Entwickler gezwungen, jede noch so kleine neue Idee sofort zum Patent anzumelden und täglich die neuen Patentanmeldungen zu lesen um gegebenenfalls Widerspruch einzulegen, was einen enormen und sinnlosen Arbeitsaufwand bedeuten würde, bei dem nur die Patentanwälte reicher würden und die Effizienz und Innovationskraft der Softwareentwickler behindert würde.

Fazit

Bereits beim derzeit geltenden Patentrecht habe ich einige Einkommenseinbußen erlebt. Wenn die Software-Patentierung in Deutschland ausgeweitet würde, dann würde sie eine permanente Quelle von Rechtsunsicherheit, Unplanbarkeit und Rechtsstreitigkeiten werden, die ein bestimmendes Element der Arbeit für Programmierer werden würde. Die Möglichkeiten, sich als Programmierer selbständig zu machen oder Open Source Software zu veröffentlichen würden empfindlich eingeschränkt und viele kleine und mittlere Unternehmen würden mittelfristig schließen müssen.

Weder eine Entwicklung entsprechend Linux von Linus Torvalds, noch eine wie Windows von Microsoft könnte sich wiederholen, denn auch Microsoft hat mal als Kleinunternehmen angefangen, aber damals waren Softwarepatente eben noch kein Problem.

]]>
Losses caused to me by Software Patents https://www.herdsoft.com/html/2004/04/losses-by-software-patents/ Mon, 12 Apr 2004 08:23:00 +0000 https://www.herdsoft.com/html/?p=973 Introduction

Who am I?

I am a free software developer since 1992 and large parts of my work consist of software development of small components ordered by other software development companies because the components are too difficult or too specialized for them to develop themselves. The clients are both small and large companies, including well-known names like SAP, Siemens, McAfee, AGFA and others.

Wherever possible I produce open source software under the GPL license.

Losses caused by Software Patents

In my work I have experienced several cases of losing money due to software patents, both by losing revenue and as a result of increased costs. There are at least the following noticeable effects:

  • Already completely developed software could not be or could no longer be marketed when I came to know that the technologies involved were patented.
  • Marketing of software was limited by patents, so revenues were reduced.
  • Software development was stalled during the conception phase after it became clear that patent issues were involved. Some kinds of software simply cannot be developed since the patent owners prevents it.
  • Complex workaround solutions had to be invested in where the most obvious solution was protected by a patent, causing higher expenses for software development.
  • Whenever a component has to use patented technologies the expenses for consulting are high, since clients don’t know what to do and ask me. This is more severe, since I’m not a lawyer and the situation is usually unclear.
  • When 100,000 CD copies of a software were to be produced using a technology where someone claimed to have a patent, we decided to modify the software even if the claim was not proven and was not very likely to prove enforceable, just to avoid the risk of a callback of the CDs.
  • Ineluctable patent research in advance of development and during development wasted a lot of developer time.
  • One technology invented by me in 1994 and marketed as closed-source was patented later by IBM, so the patent reduced the value of my work subsequently.

While software patents are not fully applicable in Germany now, they have still caused damage to me both for the costs related to uncertainty regarding the law and due to the fact that they are applicable when exporting to the USA.

Trying to solve the problem by contracting with an insurance company failed: Such risks are not insurable.
 

Example: EADS Dornier Patent

In 1999 a small innovative German software company ordered a module to retrieve map images from various map CDs sold by different vendors from different countries, all using their own file format. The client uses that module to plan motorcycle rides and to transfer maps of the area near planned rides to a transportable GPS solution installed on the motorcycle. As a part of the payment he agreed that I would have the right to publish my work as Open-Source software under the GPL license. The software was developed as planned, worked nicely and was released.

In 2000 my client was notified by EADS Dornier GmbH that his software (my module) violated patent EP 0218109 given to Dornier and that the client was to pay a licensing fee.

Let me remark that such a map CD consists of the valuable map data and a small piece of software to display the map on a windows PC. The valuable map data on that CD is copyrighted by the „Landesvermessungsämter“ in Germany, not by EADS Dornier and the client did not use any software developed by Dornier, so this was purely a patent issue and had nothing to do with copyrights.

The claim of that patent is in a few words that every display of a map on a computer is patented by Dornier if the digital map has been created by digitizing the films that were created to print the map on paper, no matter how it has been done and which software is used. So the patent claims the easiest way to digitize a map, no high invention.

After numerous consultations it became clear that while the patent might be invalid, difficult and expensive lawsuits would have to be fought to invalidate it. The necessary lawsuits would have been so expensive that the small client company could not have afforded them and the client was anxious to release their software to the market on a timely basis, so the client decided to pay a licensing fee of 10,000.00 € for a 3 year license to Dornier, even if there was potentially no need to do so.

Since I also did not want to risk a lawsuit for the GPL release of the software, I decided to abandon the idea of the open source release. For that reason there is still no way available to display such a map on anything else but a Windows PC. Since the open source release was also planned to be a form of marketing for me, I have been financially damaged.

Since the patent is applicable no matter whose software is used to create the map image files, the Landesvermessungsämter cannot overcome the patent by using another piece of code on the CD, that means the patent makes the German government dependent on EADS Dornier.

Meanwhile in 2004 I heard that the Landesvermessungsämter offered the map data to a second company in .tiff format, and the second company now releases a second CD with a different file format. One supposes they were probably upset that Dornier made use of their map data to extract dubious patent license fees. If the patent would have been valid (and not invalid as suspected), then the Landesvermessungsämter would not have been able to do that.

I have also heard that the EADS Dornier software now uses a different file format, so the open source release would no longer display the maps on a GNU/Linux or Mac/OS machine.

Example: Unisys LZW Patent

Packer-API

In 1994 I developed a set of DLLs to process compressed files, for example ZIP, LHA, ZOO, ARC and other package files. It was for example licensed by antivirus software companies to add scanning for viruses in archives to their virus scanners.

In 1995 it became publicly known that the well-known LZW compression algorithm is patented by Unisys and IBM and Unisys started to exploit the patent. Analyzing the technologies involved I found that the ZOO and ARC file formats used the LZW algorithm. Since only very few clients were willing to buy an LZW license from Unisys, maintenance of the software was no longer interesting, and so I ceased to market the already-developed technology any further.

GIFs in the Windows help engine

In 1996 I developed a product to allow the display of animated images with transparency in the windows help engine. Most of those images are usually stored in the well-known GIF data format also used for the same purpose in internet publishing. To allow the display of GIF images I planned to obtain a license for the LZW algorithm from Unisys. A first glance on publicly available sources showed that licensing prices were quite acceptable: About 1 % of revenue to 10 cent per copy, whichever is higher. I implemented the concept and the software worked nicely.

Then I tried to obtain the patent license from Unisys, but failed: Due to the special nature of the software component being „redistributable,“ Unisys asked for every client to individually obtain a license with a minimum payment of 1,000 US $ and quarterly reporting of copy counts and revenues to Unisys. The fact that the product price planned was just 150 US $ and that other competitors offered comparable technologies for that price were not factors in Unisys’s consideration.

As a consequence I tried to obtain a license for a program to convert the original GIF images to some other file format that does not use LZW compression so the license required would avoid the „redistributable“ problem. Unisys answered that this would only be a clearly deliberate act of circumventing that patent and continued their request for 1,000 US $ per customer.

As a result I had to throw away a product that was already 80 % complete.

Years later I read on http://www.gnu.org/philosophy/gif.html that most lawyers consider the Unisys patent to be limited to LZW data compression, not data decompression. Unisys simply claims that their patent also covers decompression, and this claim has simply never been tested in a court of law. So there was no basis for them to call for licenses of even one cent, let alone the 1,000 US $ per customer that they sought. Unisys wasted my efforts of several months for no reason. Other competitors who simply ignored the Unisys claim were able to collect revenues without any problem.

Obviously dealing with patents is a matter of risking a lawsuit and dealing with it as soon as it happens. This is a strategy that is affordable for big companies, but too risky for small and medium-sized enterprises with limited capital, which make up about 80% of German employers.

The Unisys patent especially entailed a lot of unnecessary consulting time. For example clients buying a software module for 70 € would have to discuss matters for half an hour on the phone regarding the fact that they didn’t know what to do about the patent involved — and in the end the clients would still have no security. Other cases dealt with implementing workarounds for a patent which we knew was very unlikely to be valid, but which forced us to act since we didn’t want to risk producing 100,000 CDs with software on which a patent was claimed, however dubious.

Example: Encoded Vector Index patent

In 1993 I developed an efficient technology to store indices for full text retrieval. The algorithm was simple, the concept was created in an afternoon, and it was implemented in a few weeks. Since the software sold was only in binary form without source code it was not published in the sense of patent law.

Years later I read a description of exactly the same method of index retrieval developed and patented by IBM in 1998 on http://www-1.ibm.com/servers/enable/site/bi/evi.html. If this is now patented, my capability to market my own work from 1993 are now limited.

This example illustrates how patents can devalue work already performed, and demonstrates that in a software patent regime software developers are compelled to patent every little thing they invent, and to check all new patent claims published by the EPA, causing a lot of extra work, costs for patent lawyers and reduced efficiency.

Summary

Even with the already existing patent laws I have experienced several reductions of income caused by patents. With the continued extension of the practice of software patents across europe, they would become a permanent source of unpredictability, uncertainty and lawsuits. The opportunity for developers to work independently or to develop free source software would become drastically reduced and the very existence of many small and medium-size enterprises would be endangered.

Developments such as Linux by Linus Torvalds, BSD from Berkeley Laboratories or Windows from Microsoft could not be repeated in a world populated with software patents.  Microsoft also started off as a small company, but at a time when software patents were not an issue.
 

]]>