Archive for the 'copyright' Category

Intellectual Property is theft from the Public Domain

Saturday, January 1st, 2000

A provocative statement: “Intellectual Property is theft from the Public Domain”. Of course its provocative, but this only seems fair in respect to the common (or is it “lawyerish”) notion of what Intellectual Property is supposed to be. People publishing said Intellectual Property (called IP in the following), without the consent of the owner of the IP are given names like “Pirates” and “Thieves”. Note that the very meaning of “publishing” comes from the latin publicare, making available to the public. Again, public is latin for people. So if lawyers call a publisher a thief, I call this theft of public domain.

Schweizer Urheberrecht im Um- und Abbruch

Saturday, January 1st, 2000

Zuerst einmal im vornherein: Das Schweizerische Urheberrechtsgesetz ist im allgemeinen kurz, klar, verständlich und konzise. Ausnahmen erscheinen ab Artikel 40, wo es um Verwertungsgesellschaften geht, aber den durchschnittlichen Bürger (und Autor, Künstler etc.) betrifft das wenig.

Allerdings hat es zwei Punkte die nicht auf den ersten Blick einsichtlich sind. Zum einen die Schutzdauer, die mit “70 Jahre nach dem Tod des Künstlers” doch sehr hoch erscheint. Das erklärt sich aus der Internationalen Schutzdauer, die ebenso hoch ist. Allerdings nicht seit ewig. Bei der Einführung des Urheberrechts im 19. Jahrhundert war sie mal 20 Jahre ab dem Entstehungsdatum des Werks. Irgendjemand schraubt also diese
Schutzdauer kontinuierlich höher… Zum anderen die Ausnahmeparagraphen bezüglich des vermietens von Computerprogrammen, die 1996 überall eingefügt wurden.

Und da haben wir den Hund. Einen ganz dicken sogar, eigentlich eher ein Walfisch, oder möglicherweise auch ein Komet, so ein Bolide der das ganze Leben auf der Erde vernichten könnte wenn er einschlägt. Also ungefähr das equivalent dazu.

Warum? Schauen wir uns mal zuerst an was da im Urheberrechtsgesetz (URG)
steht:

Mit anderen Worten, wir haben eine ganz grosse Ausnahme bezüglich Computerprogrammen. Warum wir die haben ist leicht erklärt: Weil Software-Firmen in den USA auch das ausschliessliche Recht auf Vermietung von Computerprogrammen haben wurde das der Schweiz auch aufgedrückt. Man muss ja auf internationale Beziehungen achten.

Lizenz Lizenzen zu erstellen

Vermieten heisst in diesem Zusammenhang nichts anderes als “lizensieren”. Was wiederum bedeutet dass die Softwarefirma die Lizenbedingungen diktieren kann, die durchaus nicht mit dem Rest des URG kompatibel sein müssen. Man vermietet also, mit Lizenzen zu variablen Bedingungen. Wenn man sich überlegt was man denn alles in solche Lizenzen packen kann, beginnt einem der Kopf zu wackeln. Genau da haben wir den Walfisch.

Fangen wir mal an einem Ende an, nämlich der Produktehaftpflicht.
Der “ENDBENUTZER-LIZENZVERTRAG FÜR MICROSOFT-SOFTWARE” enthält folgenden Passus:

