[fpc-devel] regarding RTTI unit mail
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
> 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