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" <[email protected]> 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 > [email protected] > https://lists.gnu.org/mailman/listinfo/discuss-gnustep >
_______________________________________________ Discuss-gnustep mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnustep
