Announcing the IcedTea Buildbot

Over the last few weeks Xerxes and I have been experimenting with a buildbot setup which you can see at: http://builder.classpath.org/icedtea/buildbot/waterfall

It does various builds on ia32, x86_64 and arm buildslaves whenever a commit is pushed to icedtea6, icedtea7, icedtea-web or the testrepo. The slaves also test various alternative runtime setups (cacao, shark, zero). By doing continuous builds on all these various setups we hope to keep the projects green at all times.

More information and how to help extend the current setup on the mailing list.

Freedom Box Project

Debian Freedom Box Project

The Debian Freedom Box Project has the cutest logo. I want one!

There is now also the The FreedomBox Foundation. They are raising some money through their “Push the FreedomBox Foundation from 0 to 60 in 30 days” initiative.

Does anybody have recommendations for which of the targeted plug devices to get?

OpenJDK governance Score Card

Simon Phipps made a handy dandy OpenJDK governance Score Card. Taking the proposed OpenJDK Community Bylaws draft proposal, and measuring it against the Open-By-Rule Benchmark. So you can quickly see how the current draft is doing against the ten benchmark rules (“open”, “meritocratic”, “oligarchy”, “license”, “copyright aggregation”, “trademark”, “roadmap”, “co-developers”, “forking” and “transparency”). Scoring goes from -10 till 10…

First thoughts on OpenJDK Community Bylaws

I am not really sure what to think about the proposed OpenJDK Community Bylaws. There are some very obvious issues in there:

  • The governance board is responsible for sufficient infrastructure for the members, but doesn’t have any resources for that.
  • There is a direct tie to the JCP and the platform JSRs, but those are currently published under license terms that are GPL-incompatible (See Moving Java forward through the JCP?).
  • Members are those that assign all rights to Oracle. (See Trusting companies with your code… and Oracle tries to destroy free java – now what?).
  • It doesn’t define the minimum (GPL) copyright, trademark and patent grants as used by the project (although it does mention it should be open-source).
  • The board consists of Oracle and IBM appointees, with only a minority for independent candidates (the second and third largest corporate contributors, Red Hat and Google are not even mentioned.)

I have posted a longer analysis to the mailinglist.

Hope those blockers can be fixed, but there is a long way to go IMHO.

New GPG key

Finally created a new GPG key using gnupg. The old one was a DSA/1024 bits one and 8 years old. The new one is a RSA/2048 bits one. I will use the new one in the future to sign any release tarballs I might create.

pub   2048R/57816A6A 2011-01-29
      Key fingerprint = 47CC 0331 081B 8BC6 D0FD  4DA0 8370 665B 5781 6A6A

It currently is only signed by my old key (0x95ABF50C), so if you trusted that really was me, then you can be pretty sure the new one is also me. But it would be good to get some more people to confirm the transition. So if you happen to come to Fosdem next weekend and run into me, please exchange GPG key details to confirm each others identity. Full public key available from my homepage and on the various keyservers (gpg --recv-key 57816A6A) .

Who knew IPv6 would be this easy?

Obvious, with only hours till we run out of ipv4 addresses, I am a little late to the party, but it was ridiculously easy to get an IPv6 tunnel going so that I will be able to happily connect to all those new IPv6-only hosts in the future. It literally took just 5 minutes.

  • On Fedora make sure you also run the network scripts on startup (it seems to default to NetworkManager only these days): chkconfig networking on.
  • Look up your ISP IPv6 tunnel setup procedure (or if they haven’t one yet, look for a public one like Sixxs, Freenet6 or Hurricane Electric).
  • Punch in the ipv4 tunnel address and the ipv6 addresses provided into /etc/sysconfig/network-scripts/ifcfg-sit1.
  • Add NETWORKING_IPV6=yes and IPV6_DEFAULTDEV=sit1 to /etc/sysconfig/network.
  • Restart networking: service networking restart.
  • Done! You can now happily explore the IPv6 space: traceroute6 fedoraproject.org. And check http://test-ipv6.com/ to see your are ready for World IPv6 day.

Example /etc/sysconfig/network-scripts/ifcfg-sit1 file:

DEVICE=sit1
BOOTPROTO=none
ONBOOT=yes
IPV6INIT=yes
IPV6TUNNELIPV4=198.51.100.241
IPV6ADDR=2001:db8:10:a8c::2