5.  VERZICHT AUF GEWÄHRLEISTUNG. MICROSOFT UND DEREN LIEFERANTEN STELLEN DIE SOFTWARE
    "WIE BESEHEN" OHNE GARANTIE AUF FEHLERFREIHEIT ZUR VERFÜGUNG. SIE UND LEHNEN ALLE
    ANDEREN GEWÄHRLEISTUNGEN UND BEDINGUNGEN, SEIEN SIE AUSDRÜCKLICH ODER KONKLUDENT,
    EINSCHLIESSLICH, JEDOCH NICHT BESCHRÄNKT AUF, (FALLS ZUTREFFEND) JEDE KONKLUDENTE
    GEWÄHRLEISTUNG IM HINBLICK AUF HANDELSÜBLICHKEIT, EIGNUNG FÜR EINEN BESTIMMTEN ZWECK,
    VIRENFREIHEIT, FAHRLÄSSIGKEIT ODER MANGELNDE FACHMÄNNISCHE BEMÜHUNGEN AB. ES GIBT
    AUCH BESTEHT EBENFALLS KEINE GEWÄHRLEISTUNG ODER BEDINGUNG VON RECHTSANSPRÜCHEN IN
    BEZUG AUF RECHTSINHABERSCHAFT, UNGESTÖRTERN NUTZUNGVERGNÜGENS ODER
    NICHTVERLETZUNG VON RECHTEN DRITTER. DAS GESAMTE RISIKO, DAS BEI DER BENUTZUNG ODER
    LEISTUNG DER SOFTWARE ENTSTEHT, LIEGT BEI IHNEN. 

Mit anderen Worten, Sie haben nach erstehen der Lizenz kein Recht auf auch nur einigermassen Fehlerfreie oder auch nur im geringsten funktionsfähige Software. Würden Sie eine Waschmaschine mit dieser Lizenz kaufen? “Ach, sie ist von Anfang an defekt, nun, dann müssen sie eben eine neue kaufen. Nein reparieren tun wir die nicht, Garantie gibts auch nicht”.

Tatsächlich ist dann auch wie zu erwarten war, der Zustand von Software miserabel. Katastrophal. Allein schon Fehler die die Benutzung und Benutzbarkeit betreffen sind gewaltig, aber nun gibt es auch noch Fehler die sich erst bemerkbar machen wenn man sie suchen geht. Und diese Fehler die man auch mit den besten Beta-Tests nicht findet, selbst nicht bei Programmen die bei normaler Benutzung nie abstürzen würden, diese Fehler können Sicherheitslöcher sein.

Wir können uns also nicht einmal darüber beschweren, niemanden zur Rechenschaft ziehen wenn unser Computer Opfer eines Angriffs wird. Wir können nicht einmal verlangen dass die bekannten Sicherheitlöcher repariert werden.

Und für die Firma rentiert es natürlich nicht im geringsten ihre Produkte auf Sicherheitslöcher zu prüfen, oder sichere Programmiertechniken zu fordern. Erstens muss die Software wegen des Marktdruckes möglichst schnell zur Tür raus, und zweitens kann man ja die häufigsten Fehler nachher noch beheben. Wenn man will.

Also um das ganze in einen Satz zu verpacken: Die Möglichkeit Software zu arbiträren Bedingungen zu vermieten führt zu Softwarefirmen die keine Verantwortung wahrnehmen müssen, was wiederum zu fehlerhafter Software mit Sicherheitslöchern führt. Wir haben ein Problem.

Das Problem an sich ist hier nicht die Klausel der alleinigen
Vermietbarkeit, sondern eine fehlende Produktehaftpflicht. Weil vermieten können wir ein Programm ja auch sonst, und arbiträre Bedingungen in Lizenzen aufstellen (Wie zum Beispiel ein Verbot der Weitervermietung) ebenfalls. Vorallem dann wenn wir der einzige Hersteller eines bestimmten Produktes sind, und der Markt sehr monopolbesetzt ist.

Auf der anderen Seite haben wir Lizenzen wie die GNU General Public License, GPL, die genau diesen Mechanismus benutzt um dem Konsumenten wesentlich mehr Rechte als die durch das URG zugestandenen einzuräumen, andererseits aber nicht mehr funktionieren wenn eine generelle Produktehaftpflicht eingeführt wird (Weil diese Programme von freiwilligen
Programmierern aus aller Welt programmiert werden, die Aufgrund der GPL wohl kaum je Geld dafür sehen werden und insofern auch für versehentliche Fehler nicht Haftbar gemacht werden dürfen, vorallem auch weil die GPL explizit Modifikationen durch dritte erlaubt).

