From simon.urbanek at r-project.org  Tue Oct 11 19:41:37 2011
From: simon.urbanek at r-project.org (Simon Urbanek)
Date: Tue, 11 Oct 2011 13:41:37 -0400
Subject: [Rd] how to make a true binary package?
In-Reply-To: <1318352963569-3895262.post@n4.nabble.com>
References: <1318350794267-3895117.post@n4.nabble.com>
	<4E947232.70301@gmail.com>
	<1318352963569-3895262.post@n4.nabble.com>
Message-ID: <38F19D98-1709-462C-AA32-A294F39E92B2@r-project.org>


On Oct 11, 2011, at 1:09 PM, A Zege wrote:

> OK, gentlemen, i agree with you in general. I was not talking about a general
> purpose, general use package that one prepares for CRAN. I am sure you are
> familiar professionally or can imagine situations where you need to
> demonstrate a solution to a specific task without fully disclosing the
> details -- sometimes even hard core open source adherents need to sacrifice
> desire for openness for some prosaic purposes, like getting paid :).

Those are fairly disjoint concepts - open source doesn't mean you can't get paid. Also the fact that the source is accessible doesn't mean that it is legal for someone else to take it - you define what you allow in the license. Note, for example that Java bytecode can be easily disassembled into readable Java source form and yet there is a lot of commercial software written in Java.


> Compilable languages give an easy solution of a binary code. It sounds like
> if one wants true binary, he has to recode in C++. I thought it's possible
> in R as well, i thought this was discussed even as a default behavior for
> next version of R to make stuff go faster. Maybe not. Thanks, anyway.
> 

You can compile the functions and strip the source code from the bytecode objects. Such a thing can be serialized without revealing the original source code. However, you can still de-compile it, and R doesn't guarantee that such stripped objects will continue to work, so your mileage will vary and you may want to check if it's what you want.

There are obvious other ways you could use that are much simpler - such as encrypt your sources. Nothing is completely bullet-proof, it's just a matter of how much work it requires to break whichever method you choose.

Cheers,
Simon



[Rd] how to make a true binary package?
Simon Urbanek