Older blog entries for mjw (starting at number 123)

Luis Villa’s GPL v3, the Q&A;

GPLv3CopyleftAt the end of this month the long awaited version 3 of the GNU General Public License will finally be released and slowly but surely various projects will adopt this new license upgrade. If you have only followed the public drafting process that has gone on since November 2005 from a distance or if you were already sold on the first draft in January 2006 you certainly want to read up on Luis Villa’s GPL v3, the Q&A (part 1), a lot has been improved since those early days. As a small teaser here are the first and the last Q/A (and this is only part 1 of 4!):

Q: So why are we here?

A: At the end of this week, after 16 years, the Free Software Foundation should bless version three of the GNU General Public License, the sequel to what is arguably the most widely used and most impactful copyright license ever.1 Quite literally everyone who makes software - open, proprietary, or web - needs to understand the v3 and figure out if it is evolutionary, revolutionary, or DOA, and how it impacts them as a potential contributor, consumer, cooperator or competitor. This is my small contribution towards that understanding.

Q: Bottom line- in a year, what are we going to be saying about GPL?

A: Over the next few days I’ll explore the details of how developers and companies might feel about the new license, but I think the bottom line is that within a few years many will switch over. Communities who feel particularly threatened by patents, who badly want to draw from Apache, or who are particularly inclined to protect users and disregard possible costs to developers will adopt it particularly quickly. After that, adoption will slow for a while, but as users, developers, and corporates get comfortable, the various small improvements will gradually make it the default license for a plurality of new open source code, despite the understandable reservations (some well-grounded, some not) that many people currently feel.

So go read it and make sure to catch up when parts 2, 3 and 4 are published.

Syndicated 2007-06-26 10:41:08 from Mark J. Wielaard

Mercurial versus Subversion

Since I wanted to look at bit at the history and changes made to OpenJDK over time, but wasn’t going to be online for a while (and the subversion server of openjdk seems a little slow even if I were online) I decided to create a read-only openjdk mercurial mirror so I could carry the whole project history with me on a laptop and do quick diffs. Creating a mercurial mirror of a subversion repo (and keeping it up to date with a little cronjob) is pretty easy with hgsvn. The benefits are really huge. Not only is making diffs between any two versions of any files instant once you have a local mercurial clone, it also gives you an easy way to experiment with your local patches and have them under version control, creating, merging and generating meaningful diffs between branches is much nicer than with subversion, and it is much, much more space efficient than subversion. A checkout of 1 revision of openjdk with subversion is 1.2GB, the whole mercurial repo, which includes all revisions, takes just 740MB disk space. Amazing.

Syndicated 2007-06-24 20:35:03 from Mark J. Wielaard

Sharing, forking, and merging

InfoQ had a nice article about the various GNU Classpath/OpenJDK hybrids, mentioning the work by the various teams (icedtea, ikvm, cacao, etc) doing the integration with as conclusion:

It is encouraging that the code sharing is already going both ways. Free Software projects are not just incorporating the newly freed code, they are also helping to advance the OpenJDK. It seems clear that this is only the beginning.

Funny how the same facts can lead to both screaming hell and doom about evil forking or, as this article, praise the sharing of code. Sharing, forking, and merging code are always intertwined in interesting ways.

Syndicated 2007-06-22 10:25:04 from Mark J. Wielaard

Wikipedia IcedTea (software)

IcedTea (software)

From Wikipedia, the free encyclopedia

This article is about the Java Development Kit. For the drink, see Iced tea. For other uses, see Iced tea (disambiguation).

Current event marker This article or section contains information about computer software currently in development.The content may change as the software development progresses. Software Development

Syndicated 2007-06-14 22:37:14 from Mark J. Wielaard

Influencing OpenSolaris

Linus Torvalds had an interesting comment on moving the linux kernel to GPLv3:

If Sun really _is_ going to release OpenSolaris under GPLv3, that _may_ be a good reason. I don’t think the GPLv3 is as good a license as v2, but on the other hand, I’m pragmatic, and if we can avoid having two kernels with two different licenses and the friction that causes.

I personally think GPLv3 is a massive improvement over GPLv2 and that we really need the better compatibility, internationalization, explicit patent peace provisions and the requirement for installation information that it provides. So I am hoping for a massive upgrade as soon as it comes out at the end of this month. BTW. Please add any last call comment asap at http://gplv3.fsf.org/ if you haven’t done so before.

Also Glyn Foster seems to have noticed our efforts and made the following funny remark on the OpenSolaris indiana-discuss list:

We need a plan, we need some iced tea.

Go Gman!

Syndicated 2007-06-12 10:41:16 from Mark J. Wielaard


I have to admit I hadn’t expected a fully free boostrappable OpenJDK already, but there it is! IcedTea patches OpenJDK so that it doesn’t need any binary blobs anymore, replacing the blobs with GNU Classpath code, compiles it all using gcj and (optionally) bootstraps itself using the just build hotspot and javac. Impressive! No full gui support yet, but non-gui stuff runs fine and even the Mauve test results look pretty decent. Woot!

Syndicated 2007-06-07 18:05:18 from Mark J. Wielaard

Free all JITs! Free all JITs! Free all JITs!

The CACAO Team did it again!

CACAO 0.98 “Free all JITs!” released.

This is a major feature enhancement and bug-fix release. Here is a short list of the most important changes:

  • ARM and MIPS32 code generators are now open-source.
  • PowerPC64 code generator was added.
  • Sun’s phoneme CLDC-1.1 classes can now be used as Java core library.
  • Exception throwing code was completely rewritten, this saves JIT code size from 20% up to 50%.
  • Lock-record code was rewritten and a memory leak was fixed.
  • Threads code has been reworked and improved.
  • Exception code has been reworked and improved.
  • Implemented Class/Method/Field getSignature.
  • A lot of stuff has been reworked, fixed or improved in the whole VM code.
  • Fixed memory leak in threads code.

Starting with this release, CACAO can also use Sun’s phoneme CLDC-1.1 classes as Java core library. You can build a CLDC CACAO with or without JNI support (–disable-jni).

CACAO uses GNU Classpath as default Java core library and supports upstream releases or CVS snapshots. This release supports GNU Classpath 0.92 or higher and was tested on some platforms against GNU Classpath 0.95.

Currently supported JIT compiler architectures are:

  • alpha-unknown-freebsd5.4
  • alpha-unknown-linux-gnu
  • arm-unknown-linux-gnu
  • i386-apple-darwin8.8.1
  • i386-unknown-freebsd5.3
  • i686-pc-linux-gnu
  • mips-sgi-irix6.5
  • mips-unknown-linux-gnu
  • powerpc-apple-darwin7.2.0
  • powerpc-unknown-linux-gnu
  • powerpc64-unknown-linux-gnu
  • x86_64-unknown-linux-gnu

Information about working applications and some screenshots can be found on http://www.cacaojvm.org/

Syndicated 2007-06-06 10:28:07 from Mark J. Wielaard

Three great releases

Fun stuff to play with this weekend:

Fedora 7

Fully free 1.5 java programming language stack:

$ gcj --versiongcj (GCC) 4.1.1 20070105 (Red Hat 4.1.1-51)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO

GPLv3 final draft

Changes in this draft include:

  • GPLv3 is now compatible with version 2.0 of the Apache License.
  • Distributors who make discriminatory patent deals after March 28 may not convey software under GPLv3. Novell is not prohibited from distributing this software because the patent protection they arranged with Microsoft last November can be turned against Microsoft to the community’s benefit.
  • Terms have been added clarifying how you can contract for private modification of free software, or for a data center to run it for you.
  • A reference to a US consumer protection statute has been replaced by explicit criteria, for greater clarity outside the US.

GNU Emacs 22

Emacs version 22 includes GTK+ toolkit support, enhanced mouse support, a new keyboard macro system, improved Unicode support, and drag-and-drop operation on X, plus many new modes and packages including a graphical user interface to GDB, Python mode, the mathematical tool Calc, the remote file editing system Tramp, and more.

Syndicated 2007-06-02 14:51:47 from Mark J. Wielaard

JaLiMo - free java stacks for maemo and openmoko

Somehow I had missed JaLiMo (shame on me, it is sponsored by Tarent and Robert Schuster is also working on it) which provides free java stacks for maemo and openmoko, based on Cacao, JamVM, GNU Classpath, java-gnome and MIDPath. They will give a talk at LinuxTag titled Java-Linux-Mobile Platform. Wish I could go. Or better, wish I actually had a N880 or Neo1973 to play with this all.

In related news, Christian got Cacao and GNU Classpath in releasable state on arm as shown by running Eclipse on an armv5l (screenshot). Not sure how usable eclipse is on a n880 or Neo1973 screen, but very cool.

Syndicated 2007-05-22 15:27:30 from Mark J. Wielaard

114 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!