Re: [fpc-devel] regarding RTTI unit mail

2010-08-29 Thread Daniël Mantione



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

2010-08-29 Thread Marco van de Voort
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

2010-08-29 Thread Dimitri Smits

- 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

2010-08-29 Thread Hans-Peter Diettrich

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

2010-08-29 Thread Hans-Peter Diettrich

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

2010-08-29 Thread Marco van de Voort
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

2010-08-28 Thread 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?

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

2010-08-28 Thread Daniël Mantione



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

2010-08-28 Thread Hans-Peter Diettrich

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