Mantis - Squeak
Viewing Issue Advanced Details
7539 VM feature always 05-28-10 00:52 05-19-14 23:05
lewis  
lewis  
normal  
assigned  
open  
none    
none  
0007539: Plugins should use platform libraries where possible. Gentoo removed Squeak for this reason.
Some plugins are built from archival copies of library source code. Where possible, these should use platform-supplied libraries to avoid security and licensing concerns. Use of old copies of library sources has let to removal of Squeak from at least one Linux distribution.
Gentoo discussion leading to removal of Squeak from distribution:
http://bugs.gentoo.org/show_bug.cgi?id=247363 [^]

Discussion on vm-dev begins here:
http://lists.squeakfoundation.org/pipermail/vm-dev/2010-May/004625.html [^]

John's summary and history rationale:
http://lists.squeakfoundation.org/pipermail/vm-dev/2010-May/004629.html [^]
http://lists.squeakfoundation.org/pipermail/vm-dev/2010-May/004633.html [^]

Notes
(0014505)
lewis   
05-17-14 14:03   
A caution regarding GPL versus LGPL licensing for libjpeg. I do not know if this is a problem, but it should be checked to ensure that we do not introduce a GPL dependency into the VM.

Date: Fri, 16 May 2014 22:51:17 +0200
Subject: Re: [squeak-dev] VM should use platform libraries where possible (was: 16 bit GIFs (was: A nitpick))
From: Nicolas Cellier <nicolas.cellier.aka.nice@gmail.com>
To: The general-purpose Squeak developers list
>
> There should be no GPL issues because linking to a runtime libjpeg is no
> different from linking to any other runtime library on Linux.
>
>
Beware, this is why LGPL was created for, no?
But GPL is different from LGPL.
I don't feel like reading those licenses again, it's just too boring, so
someone should confirm that:
link with GPL and you become GPL, it's viral.
(0014506)
lewis   
05-19-14 23:05   
From: David Corking <lists@dcorking.com>
Date: Mon, 19 May 2014 20:33:11 +0100
Subject: Re: [squeak-dev] VM should use platform libraries where possible (was: 16 bit GIFs (was: A nitpick))
To: The general-purpose Squeak developers list <squeak-dev@lists.squeakfoundation.org>

License
======

Sourceforge does not appear to host the current development of
libjpeg, and seems to have caused us unnecessary worry about the
license. The SF site has version 6b, which is 6 years behind Guido
Vollbeding's version 9a. (I think SF may have trouble displaying licenses
that aren't from a standard short list, so ended up with the wrong one.)

Version 9a is at http://ijg.org/ [^]

Whether from Sourceforge or IJG or from Squeak's own repository[1],
the license is not GPL. It is this custom but liberal license:

http://directory.fsf.org/wiki?title=License:JPEG [^]

I am not a lawyer. I can't imagine incompatibilities with Squeak's
Apache and MIT licenses.

Compatibility
=========
Ubuntu and Fedora prefer libjpeg-turbo, a fork which uses the same
liberal license and, I hope, the same API.

libjpeg-turbo really is on Sourceforge:

http://sourceforge.net/p/libjpeg-turbo/code/HEAD/tree/trunk/ [^]

I am not in any way a C or SLANG hacker, though I would like to learn.
Yet a quick browse of change.log in libjpegsr9a gives me some hope
that the API has not had many breaking changes since version 6a, which
I guess is the version that is in the Squeak platform sources.

While I have them handy, here are the version numbers as I found them
installed on my machines:
Debian 7.1 libjpeg8 8d-1 (binary is libjpeg.so.8.4.0)
Fedora 20 libjpeg-turbo 1.3.1 (binary is libjpeg.so.62.1.0)
Ubuntu 12.04 (old I know) libjpeg-turbo 1.1.90+svn733-0ubuntu4.3
(binary is libjpeg.so.8.4.0)

Guido's site links to this one, which hopefully will offer more
specific clues about what Squeak would need to change to work with the
newer platform libraries..

http://jpegclub.org/support/ [^]

Hope that helps. Have fun!

David