[REBOL] Re: Script Library Licenses
From: brian:hawley at: 18-Aug-2004 14:29
At 02:17 AM 8/17/04 -0400, Sunanda wrote:
>So if anyone can help with expanding the license descriptions and other
>details, please let me know.
>As a reminder, the web page is here:
>And the template used to produce it is here:
I think you should include a definition of concepts used in the
licenses that may not have an obvious analog in the REBOL world.
Here's my first stab at it - comment as you will.
BINARY (in the application or library sense): Any encapped,
compressed, encrypted or obfuscated script that was written
in clear code and then translated.
SOURCE: The REBOL or dialect source of a script; the code
that you write instead of generate.
LINKING, STATIC: Combining REBOL script or data into one
script, perhaps through a preprocessor, i.e. Prebol, the
Rugby packager, SLIM, etc.
LINKING, DYNAMIC: LOADing a script, or DOing a script that
makes changes to the REBOL environment that persist after
the script is done, such as setting a word or defining a
function. The script must exist as a separate file at run
time, or the linking is static. LOAD/LIBRARY is dynamic.
It may be that the script is strictly data-only, and thus
not linked, but be sure to clearly define what is data and
what is code. Keep in mind that dialect code is data to the
dialect processor, and thus not linked to the processor,
but dialect code can be linked to other dialect code. It
can be a little confusing, so remember your philosophy
classes and wing it.
CALLING EXTERNAL PROGRAM/SCRIPT: This encompases use of the
CALL, LAUNCH and BROWSE functions, and code that behaves in
a similar way, such as async-call. This can also include DO
of a script that doesn't set any words visible outside of
the script, or return any significant values (maybe just
unset!) - a script just done for effect, like a LAUNCH in
the same process.
DISTRIBUTION: Script posted to a rebsite, web site, script
library, yes. Script embedded in a web page for execution
by the REBOL plugin, yes. Execution on your server as a
service, no. Local utilities, no.
That's my best take on the concepts. I am not a lawyer, but
I have been programming for maybe 20 years, REBOL for more
than 5, and I have read a lot of licenses.
As far as I can tell, and assuming that you want to keep
your source proprietary (which I don't), this means that
the PD, BSD-like and such licenses are compatible with
encapping. All code can be CALLed as defined above, even
GPL code, but be careful of patent issues unless the code
is under the CPL or some such. LGPL code can be dynamically
linked as well, even by encapped binaries, as long as the
code is separate as mentioned above (perhaps as plugins).