discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: new to group, request clarifications


From: Ivan Vučica
Subject: Re: new to group, request clarifications
Date: Sun, 22 Dec 2013 16:25:27 +0000

To add to Riccardo's great summary on LGPL, note that if you do make changes to GNUstep libraries themselves (you statically link to any LGPLed library), you need to release your changes under LGPL or GPL (preferably LGPL so others can make use of your changes).

Even then you do not need to release source core of your application itself (although you should consider it).

If you do not distribute your changes to other users, you do not need to release your changes to either GPLed or LGPLed code. (Affero GPL license does force you to do that, but it is not applied to any part of GNUstep, to the best of my knowledge.)

I'd highly suggest sitting down and reading GPL and LGPL. It may seem daunting, but the licenses are not that long, and apply primarily when you distribute the software (and don't try to interfere with your use of software).

And while GNUstep requires recompiling, you do still write once and run in many places; you just don't have the "luxury" of a JVM-equivalent doing the compiling/interpreting at runtime. Nothing that a well-written shell script placed in place if the actual executable, or, as David mentioned, openapp, cannot handle for you! ;-)

On 22 Dec 2013 11:13, "Riccardo Mottola" <rm@gnu.org> wrote:
Hi,

I'm not a license expert, so others may correct me. However you also have technical questions, thus I provide my personal knowledge about your matters.

a b wrote:
1)  Does GNUstep follow the "write once, run many" philosophy of JAVA?
Would a separate compilation be required for every platform which an
author wishes to support?  Is GNUstep 100% interpreted, 100% compiled,
or a hybrid of the two?  Does GNUstep exhibit any similarities to JAVA,
where the source code may be easily reconstructed due to its being an
interpreted environment?
GNUstep relies on Objective-C and thus it is 100% compiled, although it is a very flexible and dynamic runtime.
Thus, you need to recompile for each target. However, the libraries provide a good level of abstraction of portability: I can easily target (or cross compile) on my x86 (32bit le)) Linux laptop, UltraSparc (64bit be) Solaris and MIPS or ARM embedded platforms without a single change in the code. I say that because I do that.
It is or would be possible to make "fat packages". It was done in OpenStep and even Mac times ("universal binaries") that include multiple architectures, how this can be done on e.g. Linux and BSD given their system linkers I don't know.
  2)  I understand that GNUstep falls under the GNU LGPL. (reference #1 below)
It's my understanding that this allows an author to create "non-free"
applications where the author is not required to provide the application
source code.   I have also seen an article (reference #3 below) which explains
how an application may be distributed to Windows users without requiring
the user to first install GNUstep.  While JAVA applications do require that JAVA
be previously installed, most Windows applications are standalone.  If an author
created an application and packaged it as standalone, including only the necessary
GNUstep .dll files to make it work, would this be allowed under the LGPL?  It would
seem that if the author did not modify any of the GNUstep software, that providing
the source code would not be necessary as it is freely available elsewhere.  Would
it be sufficient to simply provide one or more URLs where the GNUstep source code
could be downloaded?
GNUstep core libraries are LGPL, you may develop free and non-free stuff on it.

To my knowledge you just need to point out to GNUstpe, not redistribute GNUstep's sources yourself.

You may both install your application with a windows installer (nsis) and have gnustep runtime installed with its package or make one big self-contained blob. The former is of course cleaner if you want to install more than one application.
  3)  According to reference #2 below, if you distribute a library under the LGPL, you
have to distribute the source.  Since I only recently discovered GNUstep, I have not
yet found any sources associated with the Windows installers you have at GNUstep.org.
Perhaps the sources are included with the installer, but I did not see them.  If they are
there but I didn't see them, I apologize.  My confusion is, which libraries are included
in those installers so I know which sources would need to be downloaded?
The Windows installer falls in the category of "binary distribution" and to my knowledge the source is 100% the same as the corresponding source release tarballs and SVN repository., the difference should be just some packaging magic. Adam may reply this better though.
  4)  In reference #5 there is discussion of a couple of potential problems if you
package a GNUstep application as a standalone.  Has there been any resolution of
these issues?
To my knowledge, deamons try to automatically stop now. Thus if you have just one application it will work.

If you want to have more applications, I recommend making one master install with the official package and then N apps.
In my experience if you happen to have several "versions" of the daemons you end up with problems.
However if you have two applications which package exactly the same release of GNUstep and thus the same version of daemons, the second app when started will you use the ones already started. It is however a tricky business.
  5)  I have heard of something called Droidstep, which is also supposed to be under
the GNU LGPL.  Do you know anything about this?

I don't.

Riccardo


_______________________________________________
Discuss-gnustep mailing list
Discuss-gnustep@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnustep

reply via email to

[Prev in Thread] Current Thread [Next in Thread]