Page 1 of 2

Developing commercial software

Posted: Fri Aug 10, 2007 2:50 pm
by Fanda
Hello!
I am wondering about developing commercial software with newLISP. I would basically wish for:

1) closed source (no need to disclose the source)
2) encrypted source code (since newLISP is interpreted)
3) one simple package (executable with GUI, easy to make)

Any suggestions and ways, how to do it, are very welcome!

Fanda

Posted: Fri Aug 10, 2007 4:00 pm
by cormullion
Last month i tried using 'link' to create an executable of a script that would run on a system without a newlisp installation. It didn't contain any of the original script, at least that I could see.

Of course, my problem was trying to create a Mac-PPC binary on a Mac-Intel machine. But the principle might apply...

Posted: Fri Aug 10, 2007 4:25 pm
by Lutz
The way newLISP is licensed, it does not permit linking or packaging closed source with newLISP together.

You would have to distribute your closed source in a separate package. Users would have to install a newLISP distribution and then your closed source package.

Lutz

Posted: Fri Aug 10, 2007 7:17 pm
by cormullion
Presumably an installer could do both jobs seamlessly, such that the user doesn't really have to notice...? When I install MacOS systems, there's a license agreement for GPL stuff included, and I'm not really aware of that...
B. Certain software libraries and other third party software included with the Apple Software are free software and licensed under the terms of the GNU General Public License (GPL) or the GNU Library/Lesser General Public License (LGPL), as the case may be.

Posted: Fri Aug 10, 2007 8:22 pm
by Lutz
The situation is very different when distributing a closed source application which wouldn't function without the GPLd component, from distributing an OS as a collection many different components.

Mac OS X is based on open source Darwin, only the Carbon/Cocoa components are closed source. In case of vital components like the GCC compiler and Safari, which is based on the KDE open source Konqeror browser, Apple has made special arrangements with the copyright holders of those components.

Anybody thinking of distributing a closed source newLISP software application. Should carefully study all the info and FAQs available at http://gnu.org which give practical answers to most questions about applicaton of the GPL when mixing with closed source software.

Lutz

Posted: Tue Dec 04, 2007 2:52 pm
by jeremyc
Lutz, are you saying then, that it is against the license to distribute a closed source commercial app with newlisp?

Jeremy

Posted: Tue Dec 04, 2007 2:58 pm
by Lutz
You cannot distribute newLISP and your closed source application together. But you can distribute/sell you closed source application and let the user install newLISP from the binary installer available at http://newlisp.org/downloads.

See also here: http://www.gnu.org/licenses/gpl-faq.html

Lutz

Posted: Tue Dec 04, 2007 9:52 pm
by Cyril
Lutz wrote:You cannot distribute newLISP and your closed source application together. But you can distribute/sell you closed source application and let the user install newLISP from the binary installer available at http://newlisp.org/downloads.

See also here: http://www.gnu.org/licenses/gpl-faq.html

Lutz
As far as I can understand non-tech English, GPL explicitly disallows not only together distribution, but even distribution a closed source application alone, if it is designed to work with GPLed libraries and/or plugins. See the gpl-faq you have referred to, the question:

Can I release a non-free program that's designed to load a GPL-covered plug-in?

Lutz, is this what you are intended?

Posted: Wed Dec 05, 2007 12:15 am
by Lutz
A general purpose programming language is not the same as a plugin which typically has a specialized, vertical purpose and functionality.

It is more like an OS extension. E.g. Linux is GPLed but you can run proprietary closed source programs on it, just not distribute them together. This is the reason that Debian based Linux, like UBUNTU, do not ship closed source software together with their distributions.

For newLISP as a scripting language, I pretty much follow Larry Wall's comments regarding the usage of the GPL for the Perl scripting language:

"For those of you that choose to use the GNU General Public License, my interpretation of the GNU General Public License is that no Perl script falls under the terms of the GPL unless you explicitly put said script under the terms of the GPL yourself." see: http://dev.perl.org/licenses/

Lutz

Posted: Wed Dec 05, 2007 6:35 am
by HPW
I also needed some time to understand this in the past.

Anyway I always had the wish to get newLISP.dll under LGPL, to be able to distribute it with a commercial package.
(Avoiding a potential DLL-hell, because of potential incompatibilitys between versions.)
(So now you have to carefully do version/binary checking before using the installed DLL)

So wishes remains in live. ;-)
(Like cracking the current 43 Mio € jackpot of the german lottery)

Posted: Wed Dec 05, 2007 8:43 am
by Cyril
Lutz wrote:A general purpose programming language is not the same as a plugin which typically has a specialized, vertical purpose and functionality.
This question is discussed in GPL FAQ too. The application written in newLISP is not doomed to be GPLed. But the application written in C and using newLISP as a scripting language (consider a word processor or speadsheet using newLISP instead of Application BASIC) is. And this is sad.

Posted: Wed Dec 05, 2007 8:59 am
by Cyril
Lutz wrote:It is more like an OS extension. E.g. Linux is GPLed but you can run proprietary closed source programs on it, just not distribute them together.
This is wrong. You can distribute proprietary programs with Linux, and many vendors do. It is called mere aggregation in GPL. You can not, although, distribute a single program that contains both free and closed components. The concept of "single program" is somewhat controversial, and in GPL FAQ there are many examples of what is single program an what is mere aggregation. In particular, library linking (including dynamic linking) is clearly marked as being a single program. On the other hand, a program written in a scripting language and a language interpreter itself are clearly marked as two distinct programs, and you can ship them together even is one of them is free and other is closed.