Die ganze Situation ist etwas schwierig. Das “alleinige Vermietrecht” ist hier nicht Verursacher des Problems, kann aber auf anderen Ebenen zu Problemen führen (wie wir später sehen werden).

Das ist aber noch nicht alles was man mit Lizenzen tun kann. Nicht nur kann eine Softwarefirma sich aus jeglicher Schlinge ziehen, auch kann sie problemlos Delikte begehen die sich in rechtlichen Grauzonen befinden, zum Beispiel die Kompromittierung der Privatsphäre des Anwenders. Zur
Verdeutlichung dazu ein weiterer Auszug aus der Microsoft-EULA:

    Einschränkungen im Hinblick auf Zurückentwicklung (Reverse Engineering), 
    Dekompilierung und Disassemblierung.
    Sie sind nicht berechtigt, die SOFTWARE zurückzuentwickeln, zu
    dekompilieren oder zu disassemblieren, es sei denn, dass und nur
    insoweit, wie das anwendbare Recht, ungeachtet dieser Einschränkung,
    dies gestattet.

Damit verbietet der Hersteller im Prinzip dass man versucht herauszufinden wie seine Software funktioniert, kann also auch allerlei darin verstecken. Wenn es jemand herausfindet könnte man den eventuell auch noch vor Gericht ziehen um diesem den Mund zu stopfen. Zum Glück existiert in der Schweiz dazu ein Artikel, nämlich

  • URG Art. 21 Entschlüsselung von Computerprogrammen
    1 Wer das Recht hat, ein Computerprogramm zu gebrauchen, darf sich die erforderlichen Informationen über Schnittstellen zu unabhängig entwickelten Programmen durch Entschlüsselung des Programmcodes beschaffen oder durch Drittpersonen beschaffen lassen.

    2 Die durch Entschlüsselung des Programmcodes gewonnenen
    Schnittstelleninformationen dürfen nur zur Entwicklung, Wartung sowie zum Gebrauch von interoperablen Computerprogrammen verwendet werden, soweit dadurch weder die normale Auswertung des Programms noch die rechtmässigen Interessen der Rechtsinhaber und -inhaberinnen unzumutbar beeinträchtigt werden.

Wobei Ziffer 2 hier doch wieder sehr zurückkrebst und in vielen Fällen, gerade zum Beispiel wenn man sowas zum Zwecke von Sicherheits-Audits tut, eine grosse Rechtsunsicherheit lassen. Ich vermute die Interessen der Rechtsinhaber (oder mindestens die Auswertung) sind unzumutbar beeinträchtigt wenn man nachweist dass ein Programm eine konzeptuelle (nicht versehentliche) Sicherheitsschwachstelle hat? Oder was wenn
das Einkommensmodell der Firma identisch mit Verletzung der Privatsphäre ist, wie z.b. bei CueCat?

Und im übrigen, um wieder bei der Waschmaschine zu sein, verbietet ihnen der Hersteller Ihrer Waschmaschine ebenfalls diese auseinanderzunehmen? Oder darf ihr Waschmaschinentechniker (falls er nicht zur Firma gehört die
die Waschmaschine herstellt) diese ebenfalls nicht auseinandernehmen? Genau das kann man bei Software aber offensichtlich via Lizenz verbieten.

Es sollte sofort auffallen dass wir da ein sehr grosses Problem haben: Keine Haftbarkeit des Herstellers, gepaart mit einem Verbot das Produkt zu untersuchen. Die Auswirkung dessen für Sicherheit und Stabilität des Produktes, sowie die Privatsphäre des Benutzers lässt sich nur als Katastrophal bezeichnen.

Dies alles zeigt auf wie mit derartigen Lizensierereien heute umgegangen wird.

Die Zukunft

Momentan hängig in den EU-Räten ist die WPPT-Verordnung von 1996. Damit will die WIPO dieses “alleinige Vermietrecht” auf andere Werke ausweiten. Nach dem Willen der WIPO soll es bald auch für Texte, Bilder, Photografien, Musikaufnahmen usf gelten. Auch in der Schweiz ist eine Anpassung des URG an die WPPT durch die
Parlamentarische Initiative 00.444 geplant.

Der Gefährliche Teil darin geht um:

"The Treaty obliges the Contracting Parties to provide legal remedies against the circumvention of technological measures (e.g., encryption) used by performers or phonogram producers in connection with the exercise of their rights and against the removal or altering of information, such as the indication of certain data that identify the performer, the performance, the producer of the phonogram and the phonogram, necessary for the management (e.g., licensing, collecting and distribution of royalties) of the said rights ("rights management information"). 

Peter Keel,

2000

Competition and the Microsoft Case

Thursday, November 25th, 1999

If one thing Microsoft is accomplised, it is a demonstration on how our
current patent- and copyright-laws can be misused and how inadequate
they are.

So the question is how do we fix this. A breakup of Microsoft into smaller
Nanosofts probably won’t do the trick. After all, the same principles still
apply. So there is obviously a need to further restrict Microsoft on
misusing monopoly-power, like:

  • Force Microsoft to open their document formats
  • Force Microsoft to open their protocol-specs
  • Force Microsoft to open their API specs. All of them
  • Force Microsoft to license the Windows-Source to whoever wants it.
  • Leverage other OS-manufactors to get access to hardware drivers

When there are hundreds of documented and more or less open document-formats out there (XML, HTML, SGML, roff, Postscript, RTF, TeX, only to name a few), how dares Microsoft NOT to release the specs for its document-formats? Or only to release them under NDA (Non-Disclosure Agreement)? Other formats like the ones of Wordperfect or Applixware are documented; no problem. Such a politic of sitting on the specs can only have one purpose: Deny competitiors the possibility to make their programs read these document-formats. Probably, as here in the Microsoft-case, they can be used to effectively extort competitiors.

The answer to this is simple, don’t allow anyone to use a document-format which is not fully documented or available in source-code. After all, its a document-format, not a program on which could be said that it contains trade secrets. Furtheron, I’d recommend that it is made impossible to patent such a thing; otherwise it would still be possible to lock out competition, particularly the free software community. An example is the patent on the LZW-algorithm used by .gif-images.

The same as with document-formats goes with protocols. Withelding the protocol-specs from the public only serves the misuse of a monopoly. The solution is relatively simple, as already demonstrated by the IETF (Internet Engineering Task-Force) and the W3C (World-Wide-Web Consortium): Require a free and open-source implementation (preferably BSD-Style license) in order to make a protocol a standard. This should apply to all networking-protocols not exclusively used by games (It makes no sense to force game-programmers to make a free-implementation of their protocols since it would mean effectively open-sourcing the whole game because it will probably be the only implementation of such a protocol to ever exist).

Open the API’s (Application Programmer Interfaces). This isn’t as easy as the ones above. How do you really control whether a company has withheld you parts of its API? You probably would need the source-code to it, but then you’re probably bound by an NDA and can’t even tell the public that there are undocumented API’s. The best possibility to avoid this problems is the next point.

Force the companies to license the source of (at least) operating systems to everyone. So everyone can see whats’ going on, where the API’s are, and so on. Of course, in order to make this a feasible option for the affected company itself, it must be possible to put this under an NDA and probably charge money for it. If a fee is to be allowed, a maximum sum has to be specified. This sum and the NDA have to be the same for all companies and individuals wanting to license the source code.

