[erlang-questions] A PropEr announcement

Richard Carlsson <>
Thu Jun 16 15:39:12 CEST 2011


On 06/16/2011 02:59 PM, Joe Armstrong wrote:
> What a load of complete and utter nonsense - what does "are intimate
> enough mean" etc.
>
> What about systems that are non-deterministic? If I send a message to a
> black box
> and it tosses a dice to see if it will reply then surely this is not an
> "intimate communication"
>
> Black box abstract says that two systems are identical if their observed
> I/O behavior is identical.
> But if I open the black box and discover either one or two communicating
> things inside then
> the law is *different* since in the one case I do not have to consider
> the intimacy of the relationship and the
> other I do.
>
> The basic idea in object-oriented programming is *independent* objects
> communicating by
> message passing. Would a lawyer in a court of law have to decide if a
> collection of communicating objects
> constituted one program or many - what happens when you put them all in
> the same address space
> like smalltalk - is this one program or two thousand small programs each
> with it's own license.

Basically, yes, if it came to a court case, it would be up to lawyers. 
The little I know of law is that the kind of abstract, 
down-to-first-principles reasoning that we programmers like to entertain 
doesn't usually impress the courts. Law is pretty different, and is very 
much about intentionality - both the intentions of the lawmakers (even 
when the paragraphs aren't totally clear, there may be other background 
material, previous cases etc., that are used as guidelines), and the 
apparent intentions of the accused: it's hard to get away on an abstract 
technical point if it's rather obvious that you were trying to do 
something against the intention of the law - see for example the case 
against the Pirate Bay where the defendants were found guilty of 
"assisting in making copyrighted content available", even though they 
claimed they were only running a kind of billboard service and it was 
down to the users what they decided to publish on it.

When it comes to software and licenses, it all boils down to the 
question "did the defendant intentionally create program B in such a way 
that it builds on program A, without complying with the licensing terms 
of program A", and I don't think the defense "but it's all just objects" 
is likely to work. But the exact boundaries of how B may or may not 
build on A have never been extensively tried in court as far as I know, 
so there is definitely some uncertainty here. (And if they ever are 
tried, I pity the judge and jury who will have to listen through hours 
of geeky arguments about static and dynamic linkage, separate address 
spaces, marshalling, etc., and try to make any sense of it.)

     /Richard



More information about the erlang-questions mailing list