[erlang-questions] A PropEr announcement

Ulf Wiger ulf.wiger@REDACTED
Thu Jun 16 08:43:23 CEST 2011

On 16 Jun 2011, at 08:30, Vlad Dumitrescu wrote:

> Hi,
> This kind of issues are worse than flame wars! :-)
> I have yet another point of view that increases the confusion: PropEr is mostly compatible with Triq and QuickCheck (there's a free older version).

Well, there is a version available in jungerl, but to my knowledge, it was not put there by the authors, and not actually intended to be free. Even so, one might consider it a lot less sensitive to copy that version than the later, proprietary, versions of QuickCheck.

"Inspired by QuickCheck" is the wording in the README, or more specifically:

"We have generally tried to keep PropEr's notation and output format as compatible as possible with QuviQ's QuickCheck, to allow for the reuse of existing testing code written for that tool."

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); even if it *had* been in line with EU copyright protections (which allow reverse-engineering for personal purposes, given that a legal copy has been obtained in the first place), publication of the resulting product is not permitted.

I don't know EU copyright laws well enough to know how this affects the legal implications of any PropEr license. I know that if someone would steal a physical item from me, by law I cannot simply steal it back; legal action is required.


This is the Wikipedia version of what the EU has to say about reverse-engineering proprietary software:

"Article 6 of the 1991 EU Computer Programs Directive allows reverse engineering for the purposes of interoperability, but prohibits it for the purposes of creating a competing product, and also prohibits the public release of information obtained through reverse engineering of software.[24][25][26]

In 2009, the EU Computer Program Directive was superseded and the directive now states:[27]
(15) The unauthorised reproduction, translation, adaptation or transformation of the form of the code in which a copy of a computer program has been made available constitutes an infringement of the exclusive rights of the author. Nevertheless, circumstances may exist when such a reproduction of the code and translation of its form are indispensable to obtain the necessary infor mation to achieve the interoperability of an indepen dently created program with other programs. It has therefore to be considered that, in these limited circum stances only, performance of the acts of reproduction and translation by or on behalf of a person having a right to use a copy of the program is legitimate and compatible with fair practice and must therefore be deemed not to require the authorisation of the right holder. An objective of this exception is to make it possible to connect all components of a computer system, including those of different manufacturers, so that they can work together. Such an exception to the author's exclusive rights may not be used in a way which prejudices the legitimate interests of the rightholder or which conflicts with a normal exploitation of the program."

I assume that reverse-engineering in order to form a basis for research could be said to be in line with the above*, but if the expressed purpose is interoperability with QuickCheck, it seems logical that one should choose a license that encourages future interoperability as well, e.g. by making it easy for Quviq QuickCheck to incorporate innovations from the PropEr side, and contributing back.

* Except the "prohibits the public release of information obtained through reverse engineering of software", which is a bit difficult to get around.

Ulf Wiger, CTO, Erlang Solutions, Ltd.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20110616/4c1b1771/attachment.htm>

More information about the erlang-questions mailing list