Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

[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: > http://www.rebol.org/cgi-bin/cgiwrap/rebol/license-help.r > >And the template used to produce it is here: > http://www.rebol.org/library/public/license-descriptions.txt > >Thanks again, >Sunanda
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). Any comments? Brian Hawley