[fpc-devel] copyright infringement in FPC code

Daniël Mantione daniel.mantione at freepascal.org
Tue Nov 13 23:51:14 CET 2007



Op Tue, 13 Nov 2007, schreef Marc Weustink:

> ik wrote:
> > On Nov 13, 2007 10:51 PM, Graeme Geldenhuys <graemeg.lists at gmail.com>
> > wrote:
> =

> [..]
> =

> > > Good news is that that's where the similarity ends (well in the units
> > > I checked). Importantly, the
> > > method bodies seem to be implemented differently, except for the very
> > > elementary methods.
> > =

> > What are the elementary methods ?
> =

> methods like:
> =

> TSomeObject.DoSomeNotify;
> begin
> if Assigned(FOnSomeNotify)
> then FOnSomeNotify(Self);
> end;
> =

> You cannot write this another way.

You can:

Tsomeobject.do_some_notify;

begin
 if Fon_some_notify<>nil then
   Fon_some_notify(self);
end;

The "algorithm" cannot be implemented in another way. That is okay, you =

don't have a copyright on your algorithm or ideas, but on the code as you =

have written it. So it is no problem that our implementation uses the same =

"algorithm".

The choice of algorithms, your style, your choice of identifier names, =

order of statements, choice of data types all contribute to the =

creativity. If a piece you write has sufficient creativity, it is =

protected by copyright. Copying copyrighted code and modifying it into a =

different style, changing identifier names doesn't change the copyright =

status, as there is still creativity of the original author left.

Now, a piece of code this size has little creativity in it, I consider a =

procedure like this uncopyrightable. Nothing I wrote above means your code =

is illegal and mine is legal, by the way. However, while the algorithm is =

the same, you should still carefully watch out for byte-per-byte copies.

Dani=EBl


More information about the fpc-devel mailing list