The last point is somewhat tricky, since it would necessary that every hardware-manufactor either a) provides drivers for every operating system out there b) releases detailed specs or c) releases its drivers open-sourced. The Problem here is that in order to fight a monopoly of some specific company, thousands of other companies need to be “regulated” as well, but I guess this shows the problem of copyrights in the whole.
The point of the hardware-manufactors is that open-sourced drivers or detailed specs possibly allow to gain hints on the nature of the hardware, which is considered a trade secret. On the other hand, some free operating systems licenses do not allow the inclusion of proprietary non-free code or even binaries; effectively making writing drivers under NDA impossible; thus again leading to a delay in availability of drivers. However, several companies no longer consider drivers (effectively the API, not the “program” of hardware) to be trade secrets and freely open the specs or even provide open-sourced drivers. A possibility for law to close in would be to actively force hardware-developers to release specs, since some companies obviously have realized that these are not trade secrets. And if everyone has to do it, nobody can gain unfair advantage.

So much to bugfixes. But where do the bugs come from? The copyright and patents.

Both, copyright and patents were meant to stimulate innovation by giving the innovator the means to collect money for its inventions. A second consideration was that the body of innovations, arts and so on available to the public would grow. The idea behind the concept is that nothing gets done unless rewarded with financial gains. This is true in many ways, but has several problems with the implementation.

First off, duration. The longer such a right lasts, the more eager people are to get it. However, as soon as they have it, there is nothing to stimulate innovation. Disney has Mickey Mouse and has not felt like introducing new characters. Instead old stories (with expired copyright, by the way) are newly animated. Instead of being creative, the copyright allows to sit back and collect the tax. And it grows: When copyright was invented, a copyright-grant lasted for 28 years. Now its 75 years and some companies want it to even last longer.

Second, competence. This applies to patents. The patent office does not understand what they are doing. It was easy once, now it’s almost impossible to tell which patents are bogus or have prior art. The effort for doing such researches however will soon get tremendously big.

Third political lobbying, making it possible to patent algorithms. It was the most stupid idea there ever was to make it possible to patent algorithms. Effectively patents on laws of nature. This makes it possible to patent any method used in any software. How can a patent-office ever tell what should be impossible to patent? As a result, more than 4000 software-patents exist, most of them are bogus or trivial. And it hurts the software-industry enormously if they have to check 4000 Patents only to write a program. Nobody can do that, and so the patent-holders may sue anyone writing software at will, because it is almost guaranteed that he reinvents some of those methods. A particular example is the technique known
as Windowing, mapping parts of two-digit decimal years to either 20xx or 19xx. It has been patented in 1996, first use is at least in 1991. It’s moot, but you’ll have to prove it.

Forth, the assumption a patent is valid unless proven it is not. The opposite should be the case. The one who applies should be forced to prove that its patent is really the first time this particular idea gets invented, as far as it is reasonably backdate-able (in Computers, this would mean about 35 years). Since this will result in an unbelievable big effort for both the office and the applicant, a more simple solution is desirable.

Too bad its even possible to base a whole business on nothing but copyrights and patents, selling licenses for things someone else has innovated, probably some half a century ago. Copyright and patents as an end in itself.

Even worse, copyright and patents can be misused to effectively kill innovation. With Lawsuits regarding copyright-infringement, innovators which most often are small and do not have too much money, can be easily put out of business. Patents are even better in respect of killing off innovation, since you probably have a bogus-patent at hand which can be misused for this.

The consequences out of this are that copyrights as well as patents are totally inadequate to ensure competition and innovation. I propose the following to fix it.

  • Patents may last no longer than 5 years, after that, it’s all public domain.
  • Make it impossible to patent algorithms
  • Copyright lasts 30 years. After that, it’s public domain. This inludes software.

Conquistadores on the Internet

Monday, February 22nd, 1999

for Bartolome De Las Casas

The Internet, El Dorado! When the first people from europe arrived, they were astonished, looked around, saw what was and started building up something. Soon enough, word spread in europe that there were rivers full of gold in the new lands, and the mythic city of El Dorado, full of gold. So other people were sent out, not discoverers but konquerors, the “Conquistadores”. People who were only in it for the money…

