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

Reply via email to