<html><body bgcolor="#FFFFFF"><div><span class="Apple-style-span" style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875); -webkit-composition-fill-color: rgba(175, 192, 227, 0.230469); -webkit-composition-frame-color: rgba(77, 128, 180, 0.230469); ">On Aug 10, 2010, at 7:24 PM, Levente Uzonyi <<a href="mailto:leves@elte.hu">leves@elte.hu</a>> wrote:</span><br></div><div><br></div><blockquote type="cite"><div><span class="Apple-style-span" style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875); -webkit-composition-fill-color: rgba(175, 192, 227, 0.230469); -webkit-composition-frame-color: rgba(77, 128, 180, 0.230469); ">Did you know that the license is LGPL?</span><font class="Apple-style-span" color="#000000"><font class="Apple-style-span" color="#0023A3"><br></font></font></div></blockquote><div><br></div>F*{%!<div><br></div><div>:)</div><div><br></div><div>Isn't is weird how the legalese gets hard to interpret in the context of Smalltalk? What's the difference between "linking to" and a "derivative work," really? I suppose one might broadly interpret that to mean "loaded into the image but unmodified." But if one shipped an image with it loaded, would that image be a derivative work? Who knows?? And the worst part is, it would probably be next to impossible to explain this to a judge, who probably doesn't actually know what linking really is, much less what a persistent object memory is.</div><div><br></div><div>Seems like the safe thing to do is to ship one's code separately from it. Gah.</div><div><br></div><div>For the record, I Am Not A Lawyer!</div><div><br></div><div>Thanks for the heads up on that one, Levente. Meanwhile, I'm having more luck with the SS bits, so thanks again. </div><div><br></div><div>Since my intended application keeps everything behind a web server, things-GPL shouldn't be an issue for me, but it's food for thought.</div><div><br></div><div><blockquote type="cite"><div><span></span><br><span>Levente</span><br><span></span><br><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>10 August 2010 6:40:17.74 pm</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>VM: Mac OS - Smalltalk</span><br></blockquote><blockquote type="cite"><span>Image: Squeak4.1 [latest update: #9957]</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>SecurityManager state:</span><br></blockquote><blockquote type="cite"><span>Restricted: false</span><br></blockquote><blockquote type="cite"><span>FileAccess: true</span><br></blockquote><blockquote type="cite"><span>SocketAccess: true</span><br></blockquote><blockquote type="cite"><span>Working Dir /Users/casey/Desktop/Squeak4.1</span><br></blockquote><blockquote type="cite"><span>Trusted Dir /foobar/tooBar/forSqueak/bogus/</span><br></blockquote><blockquote type="cite"><span>Untrusted Dir /foobar/tooBar/forSqueak/bogus/</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>ByteString(Object)>>error:</span><br></blockquote><blockquote type="cite"><span>Receiver: ''</span><br></blockquote><blockquote type="cite"><span>Arguments and temporary variables:</span><br></blockquote><blockquote type="cite"><span>aString: 'subscript is out of bounds: 1'</span><br></blockquote><blockquote type="cite"><span>Receiver's instance variables:</span><br></blockquote><blockquote type="cite"><span>''</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>ByteString(Object)>>errorSubscriptBounds:</span><br></blockquote><blockquote type="cite"><span>Receiver: ''</span><br></blockquote><blockquote type="cite"><span>Arguments and temporary variables:</span><br></blockquote><blockquote type="cite"><span>index: 1</span><br></blockquote><blockquote type="cite"><span>Receiver's instance variables:</span><br></blockquote><blockquote type="cite"><span>''</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>ByteString(Object)>>at:</span><br></blockquote><blockquote type="cite"><span>Receiver: ''</span><br></blockquote><blockquote type="cite"><span>Arguments and temporary variables:</span><br></blockquote><blockquote type="cite"><span>index: 1</span><br></blockquote><blockquote type="cite"><span>Receiver's instance variables:</span><br></blockquote><blockquote type="cite"><span>''</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>ByteString>>at:</span><br></blockquote><blockquote type="cite"><span>Receiver: ''</span><br></blockquote><blockquote type="cite"><span>Arguments and temporary variables:</span><br></blockquote><blockquote type="cite"><span>index: 1</span><br></blockquote><blockquote type="cite"><span>Receiver's instance variables:</span><br></blockquote><blockquote type="cite"><span>''</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>--- The full stack ---</span><br></blockquote><blockquote type="cite"><span>ByteString(Object)>>error:</span><br></blockquote><blockquote type="cite"><span>ByteString(Object)>>errorSubscriptBounds:</span><br></blockquote><blockquote type="cite"><span>ByteString(Object)>>at:</span><br></blockquote><blockquote type="cite"><span>ByteString>>at:</span><br></blockquote><blockquote type="cite"><span>- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span><br></blockquote><blockquote type="cite"><span>ByteString(SequenceableCollection)>>first</span><br></blockquote><blockquote type="cite"><span>EncoderForV3PlusClosures(Encoder)>>encodeVariable:sourceRange:ifUnknown:</span><br></blockquote><blockquote type="cite"><span>Parser>>variable</span><br></blockquote><blockquote type="cite"><span>Parser>>primaryExpression</span><br></blockquote><blockquote type="cite"><span>Parser>>expression</span><br></blockquote><blockquote type="cite"><span>Parser>>statements:innerBlock:blockNode:</span><br></blockquote><blockquote type="cite"><span>Parser>>statements:innerBlock:</span><br></blockquote><blockquote type="cite"><span>Parser>>method:context:</span><br></blockquote><blockquote type="cite"><span>[] in Parser>>parse:class:category:noPattern:context:notifying:ifFail:</span><br></blockquote><blockquote type="cite"><span>BlockClosure>>on:do:</span><br></blockquote><blockquote type="cite"><span>Parser>>parse:class:category:noPattern:context:notifying:ifFail:</span><br></blockquote><blockquote type="cite"><span>Compiler>>translate:noPattern:ifFail:</span><br></blockquote><blockquote type="cite"><span>Compiler>>compile:in:classified:notifying:ifFail:</span><br></blockquote><blockquote type="cite"><span>OracleMetadataDescriptorSystem</span><br></blockquote><blockquote type="cite"><span>class(Behavior)>>compile:classified:notifying:trailer:ifFail:</span><br></blockquote><blockquote type="cite"><span>MethodAddition>>createCompiledMethod</span><br></blockquote><blockquote type="cite"><span>[] in [] in [] in MCPackageLoader>>basicLoad</span><br></blockquote><blockquote type="cite"><span>[] in [] in OrderedCollection(Collection)>>do:displayingProgress:every:</span><br></blockquote><blockquote type="cite"><span>OrderedCollection>>do:</span><br></blockquote><blockquote type="cite"><span>[] in OrderedCollection(Collection)>>do:displayingProgress:every:</span><br></blockquote><blockquote type="cite"><span>[] in [] in ProgressInitiationException>>defaultMorphicAction</span><br></blockquote><blockquote type="cite"><span>BlockClosure>>on:do:</span><br></blockquote><blockquote type="cite"><span>[] in ProgressInitiationException>>defaultMorphicAction</span><br></blockquote><blockquote type="cite"><span>BlockClosure>>ensure:</span><br></blockquote><blockquote type="cite"><span>ProgressInitiationException>>defaultMorphicAction</span><br></blockquote><blockquote type="cite"><span>ProgressInitiationException>>defaultAction</span><br></blockquote><blockquote type="cite"><span>UndefinedObject>>handleSignal:</span><br></blockquote><blockquote type="cite"><span>MethodContext(ContextPart)>>handleSignal:</span><br></blockquote><blockquote type="cite"><span>MethodContext(ContextPart)>>handleSignal:</span><br></blockquote><blockquote type="cite"><span>MethodContext(ContextPart)>>handleSignal:</span><br></blockquote><blockquote type="cite"><span>MethodContext(ContextPart)>>handleSignal:</span><br></blockquote><blockquote type="cite"><span>MethodContext(ContextPart)>>handleSignal:</span><br></blockquote><blockquote type="cite"><span>ProgressInitiationException(Exception)>>signal</span><br></blockquote><blockquote type="cite"><span>ProgressInitiationException>>display:at:from:to:during:</span><br></blockquote><blockquote type="cite"><span>ProgressInitiationException class>>display:at:from:to:during:</span><br></blockquote><blockquote type="cite"><span>ByteString(String)>>displayProgressAt:from:to:during:</span><br></blockquote><blockquote type="cite"><span>OrderedCollection(Collection)>>do:displayingProgress:every:</span><br></blockquote><blockquote type="cite"><span>OrderedCollection(Collection)>>do:displayingProgress:</span><br></blockquote><blockquote type="cite"><span>[] in [] in MCPackageLoader>>basicLoad</span><br></blockquote><blockquote type="cite"><span>BlockClosure>>on:do:</span><br></blockquote><blockquote type="cite"><span>[] in MCPackageLoader>>basicLoad</span><br></blockquote><blockquote type="cite"><span>BlockClosure>>ensure:</span><br></blockquote><blockquote type="cite"><span>MCPackageLoader>>basicLoad</span><br></blockquote><blockquote type="cite"><span>[] in MCPackageLoader>>loadWithNameLike:</span><br></blockquote><blockquote type="cite"><span>[] in MCPackageLoader>>useChangeSetNamed:during:</span><br></blockquote><blockquote type="cite"><span>BlockClosure>>ensure:</span><br></blockquote><blockquote type="cite"><span>MCPackageLoader>>useChangeSetNamed:during:</span><br></blockquote><blockquote type="cite"><span>MCPackageLoader>>useNewChangeSetNamedLike:during:</span><br></blockquote><blockquote type="cite"><span>MCPackageLoader>>loadWithNameLike:</span><br></blockquote><blockquote type="cite"><span>MCVersionLoader>>load</span><br></blockquote><blockquote type="cite"><span>MCVersionLoader class>>loadVersion:</span><br></blockquote><blockquote type="cite"><span>MCVersion>>load</span><br></blockquote><blockquote type="cite"><span>[] in SARInstaller>>fileInMonticelloZipVersionNamed:</span><br></blockquote><blockquote type="cite"><span>[] in SARInstaller class>>withCurrentChangeSetNamed:do:</span><br></blockquote><blockquote type="cite"><span>BlockClosure>>ensure:</span><br></blockquote><blockquote type="cite"><span>SARInstaller class>>withCurrentChangeSetNamed:do:</span><br></blockquote><blockquote type="cite"><span>SARInstaller>>fileInMonticelloZipVersionNamed:</span><br></blockquote><blockquote type="cite"><span>SARInstaller>>DoIt</span><br></blockquote><blockquote type="cite"><span>-- and more not shown --</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>-- </span><br></blockquote><blockquote type="cite"><span>Casey Ransberger</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><span></span><br></div></blockquote></div></body></html>