The very same happens today with the internet, spammers only being the harmless part of the ongoing commercialization of the net. The real threat comes from the Conquistadores, people who come, see, don’t understand and destroy. Their weapons not swords but the law, sometimes carefully constructed on the political theatre in order to fulfill their needs, their motivation greed, the official reason of course not anymore to
“mission the heathens” but “to enforce copyright”. We’re talking of an industry which values copyrights more than producing something new.

Powered by self-righteousness, ignorance and greed, Pizarro went to the Incas, didn’t even realize that he could become the Inca himself (and thus gain much more wealth than he ever would have in service of Spain), destroyed everything and submitted the poor rest to Spain. A broken country, destroyed, raped of their culture. Hundreds of thousands of writings, pictures and statues destroyed, prospering cities besieged. South America hasn’t really recovered from this in the past 400 years. Now, conquistadores spot El Dorado in the internet, spot probable
violations of their copyrights and destroy, not realizing they could make a fortune by supporting the very people which probably infringe their copyrights. But no. Incapable of delivering what people really want they tinker around with their own unsuccessful sites; and whenever someone more successfully builds something up, they charge, send in hordes of lawyers costing more money than the “enemy” site ever saw. Effectively, it is possible due to sheer masses of money to “buy” cases in court. The actual case might be relatively unclear, but when attacked by someone who is willing to spend some hundred thousand “reales” in order to shut your site down, many companies and private sites retreat. They’re not even able to spend money for _one_ trial — if they would, and if they would win, the conquistadores would go to the next instance…

Most surprising in this whole case is the inability to see the profits but instead to wreak havoc on wherever happens to stand in the way — wherever they want to go, or wherever they don’t want to go. As mentionned, Pizarro had the opportunity to become Inca, that is, ruler of all Incas. He didn’t. He destroyed everything precious, melted the golden artwork and shipped it to spain. Of course, later on he was slain by his brother in arms. He had everything and lost it through greed and ignorance. The entertainment industry, for instance, does the same. Instead of realizing the endless possibilities of marketing made possible by fansites (well, the incas thought of the spain as something like gods…) they shut them down.

The List of dead bodys is long. AlienQuake, a Level for the popular game Quake modeled after the movie Alien was taken down by Warner, Dozens if not hundreds of fanpages for the Simpsons, Millenium and the X-Files were taken down by 20th Century Fox, lyrics pages were taken down by Warner and Chapell, StarTrek Fanpages were taken down by Viacom/Paramount; another score by Warner was the taking down of several Babylon 5 fanpages,
in turn Harry Fox Agency took down the Online Guitar Archive (OLGA). Of course, this goes not only against fans but (for instance) against musicians as well. Billy Idol, the Beastie Boys and Public Enemy have all been forced to remove MP3’s of their songs from their webpages. Symbol has been warned beforehand.

Not only movies and music are involved, but the printing press as well, though not as aggressive. But the copyrights for artistic works which last for 70 years after the dead of the artist speak for themselves.. On a related note is Disney now up to (which means the US-congress is up to) lengthen the life of copyrights from 75 to 90 years since they would loose copyright on some famous Disney-characters in 2003.

Shutting down sites has not been the only destructive measure the Conquistadores wanted to take. In the recent DVD debate, they want to make sure their DVDs aren’t copied. Divx is one thing, country codes are another (do they really think DVDs could hurt the cinema business?), but far the worst is the idea of encrypting the whole thing. This is okay, but they actually tried to make any action and tool which could be used to reverse-engineer software copy-protection measures illegal. Evidently, they don’t trust their encryption (and have a good reason not to trust it: You can’t encrypt data for consumers without giving them the key to use it), and rather render
the whole computer security and antiviral research illegal.

What these corporations are doing is mass-destruction of internet culture, perverting copyright, trademarks and patents to something they were never meant to be.

