Re: [fpc-devel] regarding RTTI unit mail
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 copyright. 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: http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=CELEX:31991L0250:EN:HTML Replace the EN in the URL in e.g. DE, NL, ... to read it in another language. Daniël___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] regarding RTTI unit mail
In our previous episode, Dani?l Mantione said: 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 copyright. This sidestep thread over the EU directive misses the main point. Legal or not, the question is do we really copy interfaces straight from Borland source? Afaik not. At least I never did, I always looked up header definitions from places as Delphi.about.com ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] regarding RTTI unit mail
- Marco van de Voort mar...@stack.nl schreef: In our previous episode, Dani?l Mantione said: 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 copyright. This sidestep thread over the EU directive misses the main point. Legal or not, the question is do we really copy interfaces straight from Borland source? Afaik not. At least I never did, I always looked up header definitions from places as Delphi.about.com I doubt that site is going further then D7 in it's documentation. Is the following enough/too much/dangerous to start from? A nice tutorial/breakdown with a lot of stuff (read: interfaces definitions) in it can be found here: http://robstechcorner.blogspot.com/2009/09/so-what-is-rtti-rtti-is-acronym-for-run.html WARNING: official documentation on the web, from which one can deduce the interface(s) and how to use it. So don't read it if it taints you. http://docwiki.embarcadero.com/VCL/en/Rtti.TRttiProperty http://docwiki.embarcadero.com/CodeSamples/en/TRttiContextGetMethods_(Delphi) ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] regarding RTTI unit mail
Daniël Mantione schrieb: 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 copyright. How can one be sure that the arrangement is not required, somehow? ;-) 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. Competing products seem to have won, else FPC and Lazarus were illegal. But even though they are not copyrightable, you cannot verbatimly copy interface files. There is copyright on the expression of them. ACK. http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=CELEX:31991L0250:EN:HTML Thanks :-) I didn't know that the Directive is so old, and has become part of the German law almost literally. DoDi ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] regarding RTTI unit mail
Marco van de Voort schrieb: This sidestep thread over the EU directive misses the main point. Legal or not, the question is do we really copy interfaces straight from Borland source? Afaik not. At least I never did, I always looked up header definitions from places as Delphi.about.com How can you be sure that this information has been acquired and published in accordance to the law? But you are right, this is not the right place for a detailed discussion. Let's do our best, *not* to violate the rights of others... DoDi ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] regarding RTTI unit mail
In our previous episode, Hans-Peter Diettrich said: This sidestep thread over the EU directive misses the main point. Legal or not, the question is do we really copy interfaces straight from Borland source? Afaik not. At least I never did, I always looked up header definitions from places as Delphi.about.com How can you be sure that this information has been acquired and published in accordance to the law? I didn't claimed to. That goes for anything on the web btw, which is why I generally try Microsoft sources first, and see if I can derive it from that in combination with testing with applications. This doesn't go for everything but goes a long way. I also avoid using materials that I received under my Delphi eula, but try to use websources. That includes Embarcaderos, since I consider those published. I haven't researched every legal aspect of that policy, but I considered that an easier defendable position then trying to defy an agreed EULA first. Another murky subject is the docs (in CHM format and others) that have been (are?) available from Embarcadero FTP server. I never used those either, but partially that is also because Borland started posting docs online before it became necessary for me. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] regarding RTTI unit mail
Hi, (just hate it when you send something after re-reading it a few times, and a minute later you know that there is something important you forgot to ask) Since objectnames and interfaces are cloned from Delphi everywhere in the fpc-rtl, I was wondering if this is legitimate use and not a copyright violation? ie: the interface is the same, the implementation is different (unless trivial). Is this, or is this not an issue? kind regards, Dimitri Smits ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] regarding RTTI unit mail
Op Sat, 28 Aug 2010, schreef Dimitri Smits: Hi, (just hate it when you send something after re-reading it a few times, and a minute later you know that there is something important you forgot to ask) Since objectnames and interfaces are cloned from Delphi everywhere in the fpc-rtl, I was wondering if this is legitimate use and not a copyright violation? ie: the interface is the same, the implementation is different (unless trivial). Is this, or is this not an issue? 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. 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. 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. Daniël___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] regarding RTTI unit mail
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