[fpc-devel] regarding RTTI unit mail

Daniël Mantione daniel.mantione at freepascal.org
Sun Aug 29 09:13:15 CEST 2010

Op Sun, 29 Aug 2010, schreef Hans-Peter Diettrich:

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

If the order of elements is enforced, it is not a creative decision, thus 
both programmers can make the same decision without violating each others 

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

Be happy an interface by itself is not copyrightable. If you read about 
the history about the software directive there was a big fight about this, 
because some companies like IBM wanted copyright to protect them against 
clones from the far east, while others actually wanted interoperating 
competing products.

But even though they are not copyrightable, you cannot verbatimly copy 
interface files. There is copyright on the expression of them.

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

No surpise here: All copyright laws of member states should be compatible 
with the directive, though many have skipped the wording about 
interfaces, but that does not matter a lot. You can the directive here:


Replace the EN in the URL in e.g. DE, NL, ... to read it in another 


More information about the fpc-devel mailing list