[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