<?xml version="1.0"?>
<rss version="2.0">
<channel>
  <title>Weiqi Gao&#039;s Observations - freejava tag</title>
  <link>http://www.weiqigao.com/blog/tags/freejava/</link>
  <description>Sharing My Experience...</description>
  <language>en</language>
  <copyright>Weiqi Gao</copyright>
  <lastBuildDate>Fri, 11 May 2012 12:48:36 GMT</lastBuildDate>
  <generator>Pebble (http://pebble.sourceforge.net)</generator>
  <docs>http://backend.userland.com/rss</docs>
  
  <image>
    <url>http://pebble.sourceforge.net/common/images/powered-by-pebble.gif</url>
    <title>Weiqi Gao&#039;s Observations</title>
    <link>http://www.weiqigao.com/blog/</link>
  </image>
  
  
  <item>
    <title>A Free JDK Finally Arrives</title>
    <link>http://www.weiqigao.com/blog/2008/06/19/a_free_jdk_finally_arrives.html</link>
    
      
        <description>
          &lt;p&gt;It turns out that &lt;a href= &#034;http://www.weiqigao.com/blog/2005/01/17/a_free_jdk_really_is_coming.html&#034; title= &#034;A Free JDK Really Is Coming&#034; &gt;my prediction&lt;/a&gt; of a Free Software JDK was &lt;a href= &#034;http://www.weiqigao.com/blog/2005/01/17/a_free_jdk_really_is_coming.html&#034; &gt;1249 days too premature&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;It&#039;s been more than three years since that post, but &lt;a href= &#034;http://blog.softwhere.org/archives/196&#034; &gt;a Free JDK is finally here&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;a href= &#034;http://blog.softwhere.org/archives/196&#034; &gt;Rich Sharple&lt;/a&gt;: This week the IcedTea Project reached an important milestone - The latest OpenJDK binary included in &lt;a href=&#034;http://fedoraproject.org/get-fedora&#034;&gt;Fedora 9&lt;/a&gt; (x86 and x86_64) passes the rigorous Java Test Compatibility Kit (TCK). This means that it provides all the required Java APIs and behaves like any other Java SE 6 implementation - in keeping with the portability goal of the Java platform.
&lt;/blockquote&gt;

&lt;p&gt;Hopefully, a free JDK will find its way into other Linux distributions, like Debian.&lt;/p&gt;
        </description>
      
      
    
    
    
    <comments>http://www.weiqigao.com/blog/2008/06/19/a_free_jdk_finally_arrives.html#comments</comments>
    <guid isPermaLink="true">http://www.weiqigao.com/blog/2008/06/19/a_free_jdk_finally_arrives.html</guid>
    <pubDate>Thu, 19 Jun 2008 22:17:03 GMT</pubDate>
  </item>
  
  <item>
    <title>Sun Frees Its JDK</title>
    <link>http://www.weiqigao.com/blog/2006/11/14/sun_frees_its_jdk.html</link>
    
      
        <description>
          &lt;p&gt;I&#039;m travelling today.  I&#039;m in Seattle, Washington for a few days of whole day meetings.  I didn&#039;t get a chance to surf the internet until 8:30pm local time.&lt;/p&gt;

&lt;p&gt;The first thing I noticed is that I got a lot of hits on some of my old &#034;Free Java&#034; blog entries.  &#034;Hmm, did they really do it?&#034; I thought.  I checked Sun&#039;s Java web site, and sure enough, there it is&amp;mdash;the &lt;a href= &#034;http://www.sun.com/2006-1113/feature/index.jsp&#034; &gt;announcement webcast&lt;/a&gt;, and more importantly, the &lt;a href= &#034;https://openjdk.dev.java.net/source/browse/openjdk/#dirlist&#034; &gt;source code&lt;/a&gt;, under the GNU GPL licance v.2:&lt;/p&gt;

&lt;blockquote&gt;
&lt;a href= &#034;https://openjdk.dev.java.net/source/browse/*checkout*/openjdk/hotspot/trunk/src/share/vm/runtime/classLoader.cpp&#034; &gt;classLoader.cpp&lt;/a&gt;:
&lt;pre style=&#034;margin-left:3em&#034;&gt;#ifdef USE_PRAGMA_IDENT_SRC
#pragma ident &#034;@(#)classLoader.cpp	1.180 06/11/08 09:15:10 JVM&#034;
#endif
/*
 * Copyright (c) 2006 &lt;span style=&#034;color:red&#034;&gt;Sun Microsystems, Inc.&lt;/span&gt;  All Rights Reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *   
 * &lt;blink&gt;&lt;span style=&#034;color:red&#034;&gt;This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation&lt;/span&gt;&lt;/blink&gt;.
 *   
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *  
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *   
 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
 * CA 95054 USA or visit www.sun.com if you need additional information or
 * have any questions.
 *  
 */

#include &#034;incls/_precompiled.incl&#034;
#include &#034;incls/_classLoader.cpp.incl&#034;


// Entry points in zip.dll for loading zip/jar file entries

typedef void * * (JNICALL *ZipOpen_t)(const char *name, char **pmsg);
typedef void (JNICALL *ZipClose_t)(jzfile *zip);
typedef jzentry* (JNICALL *FindEntry_t)(jzfile *zip, const char *name, jint *sizeP, jint *nameLen);
typedef jboolean (JNICALL *ReadEntry_t)(jzfile *zip, jzentry *entry, unsigned char *buf, char *namebuf);
typedef jboolean (JNICALL *ReadMappedEntry_t)(jzfile *zip, jzentry *entry, unsigned char **buf, char *namebuf);
typedef jzentry* (JNICALL *GetNextEntry_t)(jzfile *zip, jint n);

static ZipOpen_t         ZipOpen            = NULL;
static ZipClose_t        ZipClose           = NULL;
static FindEntry_t       FindEntry          = NULL;
static ReadEntry_t       ReadEntry          = NULL;
static ReadMappedEntry_t ReadMappedEntry    = NULL;
static GetNextEntry_t    GetNextEntry       = NULL;
static canonicalize_fn_t CanonicalizeEntry  = NULL;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;So indeed, the Sun JDK will become dual licensed&amp;mdash;under both the GPL and existing commercial licenses.  This is the same licensing model of MySQL and Oracle Berkeley DB.&lt;/p&gt;

&lt;p&gt;This makes the Sun JDK the third major free software/open source implementation of the Java programming language.  The others are the &lt;a href= &#034;http://gcc.gnu.org/java/&#034; &gt;GNU Gcj&lt;/a&gt;/&lt;a href= &#034;http://www.gnu.org/software/classpath/&#034; &gt;GNU Classpath&lt;/a&gt;, found in Fedora Core and Debian Linux distributions for quite a few years, and the &lt;a href= &#034;http://incubator.apache.org/harmony/&#034; &gt;Apache Harmony&lt;/a&gt;, the Apache licensed Java implementation sponsored by IBM, Intel, BEA, etc.&lt;/p&gt;

&lt;p&gt;I believe Sun&#039;s move ensured the long term survivability of the Java.  And for that I thank Jonathan Schwartz and the Sun Java team.  I also think amid all the festivities surround Sun, we shouldn&#039;t forget the people who worked on the alternative free software Java projects like gcj and GNU Classpath.  It is them who forced Sun&#039;s turnaround on their licensing stance.&lt;/p&gt;

&lt;p&gt;Back in May I wrote:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href= &#034;http://www.weiqigao.com/blog/2006/05/15/sun_open_source_java_why_not.html&#034; &gt;Me&lt;/a&gt;: ... I think Sun will open source Java. If not tomorrow, then within this year.&lt;/p&gt;

&lt;p&gt;(If they don&#039;t, I&#039;ll give up Java altogether and become a Ruby-on-Rails fanatic.)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I&#039;m really glad that I don&#039;t have to become a Ruby-on-Rails fanatic.  Ruby the language seems to have hit some &lt;a href= &#034;http://www.intertwingly.net/blog/2006/10/25/Ruby-2-0-Continuations&#034; &gt;snag&lt;/a&gt; in the feature/schedule department for the new promised virtual machine.&lt;/p&gt;


        </description>
      
      
    
    
    
    <comments>http://www.weiqigao.com/blog/2006/11/14/sun_frees_its_jdk.html#comments</comments>
    <guid isPermaLink="true">http://www.weiqigao.com/blog/2006/11/14/sun_frees_its_jdk.html</guid>
    <pubDate>Tue, 14 Nov 2006 06:07:07 GMT</pubDate>
  </item>
  
  <item>
    <title>Quote Of The Day</title>
    <link>http://www.weiqigao.com/blog/2005/11/30/quote_of_the_day.html</link>
    
      
        <description>
          &lt;blockquote&gt;
&lt;p&gt;&lt;a href= &#034;http://www.peakpeak.com/~tromey/blog/2005/11/29/#floyd&#034; &gt;Tom Tromey&lt;/a&gt;: &#034;Software engineering&#034; is the endless renaming of existing ideas, and the history of it is largely the story of IBM introducing the same ideas that it likes, over and over, with different names each time, until they finally take hold.&lt;/p&gt;
&lt;/blockquote&gt;
        </description>
      
      
    
    
    
    <comments>http://www.weiqigao.com/blog/2005/11/30/quote_of_the_day.html#comments</comments>
    <guid isPermaLink="true">http://www.weiqigao.com/blog/2005/11/30/quote_of_the_day.html</guid>
    <pubDate>Wed, 30 Nov 2005 13:53:10 GMT</pubDate>
  </item>
  
  </channel>
</rss>

