[fpc-pascal] Notice: Possible copyright infringements in FPC code base

John Stoneham captnjameskirk at gmail.com
Tue Jan 15 12:25:26 CET 2008


Sorry if I'm a little late to this discussion. I just wanted to let
you know that I am an attorney and have handled copyright infringement
cases in the US (most recently the SONY vs. Crain music piracy case).
As a hobby programmer and FPC/Lazarus enthusiast, I would be more than
happy to review, in my spare time and free of charge, any copyright
infringement notices that the team receives. My current position
forbids me from what's referred to as "the outside practice of law",
which means that I can't actually represent the team or write letters
on anyone's behalf or offer binding legal advice, but I *can* offer my
informed opinion as a member of the mailing list and fpc community who
happens to be an attorney familiar with copyright law in the US...

> The FPC team has been recently made aware that a number of routines in the
> Classes unit are apparently based on code originally from Borland/CodeGear.

Did the team receive a notice of infringement from CodeGear, or was
this just part of an internal review which was discovered by the team
itself? If anyone received any communication from someone at CodeGear,
please forward it to me so that I can understand their position a
little better.

> This whole issue highlights a quite annoying problem though: one the one hand,
> it is most certainly our responsibility to ensure that all committed code can be
> legally licensed under FPC's modified LGPL license, and in particular does not
> originate from Delphi/Kylix sources. On the other hand, we have to avoid reading
> Delphi/Kylix code as much as possible since by doing so, we may become "tainted"
> ourselves and unconsciously start writing code which is based too closely on
> Borland/CodeGear code.
>

> And yet, from time to time it nevertheless happens anyway:
> * http://www.freepascal.org/mantis/view.php?id=8661

Hmmm, it seems from the context that the original submitter may have
believed that the offending code here had been copied from the LCL
originally, but I may be mistaken. Anyway, this brings me to point out
two things that may not be obvious to someone unfamiliar with
copyright:
1) If the code was in fact used in a commercial "closed
source"-licensed work but that code had originally appeared in an
"open source"-style licensed work, the later license cannot add or
remove restrictions to the original code (it may only do so to new
code appearing in the same work, the original code is unaffected).
2) New code can be based on copyrighted code, as long as there is
sufficient originality in the new code. In other words, as long as the
code is reimplemented and not simply used verbatim, it is perfectly
fine to base new code on copyrighted code, it is even ok to follow the
original algorithm step by step (unless the algorithm is patented,
which is a completely separate issue entirely). The rule of thumb is:
if it looks copied, it probably was. On the other hand, simply
changing names used in the code is not enough, contrary to what some
people seem to think (names only account for a very small percentage
of the written code, so that changing all names used in a source file
only changes perhaps 5% or less of the text.)

>
> So this is one area where you, our users, can make a big difference and help us
> in preventing this from happening in the future, as well as with notifying us as
> soon as possible when it does happen (or when you know it happened in the past).
> Most importantly: please ensure that you *never* submit patches based on code
> copyrighted by third parties.

The fact that code may have been copyrighted by a third party doesn't
matter, only the license they used matters. A GPL-licensed work is
indeed copyrighted.

> We are in a constructive dialog with people from CodeGear over this issue, and
> will report back later on the repercussions as far as current and previous FPC
> releases are concerned.

Who originated this discussion (did CodeGear or their attorneys
contact you, or did you voluntarily inform them of the issue
yourselves)? And is this discussion fairly informal so far, or has
CodeGear indicated they have the intention of pursuing the issue
further, perhaps legally?



More information about the fpc-pascal mailing list