<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On 16 Jun 2011, at 09:01, Joel Reymont wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div><br>On Jun 16, 2011, at 10:43 AM, Ulf Wiger wrote:<br><br><blockquote type="cite">As far as I can tell, PropEr is an unauthorised reverse-engineering effort of the later commercial versions (the early version did not have shrinking or statem support, for example);<br></blockquote><br>How do you tell it's a reverse-engineering effort as opposed to a clean-room re-implementation?<br></div></blockquote><div><br></div>First of all, my intent was not to pass judgement (IANAL), only to point out that there are other legal subtleties regarding PropEr. But since the point of expressing an opinion is mainly to stimulate discussion, I dug into the legal text in order to try to answer your question.<br><div><br></div><div>The relevant EU legal text [1] says, under Article 4 - restricted acts:</div><div><br></div><div>"(a) the permanent or temporary reproduction of a computer program by any means and in any form, in part or in whole. Insofar as loading, displaying, running, transmision or storage of the computer program necessitate such reproduction, such acts shall be subject to authorization by the rightholder"</div><div><br></div><div>This seems to imply that if it happened as Kostis said - that they wrote PropEr based on available tutorials, articles and documentation, never having been in possession of a copy of the software, this will not constitute a violation of said directive.</div><br><blockquote type="cite"><div>Is QuviQ QuickCheck rocket science that requires decompiling bytecode?<br></div></blockquote><div><br></div><div>It doesn't have to be. It only has to fall under the laws regarding copyright protection.</div><div><br></div><div>"3. <span class="Apple-style-span" style="font-family: Tahoma, Verdana, Arial, Helvetica, sans-serif; font-size: 13px; ">A computer program shall be protected if it is original in the sense that it is the author's own intellectual creation. No other criteria shall be applied to determine its eligibility for protection."</span></div><div><font class="Apple-style-span" face="Tahoma, Verdana, Arial, Helvetica, sans-serif" size="3"><span class="Apple-style-span" style="font-size: 13px;">(Article 1)</span></font></div><div><font class="Apple-style-span" face="Tahoma, Verdana, Arial, Helvetica, sans-serif" size="3"><span class="Apple-style-span" style="font-size: 13px;"><br></span></font></div><div><font class="Apple-style-span" face="Tahoma, Verdana, Arial, Helvetica, sans-serif" size="3"><span class="Apple-style-span" style="font-size: 13px;">But the more difficult part is perhaps what parts are protected in the first place:</span></font></div><div><font class="Apple-style-span" face="Tahoma, Verdana, Arial, Helvetica, sans-serif" size="3"><span class="Apple-style-span" style="font-size: 13px;"><br></span></font></div><div><font class="Apple-style-span" face="Tahoma, Verdana, Arial, Helvetica, sans-serif" size="3"><span class="Apple-style-span" style="font-size: 13px;">"2. 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."</span></font></div><div><font class="Apple-style-span" face="Tahoma, Verdana, Arial, Helvetica, sans-serif" size="3"><span class="Apple-style-span" style="font-size: 13px;"><br></span></font></div><div><font class="Apple-style-span" face="Tahoma, Verdana, Arial, Helvetica, sans-serif" size="3"><span class="Apple-style-span" style="font-size: 13px;">A possible interpretation of this is that releasing any implementation that almost perfectly emulates the API of a protected program *does* violate the directive, much as a reproduction of a painting would. What is hard to reconcile is whether it is still infringement if the copy was made without ever having been in possession of the original. :)</span></font></div><div><font class="Apple-style-span" face="Tahoma, Verdana, Arial, Helvetica, sans-serif" size="3"><span class="Apple-style-span" style="font-size: 13px;"><br></span></font></div><div><font class="Apple-style-span" face="Tahoma, Verdana, Arial, Helvetica, sans-serif" size="3"><span class="Apple-style-span" style="font-size: 13px;">Presumably, this would also mean that the PropEr authors never used QuickCheck Mini - also a protected program.</span></font></div><div><font class="Apple-style-span" face="Tahoma, Verdana, Arial, Helvetica, sans-serif" size="3"><span class="Apple-style-span" style="font-size: 13px;"><br></span></font></div><div><font class="Apple-style-span" face="Tahoma, Verdana, Arial, Helvetica, sans-serif" size="3"><span class="Apple-style-span" style="font-size: 13px;">BR,</span></font></div><div><font class="Apple-style-span" face="Tahoma, Verdana, Arial, Helvetica, sans-serif" size="3"><span class="Apple-style-span" style="font-size: 13px;">Ulf</span></font></div><div><font class="Apple-style-span" face="Tahoma, Verdana, Arial, Helvetica, sans-serif" size="3"><span class="Apple-style-span" style="font-size: 13px; "><br></span></font></div><div><font class="Apple-style-span" face="Tahoma, Verdana, Arial, Helvetica, sans-serif" size="3"><span class="Apple-style-span" style="font-size: 13px;">[1] "Council Directive 91/250/EEC of 14 May 1991 on the legal protection of computer programs"</span></font></div><div><font class="Apple-style-span" face="Tahoma, Verdana, Arial, Helvetica, sans-serif" size="3"><span class="Apple-style-span" style="font-size: 13px;"><a href="http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=CELEX:31991L0250:EN:HTML">http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=CELEX:31991L0250:EN:HTML</a></span></font></div><meta charset="utf-8"><div><br></div></div><div>
<div>Ulf Wiger, CTO, Erlang Solutions, Ltd.</div><div><a href="http://erlang-solutions.com">http://erlang-solutions.com</a></div><div><br></div><br class="Apple-interchange-newline">
</div>
<br></body></html>