Notice: Possible copyright infringements in FPC code base

classic Classic list List threaded Threaded
32 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Notice: Possible copyright infringements in FPC code base

michael.vancanneyt

Hello,

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.
After someone found a tool to automatically compare source code bodies to look
for structural similarities, we improved its support for Object Pascal (it's in
svn now) and used it to compare all FPC RTL and FCL units with their Kylix 3
and Delphi 7 equivalents (in so far these exist).

This enabled us to find more cases where code may have originally come from or
be based on Delphi/Kylix code. All such identified routines of sufficient
complexity and/or likeliness have been or are in the process of being rewritten
from scratch using a clean room approach: by someone who is not intimately
familiar with the current implementation, and only based on documentation
written by other people. I am personally supervising this effort.

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.

As everyone knows, we nevertheless all try our best to avoid committing tainted
code, see e.g. the comments attached to the following bug reports:
* http://www.freepascal.org/mantis/view.php?id=7680
* http://www.freepascal.org/mantis/view.php?id=8248
* http://www.freepascal.org/mantis/view.php?id=9770

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

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.

Let one thing be clear, however: none of the code that you wrote yourself can be
affected by this issue, as long as this code is not based on the tainted code
(whereby "based" means "based on their source code"; it does not mean, a.o.,
deriving from a tainted class, or calling a tainted routine -- in these cases
your own code is clean). Simply recompiling your program with an untainted
version of FPC will automatically clear your programs of any taint as well.

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.

For the FPC Team,

Michael.

PS: for those interested, here is the preliminary list of tainted routines we
have identified. If you are aware of more cases, please let us know as soon as
possible so we can evaluate them and put them in the queue for re-implementation!

Classes:
* ExtractStrings
* TParser.TokenComponentIdent
* TParser.NextToken
* TReader.DoFixupReferences
* TReader.ReadCollection
* TReader.FindComponentClass
* TWriter.WriteComponent
* TWriter.WriteComponentData
* TWriter.WriteProperties
* TPropFixup.MakeGlobalReference
* FindNestedComponent
* GlobalFixupReferences
* GetFixupInstanceNames
* RemoveFixupReferences (RemoveFixups in Delphi),
* RedirectFixupReferences
* GetFixupInstanceNames (GetFixupReferenceNames in Delphi),
* RemoveGlobalFixup
* RemoveFixups
* TStringList.Grow
* TStringList.QuickSort
* TStringList.Find
* TCollection.GetNamePath
* TFPList.Assign (Kylix: tlist.assign)
* TFPList.Delete (Kylix: tlist.delete)
* TList.Extract

Strutils:
* SearchBuf
* DecodeSoundexInt

Varutils:
* DoVarClearArray

Math:
* MomentSkewKurtosis:

Zstream:
* Needs complete re-implementation (was taken from the net...)

Db:
* TDataset.SetFieldValues
* TDataset.DataEvent
* TDataSet.CalculateFields,
* TDataset.EnableControls
* TDataLink.CalcFirstRecord
* TField.RefreshLookupList
* TField.CalcLookupValue

Comctrl:
* HandleSafeCallException
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Notice: Possible copyright infringements in FPC codebase

Skybuck Flying
Delphi Compiler is written in C/C++ ?!? (Closed source)

VCL/RTL is written in Delphi ! (Open Source)

Bye,
  Skybuck.
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Notice: Possible copyright infringements in FPC codebase

Joost van der Sluis
Op dinsdag 20-11-2007 om 01:33 uur [tijdzone +0100], schreef Skybuck
Flying:
> Delphi Compiler is written in C/C++ ?!? (Closed source)
>
> VCL/RTL is written in Delphi ! (Open Source)

No. The VCL is written in Object Pascal, yes. But it's not open source.
Borland and CodeGear published the code, so that people can take a look
at it, to see how it works. For documentational purpose. And you can
change the code if you need to, but you still need a Delphi license if
you want to do that.

So the VCl and RTL are closed source, you may not use that code, unless
you have a license, then that license allows you a few things...

Joost

_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Notice: Possible copyright infringements in FPCcodebase

Skybuck Flying
Hello,

----- Original Message -----
From: "Joost van der Sluis" <[hidden email]>
To: "FPC-Pascal users discussions" <[hidden email]>
Sent: Tuesday, November 20, 2007 9:57 AM
Subject: Re: [fpc-pascal] Notice: Possible copyright infringements in
FPCcodebase


