[fpc-devel] regarding RTTI unit mail

Hans-Peter Diettrich DrDiettrich1 at aol.com
Sun Aug 29 03:53:47 CEST 2010

Daniƫl Mantione schrieb:

> The EU software directive says a few words about this matter:
> "Protection in accordance with this Directive shall apply to the 
> expression in any form of a computer program. Ideas and principles which 
> underlie any element of a computer program, including those which 
> underlie its interfaces, are not protected by copyright under this 
> Directive."
> In other words: It is okay to copy the interface, but not its expression.
> Copyright is about creative decisions. For example the order in which 
> procedures, variables are declared are creative decisions and thus part 
> of the expression of an interface. If you make the same creative 
> decisions as the original program, you violate copyright.

I doubt that. It should be possible to compare interfaces easily, for 
completeness and version compatibility. In languages like C and C++ you 
can get hell when you change the order of elements, with interleaved 
#defines and #ifs (what's possible in Pascal as well).

An interface is a contract, and as such every translation *must* follow 
the original closely.

> Generally safe is the clean room approach: Someone who doesn't know the 
> Delphi source code implements it from documentation. This is 
> internationally considered best practise and can avoid discussions 
> wether it is a violation or not. If you happen to know the Delphi 
> sources, you have to be carefull what you write.

Documentation is known to not reflect the implementation properly, in 
all aspects. So another cleanroom were required, that documents the 
given *implementation*, in a way that allows to implement it in a 
different way or language.

> The EU software directive allows us to develop FPC in a reasonably safe 
> way, but the borders between independent implementation and copyright 
> violation unfortunately is not black and white.

The above formulation is almost a literal translation of the German 
copyright law (UrhG). The UrhG also allows to observe and even decompile 
a software, in order to make it interface with some other software 
("interoperability"). The only restriction: the results may not be 
disclosed. It would be interesting to get the full text of the EU 
directive, in order to find out more.


More information about the fpc-devel mailing list