Apparently things are even easier with 6to4 if you have a direct IPv4 address, but the above works even behind a NAT. The above doesn’t use all the fancy IPv6 features yet like providing automatic configuration for all your devices in your network. Such a tunnel will automagically provide you with at least 2^64 IPv6 addresses, and most likely you get a whole IPv6 /48 network meaning you will be getting 2^16 * 2^64 addresses (yes, that is 2^48 times more addresses than there are currently IPv4 addresses in the world!). But it is a nice start to make sure the future transition will be smooth.

See also /usr/share/doc/initscripts-*/ipv6-tunnel.howto and/or /usr/share/doc/initscripts-*/ipv6-6to4.howto for more information, including setting up all the fancy routing stuff on your local network if you want.

Free Java @ Fosdem Talk Schedule

FOSDEM, the Free and Open Source Software Developers' European Meeting

Saturday 5, Sunday 6 February 2011, Fosdem, Brussels, Belgium. Room AW1.125. Updated! Now with even more talks!

Saturday

When

What

Who

13:00-13:10

Welcome to Java Sans Frontières

Tom Marble

13:10-14:00

State of OpenJDK

Mark Reinhold, Joe Darcy

14:00-14:30

IcedRobot, the GNUlization of Android

David Fu, Mario Torre

14:30-15:00

break + group picture

15:00-15:20

Why Linux distributions hate Java

Thierry Carrez

15:20-15:40

The Java Packaging Nightmare

Torsten Werner

15:40-16:00

Guide to packaging for developers

Stanislav Ochotnicky

16:00-16:25

break

16:25-16:30

What makes IcedTea tick?

Mark Wielaard

16:30-17:00

What in the world is this ‘IcedTea-Web’ project?

Deepak Bhole

17:00-17:30

The Free javaws Implementation in IcedTea

Omair Majid

17:30-18:00

break

18:00-18:30

Lessons open sourcing Java taught me

Simon Phipps

18:30-19:00

The Rise and Fall and Rise of Java

Steve O’Grady

evening

../LibreDinner

 

Sunday

When

What

Who

09:30-10:00

The Free Java Jigsaw Puzzle

Tom Marble

10:00-10:30

The Modular Java Platform

Mark Reinhold

10:30-11:15

Project Coin – Language Evolution in the Open

Joe Darcy

11:15-11:30

break

11:30-12:00

Observing HotSpot with SystemTap

Mark Wielaard

12:00-12:30

JamVM Gets a New Flavour: Porting JamVM to OpenJDK

Robert Lougher

12:30-13:00

IndyDroid – JSR 292 on Android

Rémi Forax

13:00-13:30

lunch and keysigning

13:30-14:00

Azul’s Foray into Open Source

Cliff Click

14:00-14:30

Free Java – Reasons to be cheerful!

Ben Evans, Martijn Verburg

14:30-15:00

PHP.reboot a dynamic language as fast as Java (almost!)

Rémi Forax

15:00-15:30

break

15:30-16:00

Rhino and RingoJS – server-side JavaScript on the JVM

Hannes Wallnöfer

16:00-16:30

AltosUI – Rocket Telemetry Ground Station

Bdale Garbee

16:30-16:55

Low latency in Gervill and JavaSound

Karl Helgason

16:55-17:00

Garbage Collection (wrap-up)

Tom Marble

Free Java @ FOSDEM 2011 – CFP extended to 17 December!

We already have some awesome proposals… but we want MORE!
So we’re giving you a little more time to get those talk proposals in.

We have reserved some slots for quick lightning talks (5 min), these can be done spontaneously at the event, but please do let us know if you are attending and will likely want to do one, even if you are not 100% sure yet. That way we can better schedule the time slots.

If you don’t want to give a talk, but want to support speakers attending the Free Java devroom at FOSDEM 2011, please see our sponsoring campaign: http://pledgie.com/campaigns/14110

Original announcement with adjusted dates follows:

Join us at FOSDEM 2011 to be a part of our sessions where we’ll discuss the state of Free Java!

Our theme is “Java Sans Frontières”

  • Why Free Java technology is awesome
  • Standing on the Shoulders of Free Java
  • The future of Free Java

