[julia-users] Re: Distribute a Julia application without exposing the cose

2015-11-09 Thread Lee Bates

>
> Hi Palli,
>

I have taken your advice and started looking at using Escher and a server 
(and possibly a virtual machine if the user requires the computations are 
done locally).

As for compiling the code; I have managed to compile a julia script that 
solves an LP using JuMP and Cbc (I hadn't switched from "using" to "import" 
for including the packages). However the executable requires a lot of dlls 
some of which are linked through a fixed location (eg. 
C:\...\WinRPM\deps\usr\x86_64-w64-mingw32\sys-root\mingw\bin\libCbcSolver-3.dll).
 
This makes distributing the executable difficult using the current build 
script.

Thanks for the advice.
Lee


[julia-users] Re: Distribute a Julia application without exposing the cose

2015-11-03 Thread Páll Haraldsson
On Sunday, November 1, 2015 at 2:49:35 PM UTC, Lee Bates wrote:
>
> I'm trying to distribute an application written in Julia without exposing 
> the code. I've tried using build_executable, however when using a Pkg 
> interfacing with code written in another language (Tk, Cbc) the process 
> seems to have errors I'm not capable of resolving.
>

Maybe it helps if you show the errors.. 

>
> I've also thought of creating a Pkg which contains the application and 
> compiling it (creating a ji file) using the precompile functionality. This 
> would require Julia to be installed on the user machine, but that doesn't 
> worry me. However, the compiled package doesn't work without the Pkg source 
> existing in the pkg directory. 
>
> Does anyone have any advice for distributing an application written in 
> Julia without exposing the source code?


Not really, only aware of what you are trying with build_executable.jl 
(note, only for 0.4 and later) and also possibly Julia2C might work.. I 
haven't tried either, the latter was made for 0.3 I believe by Intel, and 
has not been maintained I think, and might never have worked fully anyway..


It is futile to try to hide source code.. even for fully compiled 
languages. There are decompilers. There probably are no decompilers - yet - 
for Julia, but a little premature if there are not really compilers [for 
separate compilation, that work..].. :)

Your best bet would be not distributing code, e.g. have all or parts of it 
on the web as I explained in an answer on quora:

https://www.quora.com/How-do-I-stop-somebody-from-viewing-the-source-code-of-the-webpage-in-browsers/answer/P%C3%A1ll-Haraldsson


I would like to know how it goes with distributing Julia 
binaries/standalone (for other reasons..), but my interests now are getting 
the source to be open still to the user/working cross platform, with no 
hassle for users (installing Julia runtime). I wrote another post on that..

-- 
Palli.