> Op dinsdag 20-11-2007 om 01:33 uur [tijdzone +0100], schreef Skybuck
> Flying:
>> Delphi Compiler is written in C/C++ ?!? (Closed source)
>>
>> VCL/RTL is written in Delphi ! (Open Source)
>
> No. The VCL is written in Object Pascal, yes.

Last time I checked object pascal was really old and Delphi added new
language features.

VCL surely uses new language features ?

So Delphi's VCL might be written in object pascal but is certainly updated
to use new Delphi language features ?!

> But it's not open source.

I like to think of open source vs closed source as: Viewable / Non-Viewable.

> Borland and CodeGear published the code, so that people can take a look
> at it, to see how it works. For documentational purpose. And you can
> change the code if you need to, but you still need a Delphi license if
> you want to do that.
> So the VCl and RTL are closed source, you may not use that code, unless
> you have a license, then that license allows you a few things...

Anyway the point being:

Delphi's compiler is written in C/C++ so at first glance Borland/CodeGear
cannot just copy code from the free pascal compiler.

I might learn concepts but then again Borland/Codegear/Anybody is probably
allowed to implement their own versions of these concepts unless there
patented or anything like that.

Which leaves maybe the RTL and VCL as a concern... here units might be
copied/interexchanged etc.

Free-Pascal-Compiler could eat itself into Delphi meaning:

Free-Pascal-Compiler becomes an add-on to Delphi, as an alternative
compiler.

This way Free-Pascal-Compiler does not need to re-produce every VCL/RTL
unit...

Could save lots of time.

Only drawback might be it's no longer a stand alone product ?

Also Borland/CodeGear has Turbo Delphi available for free... I don't know if
it comes with source code.

I wonder how CodeGear feels about sharing their RTL/VCL code with others
like free pascal.

Only reason for them not to do it is:

Try break compatibility.
Try to create extra work for free pascal developers etc.

So only evil reasons to not allow it.

Finally the RTL/VCL not even that great... some parts great, some parts
kinda basic.

I think it would be good to share in this department.

I think Delphi could benefit from a popular/good compatible free pascal
compiler as well, since free pascal compiler can do cross-compiling
something that Delphi's compiler can't do.

This could make Delphi a more extractive Development environment.

Steps:

1. Write code in Delphi IDE and Delphi's fast compiler.

Then when as good as done.

2. Switch to free pascal compiler for any cross compiling or alternative
compiler code checking or so ;)

And it would also take away the fear of some people that Delphi/Pascal might
die some day.

^^^ Good reasons for Borland/CodeGear to support free pascal compiler
compatibility a little bit ;) ^^^

Bye,
  Skybuck.

_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Notice: Possible copyright infringements in FPCcodebase

Tony Pelton
On Nov 21, 2007 7:07 AM, Skybuck Flying <[hidden email]> wrote:
>
> > But it's not open source.
>
> I like to think of open source vs closed source as: Viewable / Non-Viewable.

... and _that_ is where you are going wrong.

"open source" is a licensing term in these contexts.

By making source code viewable does not grant one a license to copy
it, in the same way that you can't photo copy and distribute a book.

An amazing number of people seem to be highly confused by this.

This is probably why projects like FreePascal get sideswiped by
tainted code on a too frequent basis.

Tony

--
X-SA user ? 0.5.1 is out !
XData 0.1 for X-SA is out !
http://x-plane.dsrts.com
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Notice: Possible copyright infringements in FPCcodebase

Graeme Geldenhuys-2
In reply to this post by Skybuck Flying
On 21/11/2007, Skybuck Flying <[hidden email]> wrote:
>
> Last time I checked object pascal was really old and Delphi added new
> language features.

Maybe you are getting confused with Pascal (the original one) and
Object Pascal and then in the last few years the Delphi language.

There was three versions of Object Pascal.  Apple, Turbo Pascal and
Delphi.  Most people only know the latter.  I think in Borland Delphi
v7, Borland started referring to the Object Pascal language as the
Delphi Language, but all prior versions of Borland Delphi it was
referred to as Object Pascal.

http://en.wikipedia.org/wiki/Delphi_(programming_language)


Free Pascal's implementation of the language is close to Borland's
Object Pascal. I would guess from v5 onwards.


Regards,
  - Graeme -


_______________________________________________
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Notice: Possible copyright infringements in FPC code base

