<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">It appears there are enough proprietary components in the garden variety JVM, that Oracle could go after JVM based SAAS websites in the same manner they are now suing Google over proprietary pieces of Java in the Android phone. Someone recently told me the only patented pieces of JVM are in the "mobile" edition, but that doesn't sound correct.<br><br><br>--- On <b>Tue, 8/9/11, Rick Moen <i><rick@linuxmafia.com></i></b> wrote:<br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"><br>From: Rick Moen <rick@linuxmafia.com><br>Subject: [conspire] Tidbit about the state of Java on Linux<br>To: conspire@linuxmafia.com<br>Date: Tuesday, August 9, 2011, 7:40 PM<br><br><div class="plainMail">As I mentioned in my notes to Eddie (forwarded here), I don't have an<br>oversupply of warm fuzzies about Java, generally
 speaking.  However,<br>thanks to a number of developers' efforts, many of them at Red Hat,<br>Linux users have a fully credible, open source Java stack, and should<br>need to get stampeded into installing Sun's proprietary Java (or IBM's),<br>any more -- except in special cases, perhaps.<br><br>And yet: The lion's share of what you read online starts you out with:<br>Step one:  Go to <a href="http://www.java.com/en/download/" target="_blank">http://www.java.com/en/download/</a> .  Step two:  Install<br>and run (as the root user) the jre-6blahblah-linux-i586.run binary , or<br>pull down and install (as the root user) the proprietary RPM for your<br>distro.  Step three:  Restart your Web browser, and visit<br><a href="https://www.java.com/en/download/installed.jsp" target="_blank">https://www.java.com/en/download/installed.jsp</a> to verify that Java<br>works.<br><br>The _major_ work, done mostly around 2008 or so, involved
 beefing up the<br>95% or so of OpenJDK that Sun Microsystems released under GPLv2 in<br>2006/2007.  As with OpenSolaris, Sun granted genuine open source<br>licensing terms to all the parts of Sun Java SE 6 (aka J2EE v. 1.6) over<br>which they had copyright ownership, so don't blame them for the other<br>5%.  Red Hat and others borrowed code from GNU Classpath to supply the<br>missing pieces, worked on it a bit, and called the project 'IcedTea6'.<br><br>Why a separate project?  Because the upstream OpenJDK6 from Sun (now<br>Oracle), open source though it is, still had and has dependencies on <br>various proprietary pieces including the build environment, browser<br>plugin, and JIT (just-in-time) compiler.<br><br>It's been several years since Red Hat lead that pioneering work, and so<br>the code has made it out into the field and into released distros. <br><br><br>Which brings me to today:  I was suddenly informed that I had to run
 a<br>Cisco AnyConnect VPN applet (a Java applet) in order to get access to a<br>new network where I'll be done time-critical work.  I went to a<br>Cisco-logoed 'SSL VPN Service' page, attempted login:  It said it was<br>attempting to start up Sun Java, to do login.  It failed.  <br><br>Why is the Cisco software looking for, and talking about, _Sun's_ Java?<br>Because all these twinkies out in the corporate world _still_ cannot<br>conceive of using anything but the proprietary Java stack.  <br><br>I spent a few minutes Web-searching.  Also, I did<br><br>  apt-cache search openjdk<br>  dpkg -l | egrep 'java|openjdk'<br><br>On my Debian testing/unstable (well, 'aptosid' distro, basically)<br>workstation, the key packages already installed seemed to be:<br><br>java-common         0.40   Base of all Java packages<br>openjdk-6-jre   
    6b18-1.8.9-0.1   OpenJDK Java runtime, using Hotspot JIT<br>openjdk-6-jre-headless 6b18-1.8.9-0.1 OpenJDK Java runtime, using Hotspot JIT (headless)<br>openjdk-6-jre-lib   6b18-1.8.9-0.1   OpenJDK Java runtime (architecture independent libraries)<br><br>Ah, wait, I know!  There's no browser _plugin_ package installed, hence<br>no /usr/bin/javaws (Java WebStart) ability.  Web-searching quickly<br>revealed the package name:  icedtea-plugin  <br><br><br>That makes sense for distros to omit the damned thing (the browser<br>extension) by default.  Although Java is far less of a security menace<br>than the similarly named 'Javascript', it's a security exposure and<br>shouldn't be installed & enabled in browsers without the user's OK.  As<br>it happens, on my workstation, the invaluable NoScript extension (highly<br>recommended) ensures that no Java applets will
 ever run without my<br>specific OK, so the threat is already contained.<br><br>Install icedtea-plugin, restart Firefox (Iceweasel), visit your choice<br>of 'Go here to make sure Java is working' pages.  E.g.:<br><br><a href="https://www.java.com/en/download/testjava.jsp" target="_blank">https://www.java.com/en/download/testjava.jsp</a><br><a href="https://www.java.com/en/download/installed.jsp" target="_blank">https://www.java.com/en/download/installed.jsp</a><br><br>And, hey!  That's amusing:  The Oracle (Sun) Java pages _themselves_ <br>claim that I'm running _Sun_ Java.  (Well, I sort of am, just as<br>modified with the IcedTea fixes.)  The former says:<br><br>   Your Java configuration is as follows:<br>   Vendor:  Sun Microsystems<br>   Version:  Java SE 6 Update 18<br>   Operating System: Linux
 2.6.37-0.slh.18.aptosid-686<br>   Architecture:  i386<br><br>The latter page says:<br><br>   Verifying Java Version<br>   A newer version of Java is available<br><br>   Please click the download button to get the recommended Java for your<br>   computer.<br>   Your Java version: Version 6 Update 18 <br><br>   NOTE: If you recently completed your Java software installation, you<br>   may need to restart your browser (close all browser windows and re-open)<br>   before verifying your installation.<br><br>   Download Free Java Software<br>   Version 6 Update 26<br><br>...which advice I'll follow about when Hades turns gelid.  ;-><br><br><br>Anyway, point is:  If you have a modern Linux distro, you almost<br>certainly either (1) already have a fully Java Test Compatibility
 Kit<br>(TCK)-compliant implementation of J2EE v. 1.6 without any _proprietary_<br>Sun Microsystem code (just the repackaged open-source Sun code + fixes<br>from Red Hat and the GNU Project), or (2) can have one with one quick<br>package fetch.  When I say compliant with TCK, that basically means full<br>Java, with support for AWT widgets and everything else that's part of<br>the standard.<br><br>If Java applets (off the Web) don't seem to work, make sure you've<br>installed the icedtea-plugin browser package (whose exact name, of<br>course, may depend on your distribution).<br><br><br>And yes, Cisco's rather moronic and Sun Java-obsessed AnyConnect VPN<br>client worked fine.<br><br>The version of the openjdk packages reported above parses out to<br>'OpenJDK 6 version 1.8.9', which the Sun Java applet pages, in turn,<br>interpreted as 'Java SE 6 Update 18'.  IcedTea's OpenJDK6 packages<br>have now progressed to version 1.10, as shown on the
 download pages off<br><a href="http://icedtea.classpath.org/" target="_blank">http://icedtea.classpath.org/</a> -- but I'd rather use packaged software<br>for Debian unstable, thanks!<br><br><br><br>[1] For the fully open source packages making up the stack, you might<br>have to look under either the names 'IcedTea6'/'IcedTea' _or_<br>'OpenJDK6'/'OpenJDK', depending on your distribution.  IcedTea6 was the<br>temporary project name on account of Sun's trademark restrictions.<br>That name should now be vanishing in favour of OpenJDK6 -- though, if in<br>doubt, look for the 'icedtea' ones in preference.<br>Details:  <a href="https://secure.wikimedia.org/wikipedia/en/wiki/IcedTea" target="_blank">https://secure.wikimedia.org/wikipedia/en/wiki/IcedTea</a><br><br>_______________________________________________<br>conspire mailing list<br><a ymailto="mailto:conspire@linuxmafia.com"
 href="/mc/compose?to=conspire@linuxmafia.com">conspire@linuxmafia.com</a><br><a href="http://linuxmafia.com/mailman/listinfo/conspire" target="_blank">http://linuxmafia.com/mailman/listinfo/conspire</a><br></div></blockquote></td></tr></table>