The Call For Participation is OPEN NOW, but closes on 17th December…
So send in a talk proposal today and join us in Brussels 5-6 February!

Why FOSDEM?

  • Engage in scintillating discussions with smart hackers over world famous Belgian Beer
  • Join the Web of Trust by getting your strong new key signed
  • Indulge in exquisite chocolate
  • Visit historic Brussels within walking distance

Why the Free Java DevJam?

  • This is the most significant non-commercial, neutral environment for Java developers to meet
  • Learn how to get involved in technical Free Java projects
  • We will not shy away from politics (especially this year)!
  • We will get together for an awesome Dinner
  • You will meet historic hackers in the evolution of Free Java

Please join the freejava-devroom@lists.fosdem.org list for general discussion about the event.

To submit a formal Talk Proposal follow the guidelines at
http://wiki.debian.org/Java/DevJam/2011/Fosdem/CallForParticipation

Respectfully,

Moving Java forward through the JCP?

Mark Reinhold recently pointed out that he, Joe Darcy and Brian Goetz had submitted their OpenJDK work on features for JDK7 and JDK8 to the JCP for standardization. Normally I am somewhat sceptical about the JCP. I don’t believe the JCP fosters a truly open process and discourages Free Software implementations. But Mark, Joe and Brian seem to be proving me wrong. Of course that shouldn’t have surprised me, since they have shown themselves to do everything in the open and actively involve the community in all their OpenJDK work. All their code has been published under the GPL for everyone’s free use.

The JSRs mention that the code for the Reference Implementation will be developed within the OpenJDK Community. Mark has kept the JDK7 planning page and features page public and up to date. And all (prototype) code of the various proposed JSR components is already available under the GPL. People who have been following the various OpenJDK mailinglists know that they have also already announced that they will keep using the existing OpenJDK repositories for developing the Reference Implementation and they look forward to continued collaboration with the community through those same open public mailinglists.

So these might well be the most open, public and free java platform JSRs out there. Now the Free Software implementation defined through the community in OpenJDK comes first, and then gets standardized through the JCP. That seems a very good thing.

There are however still some small issues that in my humble opinion make this standardization effort less effective than could be. That mainly comes from some of the legalese included in these JSR proposals. The legal language used seems to not have caught up with the new OpenJDK reality yet. This might lead to the schizophrenic situation that the community that helps and takes advantage of the fact that we now collaborate in the open might not actually be able to use the results of this standardization process to check their own implementations are according to the official specification because the current terms seem incompatible with the terms of the GNU General Public License used for OpenJDK, IcedTea and other community derivatives of the code that implements the reference implementation.

Firstly the proposed specification license is tightly coupled with (passing) the TCK (which has its own problems, see the last point below) and contains restrictions, specifically on sub and super setting, which are incompatible with the GPL. But since most of the specification, like those for the full class library are also published under the GPL (just do a yum install java-1.6.0-openjdk-javadoc), such restrictions on the official final specification license are counter productive and conflict with the actual implementation license used for OpenJDK. Secondly the proposed reference implementation license is still proprietary. As I pointed out before, this prevents anybody comparing pure OpenJDK, IcedTea or other derived binaries with the “official” reference implementation binaries. This again is counter productive for the community that actually produces these GPLed binaries. Mark Reinhold used to publish binaries of the Jigsaw work in progress under free terms on dl.openjdk.java.net, which would be a much better fit. Finally the proposed TCK license contains (field of use) restrictions. These were unworkable for OpenJDK6 and so a special Community TCK License Agreement had to be created. It would be nice if such special case TCK license terms weren’t necessary and OpenJDK7 derivatives could have a TCK license without GPL-incompatible restrictions from the start.

If these legal nitpicks could be fixed, then these platform JSRs look pretty sweet. Without these legal terms fixed however we could end up with a somewhat schizophrenic split community. Where those who collaborate on the open, free, GPLed implementation that is being standardized aren’t actually allowed to use the finalized specification, reference implementation and compatibility testsuite to check their own work.

Java Hotspot MIPS port

LIU Qi from Longsoon wrote up some OpenJDK MIPS port related information on the IcedTea wiki: http://icedtea.classpath.org/wiki/MIPSPort. Go check it out if you own some MIPS hardware and want to help out.