I wish the Delphi command line compiler were free

I’m a big user of console tools/utilities and over the have years written my fair share nearly all of which were written in Delphi. I’d love to see CodeGear release the Delphi command-line compiler and RTL like what was done in the past for Borland C++ command line tools. Of course, I’d want it to include a broad license for strictly console based applications.

Truth be told, this isn’t a new post, I wrote months ago while still working at CodeGear. At the time, I decided against posting it but my feelings haven’t changed and when I found myself tweaking one of my command line tools it reminded me of this entry so there you go…

Btw, congrats to my friends at CodeGear for getting Highlander out the door!

38 thoughts on “I wish the Delphi command line compiler were free

  1. Yes, those compilers, dcc32, dccil, bcc32 should be free some day because we already have free C#, VB.NET, and Chrome Pascal compilers and runtime.
    But I remember once Nick Hodges answered "why there is no free compiler" in Delphi Hour about the Turbos, with "they are just too precious". CodeGear is still not strong enough to release something free. And if we keep supporting it, one day things may change.

  2. Did you ever try the free pascal compiler? It is pretty good at compiling Delphi code. Should be perfect for command line stuff.

  3. Li,
    I think holding the compiler so tight has only served to suffocate the language. I’d advocated internally shipping a free command line compiler for a long time.
    I haven’t tried the Free Pascal compiler for a number of reasons including the fact that it’s RTL/FCL violate Borland/CodeGear’s copyright. I’ve looked at the code closely and IMO copyright issues abound.

  4. That sound pretty serious. Did you find actual Borland/CodeGear code in the FreePascal RTL/FCL (meaning that someone copied it from Delphi) or do you think it violates CG copyright because it matches Delphi VCL too closely in general? If the former you may want to notify them as I am sure they want any copyright violating code removed as soon as possible.
    Anyway I hope FreePascal does not go away as it is the most viable option to get Object Pascal running on other platforms (numerous customers have asked for a OS-X port of our software). Unfortunately, OS-X GUI development does not work with FreePascal either, but at least they are working on it.

  5. Jan,
    I’ll clarify. It’s my personal opinion the RTL/FCL is in violation of Borland/CodeGear source. Upon inspection I found clear instances where code had been copied. Of course, doing an apples-to-apples comparison isn’t that straight forward because of formatting changes, variable name changes and in some cases looping structures changes not to mention the maze of include files. But basically, I think it would be hard to reach a different conclusion.
    If you’re relying on that code it’s probably worth some time to understand what if any risks are involved.

  6. That’s interesting to hear. A few months ago I bought a Mac and downloaded Lazarus. The whole include-file thing was a mess – it’s not a very Delphi-style thing, in fact all of FPC and Lazarus is a bit disorganized and clumsy. One of the beautiful things about Delphi especially in the old days was how simple and clean it was, and my feeling is that if I want to use Lazarus I might as well use another language with better native support, because it seems to copy some of the library interfaces but very little of the spirit, which is what is important (to me).
    > "because of formatting changes, variable name changes and in some cases looping structures changes"
    That sounds like someone’s gone to bit of effort to obscure their copying. Or, is it possible it really was independently written? There probably are only so many basic ways to write a TList or TAction, for example, especially when you’re trying to preserve the same interface.
    I was thinking of trying to work on the Cocoa or Carbon support for the LCL, purely out of self interest since I want a Delphi-like environment natively on my Mac, and if it’s supported well enough Lazarus could run natively instead of through QT and X. From what you say thought, getting involved in this might not be such a good idea.

  7. Hi David,
    I’ve looked pretty closely at the source as about 5-6 months ago and I honestly can’t understand the organization. In my mind it does appear to be a "security through obscurity" kind of approach though there are certain parts that are unmistakably copyright of Borland one example being the the threading support.
    It’s interesting you mention TAction and I suppose one might argue that that’s the only obvious way to solve that problem. Although the issue of dynamically controlling a UI has been implemented in many different ways (Turbo Vision, MFC, OWL to name a few) but TAction is a design unique to Delphi and highly specific to the Borland VCL and I’d doubt it would be considered obvious.
    Lazarus (the IDE) is another issue particularly if I’m correct in my assessment of the FP RTL/LCL in that the Borland license agreement prohibits development of technology which would compete with Delphi. Of course, INAL but I definitely think the whole thing is on very shaky legal ground regarding copyright.

  8. The FPC team does everything it can to avoid copyright issues.
    If you look at their site you will notice that downright copies of Borland or Codegear code are REFUSED with strong warnings.
    As I am an expert on both Delphi’s RTL/VCL and FPC’s FCL, I am curious if you can provide me with some (as you state you have many) examples of what and where the FPC libraries violate Borland code (other than code that is in the public domain in the first place and could never be copyrighted by Codegear – or Borland – in the first place. If you can, I’ll see to it the FPC team knows about it and it will be removed.
    As I stated: the Freepascal team does everything in its power to avoid copyright issues and even penalizes/ignores "authors" if the plainly copy or even disguise and copy Delphi code.
    The community likes to keep it clean.
    Btw: I can show Borland/Codegear "borrowing" code from Freepascal as well, without mentioning source. (not much, but still: copies)
    I fear many developers are subject to including handy tricks in their own code. Mostly unintentionally.

  9. thaddy,
    I have to admit I find your comment a bit curious. Your mention of code that’s in the public domain and "inclusion of handy tricks" seem to elude to the fact you know exactly what I’m talking about. Regarding your public domain comment, in my reading of the following rules Delphi’s RTL/VCL isn’t even remotely close to becoming public domain:
    As for examples I specifically mentioned FCL’s threading support and also mentioned actions. In fact, another commenter brought up actions. Actions are a uniquely Borland/Delphi VCL solution yet the FCL has exactly that feature. Slight modifications to source code like changing a looping construct, renaming variables and/or breaking the source up into chunks doesn’t release one from violation of copyright.
    I’d suggest perhaps it might be good idea for Free Pascal to get an unbiased opinion on the issue. My review of the code was around the beginning of this year (2007) and at this point I’m no longer working in Delphi so I’m not in a position where it would make sense for me to go back and re-review the code.
    Lastly, out of curiosity I’d love to know what code Delphi has "borrowed" from Free Pascal. If it’s borrowed without attribution simply let me know I’ll get in touch with people at CG and get that fixed.

  10. I’m considering using FreePascal for a commercial project. Now I am wondering if that is such a good idea. If FreePascal becomes a target for Borland and the FreePascal project shuts down I would either have to only provide a Windows (after recompiling with Delphi) application or be forced to convert to another language if I still want to run my application on Linux. Not to mention the legal hassles I could incur for already distributed applications. Perhaps I should forgo Object Pascal altogether and use C++?

  11. Steven,
    I’d suggest doing your own review of the code. It’s not an easy task because the way the files have been carved up (for lack of a better word) but in a number of cases, in my mind, there were clear issues of copyright infringement. I know Borland is aware of the project and the issues as I did my review while still at Borland though I haven’t worked there for several months now and I have no idea where they stand on the issue.
    FWIW, Borland does have Kylix which would allow you to run your application on Linux so I’m not entirely sure that you’d run into a problem if you decided to go with Delphi.
    Good luck!

  12. Steve Trefethen, I hate to say this but you have absolutely no idea what you are talking about and your comments are extremely newbie. In addition, you are spreading FUD. You don’t understand the freepascal architecture and design desicisions because you’ve never done cross platform work. And when I say cross platform I mean not just linux and windows. I mean bsd, linux, winCE, win32, win64, Os/2, i386, Arm, etc.
    The files are ‘carved up’ using include files for multi processor and multi operating system support. If you had done your homework you would have found plenty of information why the freepascal include files are designed the way they are. For people with zero cross platform experience (read newbies) this is the first thing that they moan about when they come to freepascal. Then, when they get a clue, they realize that the freepascal project wouldn’t be possible to maintain without these cross platform include files.
    Delphi supports one platform and one CPU, and even if it supports Linux it is fairly easy to not use include files.. but you try IFDEF’ing 6 different processors and 20 different operating systems and your code will quickly look like absolute crap.. worse crap than include files.
    To be blunt: the carving up has nothing to do with hiding anything. You make yourself look like a donkey online. Some newbie advice for you: go to google.com and look up "inlclude files freepascal". Try the mailing list archives there are some conversations about it with Matt Emson or some other fool that has the same newbie problem as you.
    By the way, I’m not one of the freepascal team. And I’m sorry if my post is harsh and direct, but if you are going to rudely attack a community of developers with false information, then expect to be attacked back with factual information.
    If you can’t understand the freepascal sources and the include file design within it, then you should not be a programmer – you should quit and become an html designer or similar. In fact even that may not be a good idea since your ‘live comment preview’ on this blog locks up my 800mhz CPU.
    I have made my own derivative compiler using the sources and they are very well thought out – none of it is obscure. Anyone who thinks so is a pure newbie that needs to use google instead of kicking brown dirt up like a donkey. How much they paid you to spread this FUD is beyond me.

  13. FWIW, Borland does have Kylix which would allow you to run your application on Linux so I’m not entirely sure that you’d run into a problem if you decided to go with Delphi.

    Steve, come on, Kylix is way outdated, just try to compile a Delphi 2007 program with Kylix. Or try to compile with it to x86-64 machines.
    Also, I must mention to Steven J, that FreePascal is an Open Source compiler. If you need to patch or tweak the code to resolve any issue, you can, or can ask the community to do it for you. FPC is the only ObjectPascal compiler you can use for cross platform develompent right now, you have no other choise.
    I understand your worries, is a fact that Delphi is losing users. Not just from FreePascal, but from the whole bunch of technologies out there, so don’t attack FPC, at least it’s the only friend of cross plattform, native Object Pascal programmers right now.

  14. Lars,
    I’ll agree, your comment is harsh and completely, conveniently and not surprisingly skirts the copyright issue entirely. Btw, my statement isn’t false and was discussed with Allen Bauer and CodeGear legal council.
    FWIW, not that you care, I seem to recall back in the very early days of the FP compiler there were compiler issue(s) related to circular unit references or unit symbol resolution which led to the use of include files over interface sections contributing in part to the organization. IOW it’s not or wasn’t all related to mulit-platform support.
    My comment constitutes a call to action for a code review to find and fix issues which even Thaddy, who is a member of the FPC team, seemed to acknowledge exist. In the long run the FPC team will only benefit from such a review.
    You’re absolutely right regarding Kylix and I apologize for mentioning it as it’s no solution, it was a mistake. Thanks for calling me out on it.
    I too am concerned about the future of Delphi and Pascal, I spent too long working on them not to be. Borland’s stock price now down 38% since I left (June 28th ’07) which admittedly has nothing (and yet everything) to do with my departure doesn’t bode well.
    These days all my work is C# on .NET so I’m just an interested observer.

  15. Just a few remarks:
    – The include files have _nothing_ to do with uses sections or whatever. There were/are two reasons: first, years ago people had only slow connections and the connections to the fpc cvs server were slow as well, big source files were a pain to commit (cvs transmits the whole file when comitting) so we splitted them. With today’s connections and svn this is void, however, there are still overlefts from these times. Second: as said: multiplatform. And this is the only but important reason today.
    – Thaddy is not member of what one would call FPC Team
    – I’am not aware of copy&paste code from Delphi in FPC, at least not in the "base" rtl which is my domain. Of course, several code looks similiar. But simple procedures can often be done only in similar ways and then the code looks like being obsfucated. If there is such code, name it. Somehow this sounds like Darl McBride …

  16. @Steve
    This is like deja-vu to me. You sound just like Microsoft! [referring to the 235 copyright infringement by Linux – which they claim but to this day haven’t proven!] Complaining high and low about copyright infringement, but when asked to actually point to specific pieces of code the answer gets diverted. Jan and Thaddy explicitly asked you to come forth with examples of code that violates copyright and on both counts you failed to answer by giving specific examples. Just ‘threading’ is a bit vague! If you worked so hard at checking FPC for copyright infringement, surely you would be able to give a pin-point example??
    No, I’m not part of the FPC development team, but have contributed fixed. Trust me, both FPC and Lazarus take copyright infringement very seriously, so you will do everybody a favor if you can come forth with specific code segments breaching copyright, so the issue (if it exists) can be rectified. You can email me in private the code references and FPC version you used and I’ll gladly pass that information on to the FPC development team. Once I receive those, I’ll post here again to say thanks – otherwise everybody else can consider your statements FUD.
    As for the TAction component. No idea how the internal implementation looks like, but the whole idea of a TAction has been well documented as a design patterns (Chain of Responsibility & Command) way before Borland I’m sure. Borland probably based their design on those design patterns. You can read all about it in the Design Patterns book by the GoF. I’m sure Google will give you more sources to read.

  17. @Graeme,
    There are reasons that specific code segments cannot be divulged: namely to allow the lawyers greater flexibility in any future court case, and to make the threat of potential action as vague as possible.
    Whether or not IP infringements have taken place, is not really the issue. Steve Ballmer understood that it is more important for the threat of potential litigation to hang over an open source project than for that threat to be enumerated. Which might lead to the withdrawal of potentially offending code or worse, the opportunity for the defendant to prove no infringement. Refer SCO.
    No, the raison d’etre for these claims is amply illustrated by Steven J’s comments, above, where he expresses his doubts on whether it would be wise to use FreePascal on legal grounds.
    I also know of at least one commercial project which was halted most of the way through a port from the Delphi Code. This was directly attributed to this blog and some of the subsequent comments.

  18. Hot/open war between Codegear/Borland and FPC/Lazarus! Wow!!! CG, please put your energy into Win64, multi core, cross platform, language features, ….

  19. Disclaimer: Yes, I’m afilliated with FPC too, and I also work on the RTL mostly.
    I originally wanted to write the part already written by Graeme, the fact that the published interfaces (which can be easily derived by heaps of code using it on the net) reveal a lot about the structure. A stepwise refinement (some bugreport – bugfix iterations) get you pretty close. Since you already get the division into methods from the publically derived interfaces, the way to implement specially the relative simple classes is pretty trivial. Specially if you know the first version doesn’t have to be so bulletproof.
    Second, some of the parts you find proof (TList and TThread) are exactly the ones where I wouldn’t expect any problems. They were mostly done by battlehardened veterans, well aware of the issues, and one can simply download sources from various points, with a finely grained growing history spanning over 10 years.
    The first tthread, based on the CLONE call was horrible. (I spent weeks stepping the FreeBSD linuxator to find a rfork based equivalent for clone) Afaik there wasn’t even a windows implementation till after 2000. Yes, the Linux version came first, Windows only several iterations later. Then threadvars became available and it improved. Then somebody found the a first mechanism for synchronize() like behavior, then Jonas found it stuffed top till bottom with bugs and shuffled it several times again (together with Micha. I was sideways involved since I was debugging Indy 10, and ran into threading bugs left and right.
    Tlist pretty much the same story. The original was a wrapper around an array. Notifier support came years and iterations later.
    If there are problems with copyrights, they are in the fringe units. Of course we try to do everything we can to avoid this, but specially with these less well known units it could happen. IIRC maskutils was refused several times because people submitted the verbatim code with a few changes, same with fmtbcd. One time it even got committed a short time because the submitter had used the D3 code, which our cleanroom reviewer didn’t recognize.
    To be honest, for somebody who pretends to be so righteous, you are awfully fast with accusing people of Theft, without thorough research.

  20. Excuse me but perhpas i have misunderstood something. Delphi is closed source, FreePascal/Lazarus is open source. Then, how the hell can the FreePascal/Lazarus teams copy&paste code from Delphi? I think you made a mistake and wanted to say that Delphi copy&paste code from FreePascal/Lazarus. But since Delphi is written in C++ i doubt the code could be copy&pasted…. Can you explain a bit more your point of view Steve Trefethen?

  21. @Peter,
    As far as I am aware, there is no war.
    In point of fact, I would say that it benefits Borland/Code Gear to allow an introduction into RAD programming through a free framework like FreePascal/Lazarus.
    Let’s face it, when I bought my first Delphi 3 License in 1999, the standard edition was reasonably affordable. Subsequent editions have crippled the cheaper versions of Delphi with limitations on any rights of the programmer to distribute any program developed in Delphi. This makes it an extremely expensive proposition to buy a version of Delphi which is not fettered in this way. As a one man band, it is well out of my price bracket.
    The problem occurs when Steve starts disseminating FUD about "the fact that it’s RTL/FCL violate Borland/CodeGear’s copyright. I’ve looked at the code closely and IMO copyright issues abound." and "I found clear instances where code had been copied".
    These are very serious accusations, which cast great doubt on the integrity of the Lazarus/FreePascal team.
    Another commentator expresses his uncertainty about using the open source product on legal grounds and Steve encourages this by implying that Borland are about to pounce.
    So, although this all just started out when Steve posted in mid September and a few of his friends joined him in rubbishing FreePascal and Lazarus, (which they are perfectly entitled to do) it has already caused the cancellation of at least one commercial project, and, as such, it needs to be answered.

  22. Here is but one example among many I found: ExtractStrings from Delphi 7 classes.pas compared to the Free Pascal version from here.
    In the Delphi version I made three changes to make the comparison easier:
    – renamed local variable names to match FP version
    – added line spacing/wrap to match FP version
    – changed capitalization to match FP version (try -> Try)
    That’s it. Compare for yourself.
    Notice most, if not all, of the boolean logic of the FP version has simply been reversed and I can think of no good reason for that other than to obscure the code a pattern I found prevalent in the code I reviewed.
    This took me about 2 minutes to find and is as far as I’m going to go with re-reviewing this code. I have no interest nor do I have the proper versions of Delphi to do so. If you’re interested in doing you own review I suggest comparing the code to Delphi 4 & 5 specifically as I found later versions vary more dramatically.
    I’m sure some will argue there is no other way to implement ExtractStrings which, IMO, misses the point entirely.
    Trust me, I worked on Pascal too long not to want to see both Delphi and FP succeed. In fact, I raised the issue of supporting the FP project when I was a Borland employee.
    Lastly, I’m done with this thread, the tone and the name calling. Btw, comments on all my blog posts close after 60 days which means the end of the week for this post.

  23. @Steve
    Thanks for your time and comparison example. This is all I wanted and will pass this information on to the FPC development team.
    I definitely agree that competition is good and the market is big enough for both Delphi and FPC to play in.

  24. Good that we have an example now. Now we can look if your assumption of copy-paste-mange is true.
    First thing to do is, offcourse, look at the original code as it was implemented in Freepascal. That code is from may 2005, and contains several bugs, which are not present in the Delphi code you showed me. Those were fixed in september 2005 and april 2006.
    If what you state is true, some experienced opensource-developers should have taken the Delphi code. Deliberately mangled the boolean-logic (improved the handling of #13 and #10) and added three additional bugs. Then someone else fixed one of these bugs one year later. And a few months later some other developer fixed the remaining bugs?
    I was very curious when I saw you had an example, but for me it’s very clear now that you make all kind of wrong assumptions.

  25. Ok, once I’ll waste my time to show some facts, ExtractStrings is available on the net in at least three different forms with different licenses:
    modified LGPL like FPC (Zeos):
    unknown license (Sibyl):
    GPL (Borland):
    So why should one steal D7 code and obfuscate it? If he can take e.g. the Zeos code and improve/change it especially since the ZeOS code is marked {$ifdef FPC} so being written before FPC had ExtractStrings?

  26. to Steve:
    Your mention of code that’s in the public domain and "inclusion of handy tricks" seem to elude to the fact you know exactly what I’m talking about. Regarding your public domain comment, in my reading of the following rules Delphi’s RTL/VCL isn’t even remotely close to becoming public domain
    You are wrong.
    Delphi source may originally contain public domain code (it’s not prohibited). The fact that some public domain code is in Delphi source does not oblige others to avoid that code in their products.
    Here is but one example among many I found: ExtractStrings from Delphi 7 classes.pas compared to the Free Pascal version from here. … This took me about 2 minutes to find and is as far as I’m going to go with re-reviewing this code.
    While the example is dubious (in both ways: someone very lame could obfuscate and alter Delphi code, on the other hand, if you ask 20 normal students to write the procedure in a classroom [without access to internet/sources], it seems that they won’t avoid such a logic), it took more than 2 minutes of yours to find it: you were asked 17 sept. 2007, you answered 13 nov. 2007. In the middle of the time you wrote 5 messages, which were too long to fit into 2 minutes too.
    If it’s not clear, I am FPC/Delphi user, not developer (I prefer FPC, but have to use Delphi GUI, because Lazarus is far from working acceptably; Delphi is generally very slow and bug-ridden, but designing forms is easy).
    to Eduardo Morras:
    Delphi is not a common sense "open source project", but for many reasons it’s shipped with sources (at least some versions, like "enterprise" or something). It results, for example, in more profound debugging etc.

  27. Shame on you, Steve! Do not follow SCO’s steps, do not trash other people’s work and reputation without any hard evidence. It’s FUD all over the place. I wonder what are your motivations… you say you worked at CodeGear, maybe you have some stock yet? 🙂

  28. Please stop bashing Steven unnecessarily.
    The extractstrings example, though only 20 lines, has some merit, though I still resent the implication that it was outright copied from Borland source.. We are discussing what to do with it.

  29. { Kylix and Delphi Cross-Platform Visual Component Library }
    { Copyright (c) 1995, 2001 Borland Software Corporation }
    { This file may be distributed and/or modified under the terms of the GNU }
    { General Public License (GPL) version 2 as published by the Free Software }
    { Software Foundation and appearing at http://www.borland.com/kylix/gpl.html. }
    So what’s the accusation? That a GPL project used GPLed source code?
    (BTW, your Live Comment Preview really sucks. 100% CPU and and about two chars per second typing speed.)

  30. Vinzent: The RTL is not GPL.
    I don’t like the live preview either. Seems mozilla reacts badly to it.

  31. Steve,
    I read you have moved to C# on .NET. Shame on you!!! Is it the reason you have been quit your job at CG???

  32. Peter,
    I worked at Borland for nearly 15 years and it was simply time to move on. I enjoy learning new things and .NET provides no shortage of that. I’d also been coding predominately in Pascal for nearly 18 years and I’m enjoying the switch to C# and particularly all the new language features Microsoft has packed in.

  33. [I found clear instances where code had been copied. Of course, doing an apples-to-apples comparison isn’t that straight forward because of formatting changes, variable name changes and in some cases looping structures changes not to mention the maze of include files. But basically, I think it would be hard to reach a different conclusion.]
    In other words : "I found clear instances where a cat is a copy of a dog. Of course, doing an apples-to-apples comparision isn’t that straightfoward because of the differences in color, owner names, the way they walk and jump, etc… but i am sure (and i mean SURE) that they are actually the same source code that is not the same source code. Proof ? An UFO descended upon my house and the little small green guy said it."
    Of course, you dont have any single proof of what you talk, and this IN MY COUNTRY would cost you a nice lawsuit, but as people say : Talk is cheap.
    But, lets ask, Cui Bono ?
    Who can get benefict from your irresponsible cheap talk ?

  34. Just my humble opinion.
    I think Borland/CodeGear is suffocating the language and putting themselves out of business by not offering an **affordable** (not necessarily "free") option for people who love Delphi and want to learn, grow or sharpen their skills in it. The latest Delphi is nearly $400 for just the upgrade, and to purchase the full-up version you’re out nearly $1K! That’s almost double the price of a new computer! My wife would never let me spend a grand on a compiler! Get real!! They do have a Turbo Delphi "Explorer" line, which I thought was their equivalent to the old "Turbo Pascal" product line. Not true. This edition is so stripped down and padlocked that you can’t even write or install components in it!
    I only wish CodeGear would learn a lesson from Sun Microsystems. They offer a full-featured, robust development system (NetBeans), free of charge, that has everything you can do in Java. The result? A world full of people who can download and learn it for free, and become skilled Java developers. When companies want to pick a software system, they’re going to go where the skilled developers are. Consequently, they’re going to go to Sun for their hardware and software needs. Or, if they *must* spend the kind of money CodeGear is asking for, they’ll just go with Microsoft and use VisualStudio for its name and popularity. Borland Pascal and Delphi became popular when people could buy a full-featured product for $50 – $150, a price home users are willing and able to pay, and then take their skills to the marketplace.
    It’s interesting to note that when Delphi priced us "ordinary Joes" out of the market, Delphi jobs on Monster.com and Dice.com dropped from 11% to 0.8% of the market share. In the same time frame, Java maintained a solid 35% of the market share on job sites. Interesting!

  35. [Jorge,
    You’re a few days behind. Clearly you’ve neither reviewed the code nor read this post where the FP core team apologized acknowledging that I was right.]
    That isn’t what the post said. The developers apologized to you personally, and in my view correctly, for the personal attacks that you’d received.
    I wonder why you would choose to mischaracterise their comments.

  36. An update:
    The new release 2.2.2 has the disputed code removed, and the cut was made fairly wide (using a tool to identify candidates), and this has been merged to all currently live branches. This is also why it took so long.
    We have retired the old releases from our site. (rather than relicense, which could have been since all the disputed code was available under GPL via FreeCLX. This was deemed to confusing)
    Since nearly all public releases were affected by these disputed routines (most disputed routines arrived in one batch in 1998-1999, which was pre 1.0), this is particularly sad for some of the more odd ball platforms (like Atari) that are not supported anymore.
    Maybe in the future some attempt will be made to manually rebuild these with the replacement code, depending on hardware availability and manpower.

Comments are closed.