The above lines have been written february 1999, since then the DVD- encryption indeed has been cracked, and the Motion Pictures Association of America (MPAA) has proven to be no lesser a conquistador than the Recording Industry Association of America (RIAA). People were sued for distribution of DeCSS, the utility to decrypt the DVD content scrambling system (CSS). They even tried to get an injunction against people who linked to DeCSS. So we got a new all-star hitparade
of conquistadores: Disney, Sony, MGM, Paramount, 20th Century Fox, Universal Studios, Warner Bros, EMI, Polygram, and of course, Francisco Pizarro, Hernan Cortez, Vasco Nunez de Balboa, Diego de Almagro, Hernando deSoto and Panfilo de Narvaez.

Links and References

Dead Bodys

General Information about sites which were shut down

  • OpenDVD.org — defending against the DVD-CA madness
  • 2600 — Also charged because of spreading DeCSS; now heavily attacking MPAA.

Open the Sources

Wednesday, January 1st, 1997

Don’t give in to the Dark Side

There is a growing pool of software, originally written for MS-DOS, which now
becomes more and more impossible to run. People maybe liked a certain program
or used it for their hobbies, but now, they have another Operating System, and
they don’t want to use DOS or to reboot just to use this peace of program.

This, of course, happened to me with roleplaying-related programs when
I switched to Linux. I only use DOS for playing computer-games, and I only
boot it when I am sure that I will need it for an hour or more. Surely not
for using some DOS program which probably even runs on the commandline.

So there goes the solution: Recompile it. Simply. If there is a source, I
normally do that, and so I’ve got quite a collection of programs which I
ported from DOS to Linux. And so, I’d like everyone to tell:

Release your Sourcecodes!

It doesn’t hurt you to release a source-code of some program you wrote
five years ago. There is plenty of possibility to recycle old sourcecodes,
even when they’re written in some weird language such as BASIC.

So I take a look now at some possibilities and quirks regarding different
programming languages, their implementations and their portability. Especially
in regard to Unix/Linux.

Where, please?

Todays standard is C. Or some variation of it like Objective-C or C++.
So the point is:

  • Port your Program to C if possible.
  • Make it run on another operating system.

We’re gonna use the GNU C-Compiler, because it’s one of the best, and it’s
available on nearly every platform (Unix, Windows NT, OS/2, DOS, only
to mention the most common ones).

GNU C or GCC comes in three different variations, as C-compiler, C++-compiler
and objective-C-compiler. And then there are some add-ons (or merely pre-
processors) which can translate pascal and fortran to C. So there’s no such
big problem translating fortran or pascal to C. So here we go examining some
compilers and how their code can be translated to GCC.

Note: You cannot normally use conio.h or dos.h for programs not running on
DOS. So this must be circumvented in some way.

What general problems are to expect?

  • Command-line based programs should easily be ported. Problems can arise
    out of different length of data-types.
  • Character based programs using console io might give some troubles. The
    problem most often encountered will be that other operating systems do
    not allow direct manipulation of their console. This appears with conio.h
  • Graphically enhanced programs really aren’t easy to port. Instead of using
    language-specific or self-programmed graphic enhancements, svgalib must be
    used. This can be as difficult as rewriting the whole program from scratch.

What problems are to expect using specific languages?

C

  • DJGPP – The GNU-C for DOS, no changes necessary.
  • Symantec C – dos.h and conio.h, as well as makefiles
  • Turbo C – dos.h and conio.h, as well as makefiles
  • Borland C – dos.h and conio.h, as well as makefiles
  • Microsoft C – dos.h and conio.h, as well as makefiles
  • Quick C – dos.h and conio.h, as well as makefiles

Pascal

  • Turbo Pascal – dos.h and conio.h

Basic

  • GW or MS-Basic – line-numbering
  • Turbo Basic
  • Quick Basic

C Problems

dos.h

This one defines variable types and FAT-filesystem-specific things. Problems
can arise out of different lengths of data types (16 vs 32 bits).

conio.h

conio.h (console i/o) does not exist on Unix. There is a port of conio.h,
but this shouldn’t be used. Instead, ncurses.h or curses.h should be used.

Peter Keel,

1997-01