Developing commercial software

Pondering the philosophy behind the language
HPW
Posts: 1390
Joined: Thu Sep 26, 2002 9:15 am
Location: Germany
Contact:

Post by HPW »

Or is this the issue?
Yes, especially user of the DLL-flavour would benefit of a LGPL-license for the DLL.
Now you have to make a seperate install and load the DLL from there.
Hans-Peter

m35
Posts: 171
Joined: Wed Feb 14, 2007 12:54 pm
Location: Carifornia

Post by m35 »

In response to some of the comments in the very hijacked Artful Code thread, I hope to clarify with some concrete examples.

With newLISP under the GPL, it is very unlikely businesses would use newLISP in client software (because it would require releasing their source code). Two specific uses-cases I have in mind are:

(1) Distributing client programs that use newLISP as an embedded scripting language

The only way to use GPL software with a closed-source program is to execute it completely separately. Apple's use of gcc with their Xcode IDE is a good example of this. Interfacing with newLISP via IPC pipes might work, but would just be a kludge because a business doesn't want to release source code.

(2) Distributing client programs written entirely in newLISP

According to Lutz
Lutz wrote: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.
That workaround might work, but is again just a kludge.


It is very possible for businesses to use newLISP for other purposes (because it doesn't require releasing source code). Here are two examples of that:

(3) Using newLISP for internal processes and programs

I'm sure many in these forums have and do use newLISP at work for batch processes, log parsing, automation, quick throw-away scripts, etc. newLISP is helping people be more efficient, which saves the business money.

(4) Server side code for web applications

There is a tremendous amount of GPL licensed software being used in web-sites today. Youtube's use of ffmpeg for video processing is one example. Businesses are making tons (tonnes?) of money off it all.

In cases 3 and 4, businesses can even change/improve the code, and never have to contribute those changes back to the community.


Lutz has put an enormous amount of time and effort into newLISP. I am incredibly grateful for that. He holds the copyright for almost all of the code, so of course he gets to decide whatever license he wants to use. I say 'almost all' because I'm lucky to have my name on a bit of code I contributed. That code is available under the very permissive zlib license.

I don't see anything inherently good or bad about license choices. You use the one that meets your intent. I've released a non-trivial program with almost 30k lines of code under GPL myself. I did it because I never want anyone to utilize its code without contributing back to the community. If businesses don't use my program because of the license, I'm ok with that.

It's all up to Lutz of course. If he says "newLISP is under GPL, it's for my own reasons, this won't change," I'd be ok with that. I just see added opportunity if a different license allowed for use-cases 1 and 2. The LGPL seems like an excellent choice, because no source code has to be released unless it has been changed--then just the newLISP code that has to be shared.

bjoernknafla
Posts: 1
Joined: Tue May 18, 2010 5:41 pm

Re: Developing commercial software

Post by bjoernknafla »

The GPL license prevents the use of newLISP as an embedded script- or glue-language inside projects that can't or don't want to license their code under GPL (commercial projects).

Even exploring if it is usable as an embedded language does not make sense for commercial projects - or even projects that publish their code under the BSD or MIT license.

I am not saying that this a problem for the development of newLISP - just that it limits its use case.

Cheers,
Bjoern

itistoday
Posts: 429
Joined: Sun Dec 02, 2007 5:10 pm
Contact:

Re: Developing commercial software

Post by itistoday »

I'd just like to cast my vote for the LGPL (or if possible, an even more liberal license).
Get your Objective newLISP groove on.

TedWalther
Posts: 608
Joined: Mon Feb 05, 2007 1:04 am
Location: Abbotsford, BC
Contact:

Re: Developing commercial software

Post by TedWalther »

The real question is, is Lutz willing to grant exceptions to the license (for a fee)? Richard Stallman told me that was possible. If you want to sell a closed application, the author of the code has the right to license his code to you under any terms he wants. So the GPL applies in general, but it doesn't prevent dual licensing. So the key is, what is Lutz willing to do. If you have an application that took you a lot of effort to write, and a small number of users, it might make sense to keep that degree of control. But if you are selling the software, it makes sense to pay the other contributors to your software, in this case, Lutz. I assume Lutz would judge this on a case by case basis. Lutz is for keen on freedom for everyone, so you'd need to make a good case and specify reasonable terms in the alternate license.
Cavemen in bearskins invaded the ivory towers of Artificial Intelligence. Nine months later, they left with a baby named newLISP. The women of the ivory towers wept and wailed. "Abomination!" they cried.

itistoday
Posts: 429
Joined: Sun Dec 02, 2007 5:10 pm
Contact:

Re: Developing commercial software

Post by itistoday »

For a language to become popular, it needs as few impediments as possible. The GPL is one such impediment.
Get your Objective newLISP groove on.

cormullion
Posts: 2038
Joined: Tue Nov 29, 2005 8:28 pm
Location: latiitude 50N longitude 3W
Contact:

Re: Developing commercial software

Post by cormullion »

My interest in this topic is purely academic - but I'm curious - what do the other scripting languages do for licensing - Perl, Python, Ruby, Lua, etc? If different from newLISP, what does newLISP's licence deliver that the others miss out on?

itistoday
Posts: 429
Joined: Sun Dec 02, 2007 5:10 pm
Contact:

Re: Developing commercial software

Post by itistoday »

cormullion wrote:My interest in this topic is purely academic - but I'm curious - what do the other scripting languages do for licensing - Perl, Python, Ruby, Lua, etc? If different from newLISP, what does newLISP's licence deliver that the others miss out on?
All except for Perl appear to be liberal licenses that don't require publishing your source:

http://www.lua.org/license.html
http://www.python.org/psf/license/
http://www.ruby-lang.org/en/LICENSE.txt
http://dev.perl.org/licenses/

Lutz has said that he specifically "interprets" the GPL as Larry Wall does:
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.

Furthermore, any object code linked with perl does not automatically fall under the terms of the GPL, provided such object code only adds definitions of subroutines and variables, and does not otherwise impair the resulting interpreter from executing any standard Perl script. I consider linking in C subroutines in this manner to be the moral equivalent of defining subroutines in the Perl language itself. You may sell such an object file as proprietary provided that you provide or offer to provide the Perl source, as specified by the GNU General Public License. (This is merely an alternate way of specifying input to the program.) You may also sell a binary produced by the dumping of a running Perl script that belongs to you, provided that you provide or offer to provide the Perl source as specified by the GPL. (The fact that a Perl interpreter and your code are in the same binary file is, in this case, a form of mere aggregation.)

This is my interpretation of the GPL. If you still have concerns or difficulties understanding my intent, feel free to contact me. Of course, the Artistic License spells all this out for your protection, so you may prefer to use that.
I'm not sure I understand what he's referring to by "Perl source" there. Is he referring to the source of the Perl interpreter or to the Perl scripts you wrote? If it's referring to the source of the interpreter, then it seems like you should be able to commercially use and embed the newLISP interpreter with your code and not need to provide the source for your scripts.

It'd be great if someone could clear this point up. Am I interpreting it correctly?
Get your Objective newLISP groove on.

TedWalther
Posts: 608
Joined: Mon Feb 05, 2007 1:04 am
Location: Abbotsford, BC
Contact:

Re: Developing commercial software

Post by TedWalther »

I would assume, because Larry Wall spoke of "mere aggregation", that he means the source of Perl, not your own source.

If this is Lutz position as well, then that opens up a lot of doors; to wit, distribute your binary application but include the GPL license for newLISP with the offer to provide the source for newLISP (but not necessarily your applications source)

Is this right Lutz?
Cavemen in bearskins invaded the ivory towers of Artificial Intelligence. Nine months later, they left with a baby named newLISP. The women of the ivory towers wept and wailed. "Abomination!" they cried.

HPW
Posts: 1390
Joined: Thu Sep 26, 2002 9:15 am
Location: Germany
Contact:

Re: Developing commercial software

Post by HPW »

I would say no.
What I was told from Lutz, I can not deliver/install newLISP (the DLL) with a commercial application installer.
I had to provide the seperate newLISP installer and had to search/find the newLISP.dll via the enviroment-variable on the system.
So I have 2 installer and have to explain that the seperate newLISP-install is needed for the commercial application to run.

A real embedding with a LGPL-licensed DLL would allow each appliction to install and use its own version.
No danger that a later installed generic newLISP would break an older code.
Hans-Peter

kanen
Posts: 145
Joined: Thu Mar 25, 2010 6:24 pm
Contact:

Re: Developing commercial software

Post by kanen »

I have long considered this argument, as the creator of commercial software, which used newLISP. In the previous case, we had a search engine and it did not require us to share the source code or distribute anything to a client, it was all server-side.

This worked, but we were considering the idea of distributing a version for internal use at client sites. As a long-time hater of the GPL (it is more restrictive than you think), I almost moved from newLISP to another language. In the end, I chose to stay with newLISP because the company didn't require client distribution.

Now, I am in another position, equally frustrating.

I am developing a two-version network security platform. The first is open source and can be downloaded, modified, whatever. It's free and open.

The second version (and how I make money off the product), is a custom hardware-based network security product which *includes* the open source version, with some special tweaks for the hardware. I am running OpenBSD on the hardware (free, non-restrictive license) and it boots into newLISP directly, then starts to load my software.

I believe (and my lawyer believes) I am not violating the GPL because:

1. The customer is buying the hardware, with the software pre-installed.

2. It comes with newLISP (GPL) pre-compiled, but all license information remains intact and the sources are unmodified.

3. My own source code is being interpreted by a non-modified version of newLISP and is not compiled, as a binary, with newLISP (i.e. sources are separated).

4. The product is a solution, like a Laptop with Linux pre-installed, and I am not charging for the GPL software.

I am hoping Lutz agrees this is not a violation of his license or of the GPL. I'd prefer if newLISP had a less restrictive license, but that likely will never happen.

Hope this helps those out there who -- like me -- are pulling their hair out about how to continue to develop in newLISP, support newLISP and make money off their efforts. :)
. Kanen Flowers http://kanen.me .

