[erlang-questions] A PropEr announcement
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.)
More information about the erlang-questions