Worse than, if two software components makes a single program together, and one of them is free, you are forbid not only to ship them together, but also to ship a closed component alone, if it is designed to work with free component (here and above "free" means "GPLed").

Posted: Wed Dec 05, 2007 4:07 pm
by Lutz
Anybody planning distribution of closed source software forming a program together with the newLISP should assume strict interpretation of the GPL at first, then consult a intellectual property (IP-) lawyer specialized in software, and consult me if modifications are desired.

Lutz

Posted: Wed Dec 19, 2007 5:20 am
by nigelbrown
Hi Lutz,
Am I correct in thinking that as you hold copyright for newlisp you could license a non-GPL version (for some consideration if desired) to Fanda for use as he describes if you chose to?
as in
"I would like to release a program I wrote under the GNU GPL, but I would like to use the same code in non-free programs.
To release a non-free program is always ethically tainted, but legally there is no obstacle to your doing this. If you are the copyright holder for the code, you can release it under various different non-exclusive licenses at various times" at http://www.gnu.org/licenses/gpl-faq.htm ... erGPLAndNF

Regards
Nigel

Posted: Wed Dec 19, 2007 7:16 am
by HPW
Interesting question!

A LGPL-licence for the DLL or a personel non-GPL version license would get definatly my interest.

;-)

Posted: Wed Dec 19, 2007 12:44 pm
by Lutz
Yes, multiple licenses are possible in principle. Some open source projects follow this strategy. In the case of newLISP, additional conditions are always defined on a case by case basis.

Lutz

Posted: Sat May 31, 2008 3:19 pm
by _ex_
sorry to bump!

Has somebody released a LGPL newLisp application?

I mean, got to an agreement with Lutz... right now I think I could use newLisp for a little game, the newlisp footprint and speed the reason, but I'm not sure because my other option is lua with a more freely license that permits embedding (with lees semantic *power* of course but similar footprint and speed), I don't want to spend time implementing something in newLisp if at the end the result is that my game is GPLed.

I must understand the GPL license of newlisp as a possible way to commercial licenses with the author, and that is Ok, but maybe a LGPL license for small or personal projects (even close sourced) would be handy.

Any comments about this?

Posted: Sat May 31, 2008 4:10 pm
by Jeff
You could write a bash script to wget a copy of newlisp off the server and compile it as a shared library as part of the install process of your application, although you would need to notify and get the user's permission to do so. This is how the proprietary nvidia linux kernel driver works (or, at least, used to work.)

You can then write your program using the shared library to access the interpreter.

You might also look at lua. I believe lua is more permissive as an embedded scripting engine, and it is no less powerful than newlisp.

Posted: Thu Oct 30, 2008 6:23 pm
by jeremyc
Has any more thought went into this? I have enjoyed toying with newLisp, but cannot consider it a language for me to use because of the licensing restrictions. If I spend time developing something, I would want the freedom to do with it as I wish, without all kinds of hoops to jump through.

Jeremy

Posted: Tue Sep 08, 2009 12:20 am
by jeremyc
I guess no change in the licensing, any commercial software is still prohibited by the licensing of NewLISP?

Jeremy

Posted: Tue Sep 08, 2009 6:15 am
by newdep
Where does it say that commercial software is prohibited ??

Posted: Tue Sep 08, 2009 6:32 am
by TedWalther
newdep wrote:Where does it say that commercial software is prohibited ??
I think he means closed-source more than he means "commercial" software.

Posted: Tue Sep 08, 2009 12:48 pm
by jeremyc
Sorry. Yes, closed source is what I mean.

Posted: Wed Sep 09, 2009 4:42 pm
by m35
I've been thinking about this recently. Since newLISP is under the GPL, I assume Lutz only expects businesses to use it server-side, or as an internal general purpose scripting language. There's very little chance we would ever see newLISP as part of a commercial client application.

I'm not a devoted fan of any particular software license. Each one has its own pulses and minuses. In this case it seems newLISP could become more prolific if the license was more permissive. I would hope that would, in-turn, mean more people giving feedback.

I think newLISP could be a pretty good competitor for a small but fast embedded scripting language. Lua is arguably the most widely used for that task, and I would be curious to see how newLISP performance compares (a good topic for someone's blog post?).

I doubt Lutz would ever market newLISP as an embedded scripting language, which is fine. But the current license pretty much completely removes that as a possibility, along with many others.

It just seems like newLISP could really benefit from a more permissive license.

Posted: Wed Sep 09, 2009 6:09 pm
by newdep
Im just wondering why there is such a fuzz about the license all the time..
If someone could please tell me.. Then I know whats going on because somehow i dont see the issue..

Is it because people can't compile the newlisp scripts? (its readable)

Or is it because of the newlisp binary itself?

Or is it that people dont understand how to "provide" the code to the requester?
(because you dont have to put your code on every milk bottle outthere you know ;-)

Or is this the issue?

Code: Select all

The way newLISP is licensed, it does not permit linking or packaging closed source with newLISP together.
You would have to distribute your closed source in a separate package. Users would have to install a newLISP distribution and then your closed source package.