cormullion
Posts: 2038
Joined: Tue Nov 29, 2005 8:28 pm
Location: latiitude 50N longitude 3W
Contact:

Re: Developing commercial software

Post by cormullion »

Hmm. When a licence starts to restrict the honest efforts of users to use and promote a software package, you have to ask (again) what are the outweighing benefits to the author that makes it worth the risk. Is newLISP sometimes in danger of licensing itself out of consideration - what's the justification for that? (I'm just curious...)

itistoday
Posts: 429
Joined: Sun Dec 02, 2007 5:10 pm
Contact:

Re: Developing commercial software

Post by itistoday »

I sent Lutz an email asking for comment and here's his response:
Lutz wrote:People should just goto http://www.gnu.org/licenses/gpl-faq.html and
read up on related questions.

Regarding linking the newLISP script and newLISP executable or
shipping it together, it is pretty much like HPW stated it in the
thread: you have to ship and install your closed source script and
newLISP separately, because newLISP is not LGPL.

I am not participating in GPL related threads, because they tend to be
endless. Most questions can be cleared up reading the GPL FAQs.

Cheers

Lutz
Get your Objective newLISP groove on.

Lutz
Posts: 5289
Joined: Thu Sep 26, 2002 4:45 pm
Location: Pasadena, California
Contact:

Re: Developing commercial software

Post by Lutz »

From: http://www.gnu.org/licenses/gpl-faq.htm ... ameMachine
Can I have a GPL-covered program and an unrelated non-free program on the same computer?

Yes.

Locked