<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.0.12-alpha" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>GNU/Andrew's Blog</title>
	<link>http://blog.fuseyism.com</link>
	<description>GNU Classpath, OpenJDK and Other FOSS Development Work</description>
	<pubDate>Fri, 06 Jun 2008 02:34:32 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.12-alpha</generator>
	<language>en</language>
			<item>
		<title>GNU Classpath 0.97.2 released!</title>
		<link>http://blog.fuseyism.com/index.php/2008/06/06/gnu-classpath-0972-released/</link>
		<comments>http://blog.fuseyism.com/index.php/2008/06/06/gnu-classpath-0972-released/#comments</comments>
		<pubDate>Fri, 06 Jun 2008 02:34:32 +0000</pubDate>
		<dc:creator>gnu_andrew</dc:creator>
		
		<category>GNU Classpath</category>

		<guid isPermaLink="false">http://blog.fuseyism.com/index.php/2008/06/06/gnu-classpath-0972-released/</guid>
		<description><![CDATA[We are proud to announce the release of GNU Classpath 0.97.2, the second bugfix release for GNU Classpath 0.97.
GNU Classpath, essential libraries for java, is a project to create free core class libraries for use with runtimes, compilers and tools for the java programming language.
The GNU Classpath developer snapshot releases are not directly aimed at [...]]]></description>
			<content:encoded><![CDATA[<p>We are proud to announce the release of GNU Classpath 0.97.2, the second bugfix release for GNU Classpath 0.97.</p>
<p>GNU Classpath, essential libraries for java, is a project to create free core class libraries for use with runtimes, compilers and tools for the java programming language.</p>
<p>The GNU Classpath developer snapshot releases are not directly aimed at the end user but are meant to be integrated into larger development platforms. For example JamVM, CACAO and Kaffe can make use of an installed copy of GNU Classpath 0.97.2, while GCC (gcj) will use the developer snapshots as a base for future versions. For more projects based on GNU Classpath, see http://www.gnu.org/software/classpath/stories.html</p>
<p>This is the second of a new series of bugfix releases that follow a major (0.x) release. A 0.x.y release will only contain minor bug fixes. It will not cause major changes in the functionality of GNU Classpath, either for better or for worse.</p>
<p>With this bugfix release, the following issues have been resolved:</p>
<p>    * Include headers in the release tarball.<br />
    * Allow the building of tools to be optional.<br />
    * Only check for a Java compiler when required.<br />
    * Allow VMOperatingSystemMXBeanImpl to compile on Solaris.<br />
    * Documentation typo fixes<br />
    * Fix memory leak in native/jni/classpath/jcl.c<br />
    * Web page updates (PR classpath/22883)<br />
    * Fixes to pass the JSR166 TCK<br />
    * Use awk to construct the classlist on building<br />
    * Fix deadlock in Logger (PR classpath/35974)<br />
    * Fix regression in java.lang.String (PR classpath/35482)<br />
    * Allow Classpath tools to handle @file options.<br />
    * Allow parseInt to handle a + prefix correctly.<br />
    * Remove use of 1.5 language constructs in the VM layer.</p>
<p>From the 0.95 release, we switched fully towards the 1.5 generics work that we previously released separately as classpath-generics. All this work is now fully integrated in the main release and various runtimes (GCJ, CACAO, JamVM, JikesRVM etc) have been extended to take advantage of the new generics, annotations and enumeration support in the core library. As a consequence, only 1.5 capable compilers (currently the Eclipse Compiler for Java (ecj) and Sun&#8217;s javac) may be used to build Classpath.</p>
<p>The GNU Classpath developers site (http://developer.classpath.org/) provides detailed information on how to start with helping the GNU Classpath project and gives an overview of the core class library packages currently provided.</p>
<p>For each snapshot release generated documentation is provided through the GNU Classpath Tools gjdoc project, which will become part of GNU Classpath itself with the release of 0.98. A documentation generation framework for java source files used by the GNU project. Full documentation on the currently implemented packages and classes can be found at: http://developer.classpath.org/doc/ We are looking into how to extend the documentation experience in the future. Please contact the mailinglist if you would like to help with this effort.</p>
<p>For more information about the project see also:</p>
<p>GNU Classpath home page: http://www.gnu.org/software/classpath/<br />
Developer information (wiki): http://developer.classpath.org/<br />
Full class documentation: http://developer.classpath.org/doc/<br />
GNU Classpath hackers: http://planet.classpath.org/<br />
Autobuilder, current build status, build snapshots:<br />
http://builder.classpath.org/</p>
<p>Application test pages (wiki):<br />
http://developer.classpath.org/mediation/Applets<br />
http://developer.classpath.org/mediation/FreeAWTTestApps<br />
http://developer.classpath.org/mediation/FreeSwingTestApps<br />
http://developer.classpath.org/mediation/FreeSWTTestApps<br />
GNU Classpath hacking with Eclipse (wiki):<br />
http://developer.classpath.org/mediation/ClasspathHackingWithEclipse</p>
<p>GNU Classpath promotion banners:<br />
http://developer.classpath.org/mediation/ClasspathBanners</p>
<p>GNU Classpath 0.97.2 is available from ftp://ftp.gnu.org/pub/gnu/classpath/, one of the ftp.gnu.org mirrors (http://www.gnu.org/order/ftp.html) or the Classpath continuous integration system (http://builder.classpath.org/dist)</p>
<p>File: classpath-0.97.2.tar.gz<br />
MD5sum: 6a35347901ace03c31cc49751b338f31<br />
SHA1sum: 627e9781f9bb744b1a70e4aaff88d2d0440cbf1f</p>
<p>The following people helped fix bugs in Classpath 0.97.1:</p>
<p>Andrew John Hughes, Michael Koch, Jim Meyering, Robert Schuster, Mario Torre, Tom Tromey, Ralf Wildenhues</p>
<p>The following people helped with the release of Classpath 0.97 and/or 0.97.1:</p>
<p>Luciano Chavez, Thomas Fitzsimmons, Bernhard Fischer, Jeroen Frijters, Stefan Huehner, Andrew John Hughes, Jakub Jelinek, Ito Kazumitsu, Roman Kennke, Alexandre Oliva, Petteri Raety, Ian Rogers, Robert Schuster, Leen Toelen, Mario Torre, Dalibor Topic, Tom Tromey, David Walluck, Mark Wielaard and Ralf Wildenhues.</p>
<p>We would also like to thank the numerous bug reporters and testers! In addition, we&#8217;d like to extend our thanks to all those who&#8217;ve contributed over the years and have helped in building a thriving and friendly community around the GNU Classpath project.
</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fuseyism.com/index.php/2008/06/06/gnu-classpath-0972-released/feed/</wfw:commentRss>
		</item>
		<item>
		<title>IcedTea 1.7 Released</title>
		<link>http://blog.fuseyism.com/index.php/2008/06/02/icedtea-17-released/</link>
		<comments>http://blog.fuseyism.com/index.php/2008/06/02/icedtea-17-released/#comments</comments>
		<pubDate>Mon, 02 Jun 2008 03:24:37 +0000</pubDate>
		<dc:creator>gnu_andrew</dc:creator>
		
		<category>IcedTea</category>

		<guid isPermaLink="false">http://blog.fuseyism.com/index.php/2008/06/02/icedtea-17-released/</guid>
		<description><![CDATA[We are proud to announce the release of IcedTea 1.7.
The IcedTea project provides a harness to build the source code from
OpenJDK (http://openjdk.java.net) using Free Software build tools and
provides replacements libraries for the binary plugs with code from the
GNU Classpath project. More information on IcedTea can be found at
http://icedtea.classpath.org
What&#8217;s New?
&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;
 IcedTea is based on the hard [...]]]></description>
			<content:encoded><![CDATA[<p>We are proud to announce the release of IcedTea 1.7.</p>
<p>The IcedTea project provides a harness to build the source code from<br />
OpenJDK (http://openjdk.java.net) using Free Software build tools and<br />
provides replacements libraries for the binary plugs with code from the<br />
GNU Classpath project. More information on IcedTea can be found at<br />
http://icedtea.classpath.org</p>
<p>What&#8217;s New?<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
 IcedTea is based on the hard work of a lot of people that contributed to IcedTea6 (see the recent announcement of 1.2) and OpenJDK. The following noteworthy changes are included in this release (summarised by Mark Wielaard):</p>
<p> - Paul Hohensee published a GNU/Linux hotspot Sparc port and Matthias Klose integrated it into IcedTea.<br />
 - Keith Seiths and Andrew Haley made fixes to the awt color package so that it now provides the lcms library with PYCC and LINEAR_RGB ICC<br />
  profiles, fixing several applications that did complex color transformations.<br />
 - Karl Helgason wrote a midi software synthesizer called Gervill that<br />
  is now integrated in IcedTea so that javax.sound.midi support works<br />
  now. Mark Wielaard integrated it and made some fixes so that it works<br />
  better with javax.sound.sampled.<br />
 - Jonathan Gibbons released a free version of jtreg, which was imported into IcedTea by Mark Wielaard so that a make check now runs all the<br />
  functional unit tests integrated into OpenJDK.<br />
 - Joshua Sumali made lots of fixes to the javaws/netx support. Including improved security, namely catching Socket permissions during runtime,<br />
  implementing the remaining JNLP services api (PrintService and JNLPRandomAccessFile), and applet focusing bug fixes, so now netx<br />
  plays nice with gcjwebplugin.<br />
 - Kelly O&#8217;Hair resolved the license issues with the (j)hat tool which is now integrated.<br />
 - Lillian Angel and Tom Fitzsimmons added several .desktop files for the various tools included for better GNU/Linux desktop integration.<br />
 - Thomas Fitzsimmons rewrote the cacert support to resolve issues with applications like Glashfish and Eclipse which access the keystore<br />
  directly.<br />
 - Lillian Angel made lots of bug fixes to the packaging and integration support, include improving the font support.<br />
 - IcedTea6 1.2 and IcedTea[7] 1.7 are completely synced up again thanks to Andrew John Hughes.<br />
 - Andrew also did all the work to make sure IcedTea[7] is now based on OpenJDK7 b26 as released by Xiomara Jayasena.<br />
 - Thomas Fitzsimmons rewrote the certificate keystore support.<br />
 - Christian Thalinger made various cacao integration fixes.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>The tarball can be downloaded here:</p>
<p>http://icedtea.classpath.org/download/source/icedtea-1.7.tar.gz</p>
<p>The following people helped with this release:<br />
Lillian Angel, Gary Benson, Thomas Fitzsimmons, Andrew Haley, Andrew John Hughes, Matthias Klose, Dan Munckton, Parag Nemade, Keith Seitz, Joshua Sumali, Christian Thalinger, Mark Wielaard, Yi Zhan</p>
<p>We would also like to thank the bug reporters and testers!</p>
<p>Full build requirements and instructions can be found in the INSTALL<br />
file in the top-level directory of the release.  However,</p>
<p>$ ./configure<br />
$ make</p>
<p>should be a good start.
</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fuseyism.com/index.php/2008/06/02/icedtea-17-released/feed/</wfw:commentRss>
		</item>
		<item>
		<title>IcedTea6 1.2 Released</title>
		<link>http://blog.fuseyism.com/index.php/2008/05/30/icedtea6-12-released/</link>
		<comments>http://blog.fuseyism.com/index.php/2008/05/30/icedtea6-12-released/#comments</comments>
		<pubDate>Fri, 30 May 2008 00:17:12 +0000</pubDate>
		<dc:creator>gnu_andrew</dc:creator>
		
		<category>IcedTea</category>

		<category>Gentoo</category>

		<guid isPermaLink="false">http://blog.fuseyism.com/index.php/2008/05/30/icedtea6-12-released/</guid>
		<description><![CDATA[Congratulations to the IcedTea team (Lillian Angel, Gary Benson, Tom Fitzsimmons, Joshua Sumali, Andrew Haley, Mark Wielaard) on another release.  The OpenJDK version is only one drop further on (b09 as opposed to b08) but there are lots of other IcedTea related changes including the import of MIDI support via Gervill and a Linux/SPARC [...]]]></description>
			<content:encoded><![CDATA[<p>Congratulations to the IcedTea team (Lillian Angel, Gary Benson, Tom Fitzsimmons, Joshua Sumali, Andrew Haley, Mark Wielaard) on another release.  The OpenJDK version is only one drop further on (b09 as opposed to b08) but there are lots of other IcedTea related changes including the import of MIDI support via Gervill and a Linux/SPARC HotSpot port, not to mention numerous fixes and jtreg-based testing.  Gentoo users can already find an ebuild for this in my overlay: <a href="http://fuseyism.com/hg/libre_java_overlay">http://fuseyism.com/hg/libre_java_overlay</a>.</p>
<p>Unfortunately, creating this ebuild immediately showed up a few issues with the release.  The first was rather peculiar, it seems the jar executable from IcedTea 6 1.1 couldn&#8217;t handle the @ option used to build the rt.jar file:</p>
<pre>
(cd /var/tmp/portage/dev-java/icedtea6-1.2/work/icedtea6-1.2/openjdk-ecj/control/build/linux-amd64/classes
&#038;&#038; /bin/cat /var/tmp/portage/dev-java/icedtea6-1.2/work/icedtea6-1.2/openjdk-ecj/control/build/linux-amd64/tmp/jarfilelists/rt_jar_list
| /usr/lib/jvm/icedtea6-1.1/bin/jar c0mf@
/var/tmp/portage/dev-java/icedtea6-1.2/work/icedtea6-1.2/openjdk-ecj/control/build/linux-amd64/tmp/manifest.tmp
/var/tmp/portage/dev-java/icedtea6-1.2/work/icedtea6-1.2/openjdk-ecj/control/build/linux-amd64/tmp/rt-orig.jar
           -J-Xmx896m -J-Xms128m -J-XX:PermSize=32m
-J-XX:MaxPermSize=160m)
Illegal option: @
Usage: jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point]
[-C dir] files ...
</pre>
<p>Interestingly, using <code>gjar</code> does work, so for the time being I&#8217;ve enforced the use of gcj-4.3 in the ebuild, and used gjar from this.  Patching it so that it becomes <code>/usr/lib/jvm/icedtea6-1.1/bin/jar c0mf</code> should also work.</p>
<p>The other issue I ran into was with the plugin option.  Gentoo&#8217;s econf system specifies all the configure options it uses even if the values are the defaults, due to the way it is automated.  So even though the plugin is enabled by default, &#8211;enable-gcjwebplugin still gets passed to the build.  However, it seems this actually disables it for IcedTea6.  I patched this as:</p>
<pre>
diff -r 3fe8a0881e86 configure.ac
--- a/configure.ac      Wed May 28 11:29:51 2008 -0400
+++ b/configure.ac      Fri May 30 00:53:44 2008 +0100
@@ -101,13 +101,13 @@ AC_ARG_ENABLE([gcjwebplugin],
 AC_ARG_ENABLE([gcjwebplugin],
              [AS_HELP_STRING([--disable-gcjwebplugin],
                              [Disable compilation of browser plugin])],
-             [ENABLE_PLUGIN="$val"], [ENABLE_PLUGIN='yes'])
+             [ENABLE_PLUGIN="${enableval}"], [ENABLE_PLUGIN='yes'])
 AC_SUBST(ENABLE_PLUGIN)

 AC_ARG_ENABLE([docs],
              [AS_HELP_STRING([--disable-docs],
                              [Disable generation of documentation])],
-             [ENABLE_DOCS="$val"], [ENABLE_DOCS='yes'])
+             [ENABLE_DOCS="${enableval}"], [ENABLE_DOCS='yes'])
 AM_CONDITIONAL([ENABLE_DOCS], [test x$ENABLE_DOCS = xyes])

 AC_ARG_WITH([icedtea],
</pre>
<p>This wouldn&#8217;t have been noticed because usually you either stick with the default (which does turn on the plugin) or, if an option is specified, you disable it (which happens).  The problem is that specifying either form of the gcjwebplugin option disables it, including the one that&#8217;s meant to enable it.</p>
<p>With these two issues fixed, IcedTea6 1.2 can be installed on Gentoo.
</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fuseyism.com/index.php/2008/05/30/icedtea6-12-released/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Sharing Secrets</title>
		<link>http://blog.fuseyism.com/index.php/2008/05/26/sharing-secrets/</link>
		<comments>http://blog.fuseyism.com/index.php/2008/05/26/sharing-secrets/#comments</comments>
		<pubDate>Mon, 26 May 2008 21:34:16 +0000</pubDate>
		<dc:creator>gnu_andrew</dc:creator>
		
		<category>GNU Classpath</category>

		<category>OpenJDK</category>

		<guid isPermaLink="false">http://blog.fuseyism.com/index.php/2008/05/26/sharing-secrets/</guid>
		<description><![CDATA[One interesting issue when writing a runtime class library for Java is how to give implementation packages, whether they be in gnu.* or com.sun.*, specialised access to the core runtime classes like those in java.lang.  We ran across this problem again recently with GNU Classpath when trying to write CPStringBuilder.  This is a [...]]]></description>
			<content:encoded><![CDATA[<p>One interesting issue when writing a runtime class library for Java is how to give implementation packages, whether they be in gnu.* or com.sun.*, specialised access to the core runtime classes like those in java.lang.  We ran across this problem again recently with GNU Classpath when trying to write CPStringBuilder.  This is a StringBuilder variant that differs in how it utilises its internal character array.  StringBuffer and StringBuilder both maintain their own character array throughout their life, creating a new larger one and copying when appropriate.  When toString() or substring(int,int) is called, the new String object is given a copy of the array.</p>
<p>CPStringBuilder instead optimises for the frequent cases where a StringBuilder is created, used to build a String and then discarded after toString() is called.  It does so by handing a reference to the character array to the new String object on creation.  Once this is done, it flags internally that the array has been used and creates a new one if any further writes are requested.  Thus, using CPStringBuilder should always be one copy more efficient than using StringBuilder or StringBuffer (possibly even creating just a single array if the final string is within the initial capacity) and we now use it internally when the builder does not need to be thread-safe.</p>
<p>The problem with implementing this is that it requires passing the array to the constructor of the String object.  There is no such constructor in the public API for String, although Classpath has had a package-private one for sometime (GCJ and String itself already use it).  But how do we access this from the gnu.java.lang package?  Our current method is to use reflection, and thus we have VMCPStringBuilder so VMs can optimise this natively.</p>
<p>When looking through OpenJDK for the VM project, I noticed that they have a rather interesting solution to this.  This is encapsulated in sun.misc.SharedSecrets.  This class provides access to instances of a number of public interfaces, such as sun.misc.JavaLangAccess.  The actual implementations are provided as inner classes in the appropriate package e.g. java.lang, where it has access to the private and package-private variables and methods within.  For instance, JavaLangAccess provides access to the constant pool for a particular class.</p>
<p>The only noticeable negative side effect of this is that any external class may also call these methods.  For example:</p>
<pre>
import sun.misc.SharedSecrets;

public class TestSecrets
{
  public static void main(String[] args)
  {
    System.out.println(SharedSecrets.getJavaLangAccess().getConstantPool(String.class));
  }
}
</pre>
<p>whereas the equivalent for GNU Classpath:</p>
<pre>
import gnu.java.lang.VMCPStringBuilder;

public class TestCPSecrets
{
  public static void main(String[] args)
  {
    System.out.println(VMCPStringBuilder.toString(new char[]{'H','e','l','l','o'},0,5));
  }
}
</pre>
<p>fails to compile because VMCPStringBuilder is package-private (although the equivalent is possible by using CPStringBuilder in this case).  As a result, it becomes slightly more important to ensure that the possible damage from using these classes is limited.</p>
<p>That said, this may be an interesting and more efficient method for us to look into for GNU Classpath.</p>
<p><a id="more-56"></a><!--more-->
</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fuseyism.com/index.php/2008/05/26/sharing-secrets/feed/</wfw:commentRss>
		</item>
		<item>
		<title>More on rms</title>
		<link>http://blog.fuseyism.com/index.php/2008/05/06/more-on-rms/</link>
		<comments>http://blog.fuseyism.com/index.php/2008/05/06/more-on-rms/#comments</comments>
		<pubDate>Tue, 06 May 2008 21:25:31 +0000</pubDate>
		<dc:creator>gnu_andrew</dc:creator>
		
		<category>GNU Classpath</category>

		<category>OpenJDK</category>

		<category>Free Software</category>

		<guid isPermaLink="false">http://blog.fuseyism.com/index.php/2008/05/06/more-on-rms/</guid>
		<description><![CDATA[So I went to the rms talk last Thursday and throughly enjoyed it.  This was the second time I&#8217;d seen him speak, and can certainly recommend it to others.  As others have remarked, he is quite entertaining to listen to and the way he upholds and adheres to his values is worthy of [...]]]></description>
			<content:encoded><![CDATA[<p>So I went to the rms talk last Thursday and throughly enjoyed it.  This was the second time I&#8217;d seen him speak, and can certainly recommend it to others.  As others have remarked, he is quite entertaining to listen to and the way he upholds and adheres to his values is worthy of admiration.  The last time I saw him speak (maybe three or four years ago in Sheffield), it was on the subject of software patents.  This time round, I was treated to a more general FOSS talk, which touched on well-known topics such as the history of GNU, the whole GNU/Linux debacle and truly Free distros along with DRM.  rms also made specific mention of commercial Free Software (a common point of confusion for many) and of Free Software in education.</p>
<p>The latter I feel is very important and, as I currently work in a University, it&#8217;s a topic close to my heart.  Access to source code is an invaluable learning aid.  The few pieces of source code our students see, that they haven&#8217;t developed with their own hands, are throughly mothballed pieces of code which barely hang together by a string, having being developed by one academic long ago and then passed on like some hand-me-down.  They certainly aren&#8217;t examples of good coding, but you won&#8217;t always find this in Free Software either.  What you will find is code that has been used by hundreds if not thousands of users.  Code which has been built on numerous platforms and maintained by GNU/Linux distributions.  Code which has stood the test of time and experience, even if it still comes out dirty at the end.  By contrast, the examples most students see are reused year after year with little to no change to the code.  One of our lecturers is currently only distributing the code the students need as binary simply because the code itself is so ugly and hairy he doesn&#8217;t want them to use it as an example.  The advent of the <a href="http://openjdk.java.net/">OpenJDK</a> project will help, because it should mean that the software on the desktops of Free Software users more and more utilises Java.  Why is this important? Because the majority of students are taught Java first and foremost.  Most of our students never use C throughout their undergraduate life.  So examples of big bodies of Java code are what&#8217;s needed and the OpenJDK is a great contribution in this respect, as is <a href="http://www.gnu.org/software/classpath">GNU Classpath</a> &mdash; they both provide samples of the good, the bad and the ugly.</p>
<p>The other important point about Free Software in Education is the &#8216;get them while they&#8217;re young&#8217; theory, which rms likened to addicting children to drugs.  He seems to like harsh metaphors, but this one I feel is not too overboard.  Certainly, proprietary software vendors provide school and university students with cut-down or gratis copies of their wares.  The students get used to this software and start to use it.  In many cases, they are effectively forced to, as part of their studies.  When they then step out into the big wide world, this is all they know.  And our teachers and lecturers, far from promoting sharing and education as they should, are helping this addiction process, even if it&#8217;s simply by distributing a Word document to students or using that as the format for a handin.  I&#8217;ve had to repeatedly mail back our university admin staff of late to obtain the minutes to meetings in a format other than the Word document they keep dropping in my inbox.  One would hope they would start to take the hint&#8230;</p>
<p>For the finale of the talk, we were lucky enough to be visited by <a href="http://www.stallman.org/saint.html">St. IGNUcius</a> of the Church of Emacs.  rms then took questions from the audience for well over an hour.  He has a very admirable way of doing this; he clearly takes in every word being said, and you can hear the response before it comes when someone mentions &#8216;open source&#8217; rather than &#8216;free software&#8217; or some other faux pax, which they really should have known better than to utter, given the preceding two hours talk.  I&#8217;m really surprised rms didn&#8217;t get more exsasperated than he did at some of them.  I guess he must be used to it by now.  He certainly seems to have a clear well-thought out answer for everything.</p>
<p>For those who couldn&#8217;t make the talk, I recorded it in full (with questions) and, <a href="http://manchester.fsuk.org/blog/2008/05/06/free-software-in-ethics-and-society-richard-stallman-manchester-1st-may/">with the help of Tim Dobson from the Manchester Free Software group</a>,  have made this available on-line. Where possible, we&#8217;d prefer you obtain the video from the torrent to reduce bandwidth load on those kind enough to host this.  You can find the appropriate links on <a href="http://fuseyism.com/">my website</a>.  If anyone would like to provide a further HTTP mirror of this, please get in touch.  You can also help the Free Software community by helping to seed this via BitTorrent &#8212;  this will help others get a copy <img src='http://blog.fuseyism.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />
</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fuseyism.com/index.php/2008/05/06/more-on-rms/feed/</wfw:commentRss>
		</item>
		<item>
		<title>RMS In The UK</title>
		<link>http://blog.fuseyism.com/index.php/2008/04/30/rms-in-the-uk/</link>
		<comments>http://blog.fuseyism.com/index.php/2008/04/30/rms-in-the-uk/#comments</comments>
		<pubDate>Wed, 30 Apr 2008 19:43:03 +0000</pubDate>
		<dc:creator>gnu_andrew</dc:creator>
		
		<category>Free Software</category>

		<guid isPermaLink="false">http://blog.fuseyism.com/index.php/2008/04/30/rms-in-the-uk/</guid>
		<description><![CDATA[For those who haven&#8217;t yet heard, Richard Stallman will be doing a rare UK talk tomorrow in Manchester.
‘Free Software in Ethics and Practice’ - speaker: Richard Stallman
Thursday 1st May, 2008 - Talk starts at 6:45pm (ends approx. 8:30pm) with refreshments from 6:15pm.
Venue: Room D1, Renold Building, University of Manchester, Sackville Street, Manchester M1 3BB
http://manchester.fsuk.org/blog/
I&#8217;ll be [...]]]></description>
			<content:encoded><![CDATA[<p>For those who haven&#8217;t yet heard, Richard Stallman will be doing a rare UK talk tomorrow in Manchester.</p>
<p>‘Free Software in Ethics and Practice’ - speaker: Richard Stallman</p>
<p>Thursday 1st May, 2008 - Talk starts at 6:45pm (ends approx. 8:30pm) with refreshments from 6:15pm.</p>
<p>Venue: Room D1, Renold Building, University of Manchester, Sackville Street, Manchester M1 3BB</p>
<p><a href="http://manchester.fsuk.org/blog/">http://manchester.fsuk.org/blog/</a></p>
<p>I&#8217;ll be there, fingers cross, and hopefully I&#8217;ll also be able to record the event.
</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fuseyism.com/index.php/2008/04/30/rms-in-the-uk/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Releases, Releases</title>
		<link>http://blog.fuseyism.com/index.php/2008/04/27/releases-releases/</link>
		<comments>http://blog.fuseyism.com/index.php/2008/04/27/releases-releases/#comments</comments>
		<pubDate>Sun, 27 Apr 2008 23:37:04 +0000</pubDate>
		<dc:creator>gnu_andrew</dc:creator>
		
		<category>OpenJDK</category>

		<category>Jikes RVM</category>

		<category>GJDoc</category>

		<category>IcedTea</category>

		<category>Debian</category>

		<category>Gentoo</category>

		<guid isPermaLink="false">http://blog.fuseyism.com/index.php/2008/04/27/releases-releases/</guid>
		<description><![CDATA[It seems a lot of projects and distributions are seeing new releases either now or in the very near future.  This week, we had a very quiet minor release of GJDoc, the GNU Classpath equivalent to javadoc.  0.7.9 includes a few changes that were previously only available in CVS, but the main one [...]]]></description>
			<content:encoded><![CDATA[<p>It seems a lot of projects and distributions are seeing new releases either now or in the very near future.  This week, we had a very quiet minor release of GJDoc, the GNU Classpath equivalent to <code>javadoc</code>.  0.7.9 includes a few changes that were previously only available in CVS, but the main one is a small fix that allows Classpath 0.97.1 documentation to be built.  Our minor .1 release for 0.97 fixed a bug where the JSR166 code was not being included in the documentation build.  With this fixed, it turns out gjdoc would no longer build the documentation as java.util.concurrent.TimeUnit is a rather complicated enumeration that our hacks can&#8217;t bypass.  Michael Koch, in packaging GJDoc for Debian, was kind enough to point out that having the current release of GJDoc not being able to build documentation for the current release of Classpath was a bad thing.  A quick release fixed this by pushing out the fix I made for this issue back in March.  Of course, you can now use javadoc for IcedTea/OpenJDK to build the documentation instead; with another Free JDK about, there&#8217;s no need to just rely on GJDoc.</p>
<p>I do wonder what the long term future for GJDoc should be.  It only works with GNU Classpath at present through a nasty bunch of hacks which cause the parser to skip chunks of the input.  It really needs a major cleanup and to be made to work properly with 1.5 code.  Thomas Fitzsimmons suggested we should merge it into the GNU Classpath codebase which seems a good idea, as it means we don&#8217;t run into this same revision hole we just did.  However, it is worth maintaining GJDoc at all? For me, the main features it has over the OpenJDK <code>javadoc</code> are in speed and the look of the output.  A key feature is also that it it plays nicer with Free Software i.e. it includes an option to include the source code with syntax highlighting.  You can see the output for <a href="http://fuseyism.com/classpath/doc/">Classpath 0.97 online</a>.</p>
<p>JikesRVM is also stepping up for a new release, 2.9.3, and this will be the first to showcase the new Classpath support for a non-copying unsynchronised StringBuilder.  This is designed for local method usage where the builder will be converted to an immutable String object rather than leaving the method.  As a result, I&#8217;ve been rushing to get it in a releasable state, as I know there&#8217;s a nasty bug lurking in the older patches JikesRVM has been using recently.  I managed to do this today after we fixed <a href="http://jira.codehaus.org/browse/RVM-456"> a build issue</a>.  It seems the <code>javah</code> in OpenJDK6 outputs differently named header files to those JikesRVM implicitly depends on.  We fixed this by making this dependency explicit as it should be, but perhaps this also uncovered an OpenJDK6 bug.  I&#8217;m not sure where we should be filing these yet, so I just posted to jdk6-dev.</p>
<p>It&#8217;s also nice to hear that Ubuntu has just shipped with IcedTea6 included.  Fedora 9 will also ship early next month (May 13th) with similar support and an OpenSUSE build is in the works.  It&#8217;s nice to see Java support making it into the mainstream, thanks to Sun&#8217;s recent moves to make their JDK Free Software.  On the less positive side, it seems that Gentoo won&#8217;t see support for IcedTea6 anytime soon.  The Java Gentoo developers seem to be on a strange mission to support only the proprietary Java solutions (pretty much an inverse of what Fedora, Ubuntu and Debian do).  In porting my IcedTea6 ebuild from <a href="http://fuseyism.com/hg/libre_java_overlay">the Libre Java overlay</a> to their own overlays, they seem to have decided to drop support for GCJ&#8230; I&#8217;m not even going to go into how dumb this action is, as I could be here a while.  Suffice to say, I don&#8217;t see how IcedTea6 can be bootstrapped without GCJ, let alone how they expect to then build it on architectures like PPC, PPC64 and ARM, as we&#8217;ve seen happen on the OpenJDK distro mailing list.  It seems a very odd move for a distribution supposedly built on compiling things from source&#8230; </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fuseyism.com/index.php/2008/04/27/releases-releases/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Gentoo and Free Java</title>
		<link>http://blog.fuseyism.com/index.php/2008/04/18/gentoo-and-free-java/</link>
		<comments>http://blog.fuseyism.com/index.php/2008/04/18/gentoo-and-free-java/#comments</comments>
		<pubDate>Fri, 18 Apr 2008 09:09:22 +0000</pubDate>
		<dc:creator>gnu_andrew</dc:creator>
		
		<category>GNU Classpath</category>

		<category>OpenJDK</category>

		<category>IcedTea</category>

		<category>Gentoo</category>

		<guid isPermaLink="false">http://blog.fuseyism.com/index.php/2008/04/18/gentoo-and-free-java/</guid>
		<description><![CDATA[Over the last week, I&#8217;ve been getting Gentoo and Free Java up and running on my new x86_64 box, a process which has culminated in the creation of my own overlay:
http://fuseyism.com/hg/libre_java_overlay
For those unfamiliar with Gentoo, an overlay is an additional set of packages (known in Gentoo as ebuilds, as for a source-based distribution the packages [...]]]></description>
			<content:encoded><![CDATA[<p>Over the last week, I&#8217;ve been getting Gentoo and Free Java up and running on my new x86_64 box, a process which has culminated in the creation of my own overlay:</p>
<p>http://fuseyism.com/hg/libre_java_overlay</p>
<p>For those unfamiliar with Gentoo, an overlay is an additional set of packages (known in Gentoo as ebuilds, as for a source-based distribution the packages are essentially build scripts) which can be placed over the top of the main system tree to provide newer/better versions of existing builds and completely new ones too.</p>
<p>The Libre Java overlay includes a build for GCJ 4.3 (adapted from the one for an alpha snapshot in the java-gcj-overlay) and one for IcedTea6.  Unfortunately, Gentoo&#8217;s Java support seems incredibly broken &#8212; the main stable and experimental (~) distributions don&#8217;t include OpenJDK or IcedTea, and the stable versions of GNU Classpath and VMs like CACAO and JamVM are ancient.  GNU Classpath is still on 0.90, which is older than the one in Debian stable.  It also tries to pull in the proprietary JDK by default; I recommend Free Java Gentoo users add:</p>
<p>dev-java/sun-jdk<br />
dev-java/ibm-jdk<br />
dev-java/jrockit<br />
dev-java/diablo<br />
dev-java/sun-jre-bin<br />
dev-java/blackdown-jdk</p>
<p>to package.mask to avoid accidentally installing proprietary software on their machines.  Unfortunately, stable versions of portage have yet to honour any license scheming, although <a href="http://www.gentoo.org/proj/en/glep/glep-0023.html">it is in the unstable version</a>.  If you use Gentoo, feel free to try out the ebuilds from my overlay and give feedback.  To use it, just get Mercurial (<code>emerge mercurial</code>), clone the repository:</p>
<p><code>hg clone http://fuseyism.com/hg/libre_java_overlay</code></p>
<p>and then add the following to <code>/etc/make.conf</code>:</p>
<p><code>PORTDIR_OVERLAY=&lt;location you downloaded libre_java_overlay to&gt;</code></p>
<p>The build process for IcedTea6 is <a href="http://icedtea.classpath.org/wiki/GentooBuildInstructions">fully documented on the IcedTea wiki</a>.
</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fuseyism.com/index.php/2008/04/18/gentoo-and-free-java/feed/</wfw:commentRss>
		</item>
		<item>
		<title>In Reply to AfC</title>
		<link>http://blog.fuseyism.com/index.php/2008/04/10/in-reply-to-afc/</link>
		<comments>http://blog.fuseyism.com/index.php/2008/04/10/in-reply-to-afc/#comments</comments>
		<pubDate>Thu, 10 Apr 2008 17:19:52 +0000</pubDate>
		<dc:creator>gnu_andrew</dc:creator>
		
		<category>OpenJDK</category>

		<category>IcedTea</category>

		<guid isPermaLink="false">http://blog.fuseyism.com/index.php/2008/04/10/in-reply-to-afc/</guid>
		<description><![CDATA[Having just read Andrew Cowie&#8217;s recent blog, I wanted to comment but couldn&#8217;t find an option to do so there.  So here it comes here on my blog instead&#8230;
Simply put, OpenJDK is so named because it&#8217;s a FOSS version of Sun&#8217;s JDK the implementation, not Java, which is the specification. Just because OpenJDK is [...]]]></description>
			<content:encoded><![CDATA[<p>Having just read <a href="http://research.operationaldynamics.com/blogs/andrew/software/free-java/sun-secret-webserver.html">Andrew Cowie&#8217;s recent blog</a>, I wanted to comment but couldn&#8217;t find an option to do so there.  So here it comes here on my blog instead&#8230;</p>
<p>Simply put, OpenJDK is so named because it&#8217;s a FOSS version of Sun&#8217;s JDK <strong>the implementation</strong>, not Java, which is the specification. Just because OpenJDK is the reference implementation doesn&#8217;t mean it is the specification as well.  The equivalent would be calling Tomcat OpenServlet (it being the reference servlet implementation).  This also reflects on the comments about the HTTP server being in com.sun.  This is because it is part of Sun&#8217;s implementation and not part of the Java specification.  To become part of the specification requires a JSR and interaction with the JCP which are distinct and separate from OpenJDK.  That&#8217;s the process that would result in java.net.httpserver (or, more likely, javax.net.httpserver because it&#8217;s not an essential part of the core).</p>
<p>I hope that clears things up.  I&#8217;m really happy OpenJDK has found an interesting alternate use that clearly demonstrates the benefits of the FOSS implementation over the proprietary one, and thanks for blogging on this.  Now you should go build IcedTea&#8230; <img src='http://blog.fuseyism.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />
</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fuseyism.com/index.php/2008/04/10/in-reply-to-afc/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Changes Indeed</title>
		<link>http://blog.fuseyism.com/index.php/2008/04/09/changes-indeed/</link>
		<comments>http://blog.fuseyism.com/index.php/2008/04/09/changes-indeed/#comments</comments>
		<pubDate>Wed, 09 Apr 2008 19:52:50 +0000</pubDate>
		<dc:creator>gnu_andrew</dc:creator>
		
		<category>GNU Classpath</category>

		<category>Summer of Code</category>

		<category>OpenJDK</category>

		<category>IcedTea</category>

		<category>VM Interface</category>

		<guid isPermaLink="false">http://blog.fuseyism.com/index.php/2008/04/09/changes-indeed/</guid>
		<description><![CDATA[I read Mario and Roman&#8217;s posts this morning and they inspired me to post too, after realising that there was a lot of stuff that&#8217;s been going on that I also hadn&#8217;t blogged about.  Firstly, Google Summer of Code closed its doors to student applications on Monday (well Tuesday really, here in Europe) and [...]]]></description>
			<content:encoded><![CDATA[<p>I read Mario and Roman&#8217;s posts this morning and they inspired me to post too, after realising that there was a lot of stuff that&#8217;s been going on that I also hadn&#8217;t blogged about.  Firstly, Google Summer of Code closed its doors to student applications on Monday (well Tuesday really, here in Europe) and we were rather disappointed to find only two applications for GNU Classpath, both for <code>java.util.Scanner</code>.  This is a real pity, as I think we had some really good ideas on the list (and even more interesting ones were left to one side after AICAS didn&#8217;t get in as a mentoring organisation).  </p>
<p>I think students picked Scanner because it&#8217;s used on many undergraduate courses these days (something of which I was blissfully unaware, as it&#8217;s years since I did any introductory Java course or read an introductory book).  Unfortunately, the future of such an idea is really dubious, as I explained to our first applicant online, as there is already an implementation (no idea how good or complete) by a student of Christian Thalinger (twisti) which we hope to get into the codebase, once the legalities are sorted out.  Equally, we are looking at using BrandWeg to get the OpenJDK version; this has only really ground to a halt because I found we&#8217;d need to either update our regex implementation or also bring in the OpenJDK one and I simply haven&#8217;t had time.  Again, BrandWeg was on the ideas list, but no takers <img src='http://blog.fuseyism.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>Personally, I&#8217;ve mainly been looking at IcedTea recently, in preparation for the OpenJDK challenge work.  I haven&#8217;t really blogged on the details of this yet, but my first port of call will be to take an OpenJDK/IcedTea build and attempt to get the class library from that to work with one of our Free GNU Classpath VMs.  Rather than trying to build the Sun interface into that VM, I want to use that process to figure out the best way to create a more well-documented VM interface including support for VMs that don&#8217;t want to go the native route for the VM interface.  I intend this to be an interactive process so I&#8217;ll be posting results and hoping for feedback as we go along.  As the OpenJDK challenge infrastructure gets sorted, I expect this will take place under the auspices of an OpenJDK project.  I&#8217;ll be tagging appropriate blogs with the &#8216;VM interface&#8217; category so feel free to track them.</p>
<p>One question that does spring to mind is whether the challenge projects are intended to work with OpenJDK or OpenJDK6.  IcedTea work has pretty much shifted to OpenJDK6 (in the form of IcedTea6) with good reason; distros want to ship a stable Free equivalent to JDK6, not an early alpha of JDK7 (which doesn&#8217;t yet even have a JSR attached to it).  Ideally, I think we should maintain both, as the IcedTea porting process seemed to suggest the differences weren&#8217;t too major.  But feedback here would be welcomed.  I&#8217;d also like to make the new VM work easy for others to test, so hopefully some integration with IcedTea will be possible there too.  I&#8217;m very impressed with IcedTea so far, especially Gary&#8217;s zero port (as my previous blogs hopefully illustrate).  There are some niggles, but lots of eyes and people testing it in different environments will fix these.  It&#8217;s great to have OpenJDK on PPC64 for one thing!</p>
<p>To close, I notice that people are moving around in the Free Java world (as my reference to Mario&#8217;s title in mine hopefully indicates).  First, Tom Marble left Sun earlier this year, and now we find that Dalibor has successfully stepped into his (hopefully clean) shoes.  To me, there doesn&#8217;t seem to be a more appropriate replacement, though it does make his governance board position interesting&#8230; Mario has also now moved to AICAS, so it seems like most people are getting new jobs and different roles in the new Free Java world brought about by OpenJDK.  Things will change for me as well soon, as I&#8217;m due to finish my PhD here in October (well the funding runs out at least, which means I need some alternate source of cash at any rate).  So it will be interesting to see where I am in a year from now too&#8230;
</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fuseyism.com/index.php/2008/04/09/changes-indeed/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