Chris Kirkpatrick
In reply to this post by michael.vancanneyt


Michael Van Canneyt wrote:

> Hello,
>
>
> 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.
>
> For the FPC Team,
>
> Michael.
>
>
>  
On browsing through the code of
$FPCdir/packages/fcl-db/src/dbase/dbf.pas I came across the following
(line 20-22)

// If you got a compilation error here or asking for dsgnintf.pas, then
just add
// this file in your project:
// dsgnintf.pas in 'C: \Program
Files\Borland\Delphi5\Source\Toolsapi\dsgnintf.pas'

Should this be removed? Does it infringe copyright? Is it even useful?
Regards - Chris
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Notice: Possible copyright infringements in FPC code base

Marco van de Voort
> Michael Van Canneyt wrote:
> > Michael.
> >
> >
> >  
> On browsing through the code of
> $FPCdir/packages/fcl-db/src/dbase/dbf.pas I came across the following
> (line 20-22)
>
> // If you got a compilation error here or asking for dsgnintf.pas, then
> just add
> // this file in your project:
> // dsgnintf.pas in 'C: \Program
> Files\Borland\Delphi5\Source\Toolsapi\dsgnintf.pas'
>
> Should this be removed? Does it infringe copyright? Is it even useful?

dbf is Delphi + FPC buildable. This remark is just something related to
Delphi inter version compability. It's harmless.
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Notice: Possible copyright infringements in FPC code base

Michael Van Canneyt
In reply to this post by Chris Kirkpatrick


On Sat, 5 Jan 2008, Chris Kirkpatrick wrote:

>
>
> Michael Van Canneyt wrote:
> > Hello,
> >
> >
> > 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.
> >
> > For the FPC Team,
> >
> > Michael.
> >
> >
> >  
> On browsing through the code of $FPCdir/packages/fcl-db/src/dbase/dbf.pas I
> came across the following (line 20-22)
>
> // If you got a compilation error here or asking for dsgnintf.pas, then just
> add
> // this file in your project:
> // dsgnintf.pas in 'C: \Program
> Files\Borland\Delphi5\Source\Toolsapi\dsgnintf.pas'
>
> Should this be removed? Does it infringe copyright? Is it even useful?

No, this is not a copyright infringement; TDBF needs to compile with older
Delphi versions, and in Delphi 5 certain functions were in dsgnintf.pas,
a unit that should normally never end up in an end-user program.

Michael.
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Notice: Possible copyright infringements in FPC code base

captnjameskirk
In reply to this post by michael.vancanneyt
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?
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Notice: Possible copyright infringements in FPC code base

Michael Van Canneyt


On Tue, 15 Jan 2008, John Stoneham wrote:

> 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.

The initial accusations were published on a Blog of some former
Borland employee or afficionado. He contacted codegear, apparently,
and then a codegear official (Alan Bauer) contacted some of the
FPC team members by private email.

Prior to this email, but after the abovementioned discussion on the
blog, we had decided on an audit ourselves, and this yielded a result
of some 20-odd routines which are suspicious, and we decided to play
it safe and replace them.

All but 3 of these routines have meanwhile been recoded using a clean-room
approach. We are waiting for the last 3, after which a new release
will be made.
 
> > 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?

As far as I can judge:
They count on us to play things fair, and let us handle it to our
own judgement for the moment, but said that if we undertook no
action, they would take the necessary steps to protect their IP.
We have given them the initial result of our review (i.e. the list
of suspicious routines), and I haven't heard from them since.
As soon as we merge the clean-room implementation to the main
branch, I will inform them that this has been done.

Michael.
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Notice: Possible copyright infringements in FPC code base

Henry Vermaak
On 15/01/2008, Michael Van Canneyt <[hidden email]> wrote:
-- 8< --
> As far as I can judge:
> They count on us to play things fair, and let us handle it to our
> own judgement for the moment, but said that if we undertook no
> action, they would take the necessary steps to protect their IP.
> We have given them the initial result of our review (i.e. the list
> of suspicious routines), and I haven't heard from them since.
> As soon as we merge the clean-room implementation to the main
> branch, I will inform them that this has been done.
>

thanks for your explanation, i was curious what the progress on this
was.  are there similar infringements in the lcl that needs to be
replaced, or has this not been reviewed?

> Michael.

henry
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Notice: Possible copyright infringements in FPC code base

Michael Van Canneyt


On Tue, 15 Jan 2008, Henry Vermaak wrote:

> On 15/01/2008, Michael Van Canneyt <[hidden email]> wrote:
> -- 8< --
> > As far as I can judge:
> > They count on us to play things fair, and let us handle it to our
> > own judgement for the moment, but said that if we undertook no
> > action, they would take the necessary steps to protect their IP.
> > We have given them the initial result of our review (i.e. the list
> > of suspicious routines), and I haven't heard from them since.
> > As soon as we merge the clean-room implementation to the main
> > branch, I will inform them that this has been done.
> >
>
> thanks for your explanation, i was curious what the progress on this
> was.  are there similar infringements in the lcl that needs to be
> replaced, or has this not been reviewed?

The FPC team has not reviewed the LCL; Maybe the lazarus team has;
However, I have no news of this.

Michael.
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Notice: Possible copyright infringements in FPC code base

Jonas Maebe-2

On 15 Jan 2008, at 14:05, Michael Van Canneyt wrote:

>> On 15/01/2008, Michael Van Canneyt <[hidden email]> wrote:
>> -- 8< --
>>
>> thanks for your explanation, i was curious what the progress on this
>> was.  are there similar infringements in the lcl that needs to be
>> replaced, or has this not been reviewed?
>
> The FPC team has not reviewed the LCL; Maybe the lazarus team has;
> However, I have no news of this.

The tool I used to check the FPC sources is in FPC svn under utils/
sim_pasc and should compile with any C compiler under any *nix (and  
possibly also under Windows). See the file HOWTO-FPC.txt for how to  
use it. It has no problem with e.g. checking many include files vs a  
single unit.


Jonas
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Notice: Possible copyright infringements in FPC code base

captnjameskirk
In reply to this post by Michael Van Canneyt
On Jan 15, 2008 6:16 AM, Michael Van Canneyt <[hidden email]> wrote:
> The initial accusations were published on a Blog of some former
> Borland employee or afficionado. He contacted codegear, apparently,
> and then a codegear official (Alan Bauer) contacted some of the
> FPC team members by private email.

A google search turned up the blogger in question, and these two articles:
http://www.stevetrefethen.com/blog/IWishTheDelphiCommandLineCompilerWereFree.aspx
http://www.stevetrefethen.com/blog/CopyrightAndTheFreePascalProject.aspx

He worked at Borland for 15 years, and CodeGear the last couple of
those, but works for a new company now with 4 other ex-CodeGear
employees. Again, I'm late to the party, so this has probably already
been mentioned before on the list, but from some of his comments it is
apparent that he came to his conclusions as to the copyright issue at
the beginning of last year while still at CodeGear. I think it's
interesting that he never raised those issues then. It is also clear
that he has no clue about copyright law. It seems he believes that if
a unit does the same thing in the same way as another copyrighted
unit, there is a copyright violation somewhere involved. You can't
copyright an algorithm (and there's still an ongoing debate about
whether it's actually proper to patent one, although the USPTO does it
all the time now). But it doesn't help when someone is blowing smoke
into an already cloudy issue.

Judging from the posts in this thread, it does seem that the FPC team
found some code after their review that needed fixing, and I'm glad
that's mostly been finished. However, it does concern me that the LCL
team hasn't performed the same kind of in-house analysis on their code
yet. Until they do, I'm afraid this issue won't go away anytime soon.
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Notice: Possible copyright infringements in FPC code base

Mark Emerson

>Judging from the posts in this thread, it does seem that the FPC team
>found some code after their review that needed fixing, and I'm glad
>that's mostly been finished. However, it does concern me that the LCL
>team hasn't performed the same kind of in-house analysis on their code
>yet. Until they do, I'm afraid this issue won't go away anytime soon.

Please forgive my ignorance, but what is LCL?

Mark Emerson


_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Notice: Possible copyright infringements in FPC code base

Marco van de Voort
> >yet. Until they do, I'm afraid this issue won't go away anytime soon.
>
> Please forgive my ignorance, but what is LCL?

The visual classes libray of Lazarus.
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Notice: Possible copyright infringements in FPC code base

Tiziano De Togni
In reply to this post by captnjameskirk
John Stoneham ha scritto:

> apparent that he came to his conclusions as to the copyright issue at
> the beginning of last year while still at CodeGear. I think it's
> interesting that he never raised those issues then. It is also clear
> that he has no clue about copyright law. It seems he believes that if
> a unit does the same thing in the same way as another copyrighted
> unit, there is a copyright violation somewhere involved. You can't
> copyright an algorithm (and there's still an ongoing debate about
> whether it's actually proper to patent one, although the USPTO does it
> all the time now). But it doesn't help when someone is blowing smoke
> into an already cloudy issue.

I am pleased to read your competent opinion about this matter that I
consider very interesting and relevant (both the opinion and the matter).

Could you please tell me if there is a real chance that CodeGear asks
money for a concrete copyright violation to someone of the FPC or
Lazarus developers?

And in this case, how this claim could be performed?

thanks
tiziano
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Notice: Possible copyright infringements in FPC code base

captnjameskirk
On Jan 16, 2008 3:42 AM, Tiziano De Togni <[hidden email]> wrote:
> Could you please tell me if there is a real chance that CodeGear asks
> money for a concrete copyright violation to someone of the FPC or
> Lazarus developers?
>
> And in this case, how this claim could be performed?

Well, one interesting thing to note is that I do not know of a case
where a small code segment was sufficient to bring a copyright
infringement action, even if that code segment was a couple of hundred
lines long. However, this may be due to two factors: 1) such a
relatively small code segment is fairly easy to re-implement as
original code; and 2) this usually reflects only a very small fraction
of the entire codebase involved.

Point 2 is worth commenting on. This would be the equivalent of a
songwriter using a 4-note phrase from another song. US Copyright law
has recognized the impracticality (and indeed, undesirability) of such
a strict policy if it were to be enforced. The fact that a
several-hundred-thousand line codebase has even a few hundred lines in
common with another work is rather unremarkable from a legal
standpoint. However, that's not to say the plaintiff couldn't bring
such a suit; but filing a suit based on code fragment violations in
software is a fairly new concept, and it's largely been unsuccessful.
More frequently, software "infringement" suits are brought as patent
claims, not copyright, specifically because of the difficulty in
enforcing a copyright claim when only a small segment of code is
alleged to have been copied. (Copyright infringement claims usually
involve the copying of entire works, not tiny segments, and indeed the
Copyright law itself was written with that idea in mind.)

Copyright law is also fairly unique in that it provides for statutory
damages. What this means is that the plaintiff only has to prove that
an infringement occurred, they don't have to prove that they were
actually damaged by that infringement. Usually, in a civil suit the
plaintiff has to prove that they were actually damaged in some way,
and the judgment has to reflect the actual damages incurred. As
opposed to proving actual damages, US copyright law provides the
plaintiff with the option of requesting an award of damages which is
set by the statute itself, which is why this type of award is called
"statutory damages". The range is a fairly large, and it is in the
judge's (or jury's) discretion to set the actual amount, but the award
has to be in the range of $750 to $30,000 per work infringed. One
software program is considered one work, so it wouldn't matter is
there were several instances of copyright infringement involved within
the same program, there would still only be one work infringed upon
and only one award of damages (using FPC as an example, CodeGear
couldn't ask for (say) 30 separate damage awards if 30 units within
the FPC codebase contained infringing code, they could only request
one award of damages since FPC is considered one work). There is a
second, higher tier of damages, if the plaintiff can prove the
infringement was "willful", set at $150,000 per work. However, this is
very hard to prove. "Willful" has a legal meaning in this context, it
doesn't simply mean that the defendant *intended* to infringe upon the
copyright, which is almost always the case anyway. An example of
"willful" infringement would be a CD-pressing shop. If you burn a copy
of your friend's CD, you most certainly intended to infringe the
copyright. But the intent would only be considered "willful" if you
burned (say) 1,000 copies with the intention of selling them
(actually, even if you intended to just give them away -- profit is
not required).
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Notice: Possible copyright infringements in FPC code base

Graeme Geldenhuys-2
In reply to this post by Tiziano De Togni
On 16/01/2008, Tiziano De Togni <[hidden email]> wrote:
>
> Could you please tell me if there is a real chance that CodeGear asks
> money for a concrete copyright violation to someone of the FPC or
> Lazarus developers?

FPC developers approached them (CodeGear) and took it on ourselves to
solve the issue. We found a automated tool to help, listed the suspect
code and fixed it by rewriting the suspect code. CodeGear has nothing
to complain about as far as I can see!  FPC developers did not wait to
be reprimanded - they fixed it as soon as they found out about it.

Regards,
  - Graeme -


_______________________________________________
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
12