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.
DoDi
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel