Free Software


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 3rd 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,

The BBC currently have a proposal before OfCom entitled Content Management on the HD FreeView platform. This proposes that OfCom allow them to compress the service information data and only provide the necessary Huffman table to those who license it from the BBC.

Not only does this not prevent anyone from using the service without the table — the video and audio are not encrypted, and the table could be worked out by brute force — but the BBC pretty much acknowledge this in their proposal. It’s all part of taking a chance that this will then allow them to enforce the inclusion of encryption technology on receivers, which will then cause more media companies to buy into HD on FreeView. That itself may or may not happen, but in the process they will make FOSS implementations illegal as they won’t be able to publish source code which includes the Huffman table (despite the idea in 5.28 of the OfCom consultion that FOSS will be fine because FreeSat receivers running Linux exist!)

I strongly suggest that you write a response to the consultation (you have until April the 2nd) so that OfCom understand the negative effect that allowing this will have on the usage of FreeView HD.

Like Andrew Overholt, I’ve recently been looking at the best way to host the pile of videos I’ve accrued over the last few years from recording talks with my DV camera. At the moment, I’m working on the stuff from FOSDEM 09 earlier this month, but I’ve also got recordings from the 07 and 08 events, our Sun Campus Ambassador talks over the last year and a half and many departmental group seminars from the university.

Probably the most well-known is YouTube, but reading their terms of use immediately put me off. They assign blanket rights on contributed content to both themselves and any user of the site, including (most importantly) the ability to create derivative works. Now anyone who knows anything about Free Software will know that creating derivative works is actively encouraged, usually with the proviso that this is under the same terms (see the GNU GPL). However, that’s software. Creative content has its own issues, and one that’s especially of note with recordings of talks is that a derivative work could alter the message conveyed by the speaker.

Imagine you’ve recorded a talk by Richard Stallman (as I did). In a derivative work, someone could alter the message Richard tries to get across to actively promote proprietary software. This is why both I and the FSF choose to use the Creative Commons Attribution-No Derivative license, as can be seen on the recent Stephen Fry video. This ensures that proper credit is given for the work and that it can be freely watched and distributed, while preventing such heinous modifications. Of course, if you’d like to create a legitimate modification, such as providing translation services or transcoding the video to a different format (provided it’s a Free format), then something can be worked out. But a blanket attribution of derivative rights is too risky.

So YouTube is out for that reason. So is one of the other sites suggested by Andrew, Vimeo, for pretty much the same reason. So what are good places to host your video? Dailymotion showed some promise by not handing away your rights left, right and center but they sadly don’t allow you to choose the license given to third parties. I have sent them feedback as requested on their terms of use so we’ll see if anything changes. Both archive.org and blip.net allow a Creative Commons license to be used for your work (just like, incidentally, Flickr does for photos). So that’s where I’ve been posting things so far. You can find the following goodies on archive.org right now:

I also now have a ‘show’ on blip.tv and have posted links to these videos on TheoraSea, a site for the promotion of Ogg Theora videos.

If you plan on posting your own content, I suggest you look carefully at what rights you are passing on to unknown third parties, and make wise choices rather than going for the most popular.

We recently experienced the ‘fun’ of purchasing a new machine via Dell UK. You’d think things might have changed a little in the past ten years, but it seems not. I’ve tend to avoid purchasing machines in this manner, preferring to either build one up myself or taking the Mac option (as I’m going to be stuck with an OS I don’t want either way, and that also used to get me a PowerPC chip).

You are now supposed to be able to purchase a machine with Ubuntu GNU/Linux installed rather than paying the Microsoft tax for their bloated offering. However, it seems Dell’s Inspiron desktop machines are more expensive when you choose this option, rather than being cheaper as one would expect (buying a eeePC without Windows, for example, saves around a hundred pounds). To find the Ubuntu option, I had to go out and search for it manually. It’s not listed under ‘Operating System’; instead, this seems to be a pseudonym for ‘How much do you want to be ripped off today?’, allowing you to move from the cheaper Home Premium version of Vista up to the ‘Ultimate’ version, and also offering a copy of Windows XP for an extra 10 pounds, should one version of Windows not be enough to satisfy you. They also insist on bundling a copy of Microsoft Works (I assume that’s meant to be sarcastic?). The equivalent Ubuntu machine had a lower specification for the same price, yet MS must be getting a cut of the Windows deal.

If GNU/Linux is going to have any chance of competing on the desktop, then we first need an equal playing field. And that doesn’t include Dell ‘recommending’ Windows Vista and hiding other options away, so that they are only found when people actively go looking for them. Microsoft are only doing what they can to improve their own business and please their shareholders. The problem is that companies like Dell and our governments let them do so, and, in the process, any hope of a free market is destroyed.

In the end, we went with the Windows version simply because we’d have been short changed otherwise. There was no guarantee that Microsoft weren’t getting something out of the Ubuntu desktops too, given the lack of a clear price advantage, and we’d still have had to replace it anyway (I’ve only ever found Ubuntu bloated and slow — maybe this is why it’s winning over Windows users?). Had I been purchasing for myself, I’d have took the third option of not purchasing a machine at all and instead writing to Dell to let them know why they just lost a sale.

Contrary to the popular expectation, I think it’s the existing Windows ‘experts’ who are the problem, the people called round to fix a misbehaving Windows install because they know the right buttons to click. More naive users are usually happy if they can achieve what they want to do. The machine was for my sister, who pretty much insisted that I install GNU/Linux on it when it arrived
and she’s now happily running Fedora on it. Had she stuck with Vista instead, she’d probably have had to spend the same again on applications, whether that be in some monetary form or in time spent searching the web. As it is, everything she’s needed so far is in Fedora and available at a few clicks. Plus it’s Free software, so if she finds and reports a problem, anyone is free to fix it; there’s no reliance on some all-powerful vendor.

Clearly there’s still a lot of room for change. The industry needs to stop avoiding alternative operating systems for fear that someone might run into some incompatibility or other, but instead questioning why these incompatibilities exist in the first place and to aim these questions in the right direction; at the people providing broken non-standard websites, proprietary document formats and Windows-only applications like the BBC’s iPlayer. The ‘main thing to note’ when purchasing a Ubuntu machine from Dell is not ‘when you choose open source you don’t get a Windows® operating system’. A lot of people probably don’t even know what one of them is. The thing to note is that you’re being charged more for less. It may be better, but that doesn’t mean it should cost more. In fact, a GNU/Linux operating system doesn’t have to cost anything — so download and try one today, and feel free to share it with your neighbour.

Lillian ran into a few minor problems trying to build ‘raw’ OpenJDK6 (i.e. the tarball direct from Sun without any of the numerous IcedTea patches, fixes and extensions) yesterday, and so I decided to give it a go as well. Unfortunately, it seems it still isn’t possible to build it out of the box on a modern GNU/Linux system. In the end, I had to apply three patches (effectively two as one was split into two by the HotSpot build changes in IcedTea). patches/hotspot/original/icedtea-gcc-4.3.patch and patches/icedtea-gcc-4.3.patch from IcedTea6 is needed to fix some issues when building with GCC 4.3 which is the default on most current distributions. In released versions, this is a single patch, but in current Mercurial and the upcoming 1.4 release, the HotSpot changes in all patches are split off to enable the version of HotSpot used by the build to be changed. patches/icedtea-no-bcopy.patch was needed to remove some local defines of some BSD functions such as bcopy. There was some noise about taking this upstream on the mailing lists, but it’s not yet in a tarball it seems.

With these patches, I could build as follows:

$ mkdir openjdk
$ tar xzf openjdk-6-src-b14-25_nov_2008.tar.gz -C openjdk
$ cd openjdk
$ patch -Np1 < $ICEDTEA_SOURCES/patches/icedtea-gcc-4.3.patch
$ patch -Np1 < $ICEDTEA_SOURCES/patches/hotspot/original/icedtea-gcc-4.3.patch
$ patch -Np1 < $ICEDTEA_SOURCES/patches/icedtea-no-bcopy.patch
$ cd control/build
$ unset JAVA_HOME
$ unset LD_LIBRARY_PATH
$ JAVAC= LANG=C make ALT_BOOTDIR=$CURRENT_ICEDTEA_INSTALL \
 IMPORT_BINARY_PLUGS=false ANT=/usr/bin/ant ANT_HOME=/usr/share/ant

...sometime later...

>>>Finished making images @ Fri Jan 30 10:59:43 GMT 2009 ...
make[1]: Leaving directory `/tmp/openjdk/jdk/make'
Control build finished: 09-01-30 10:59
$ ../build/linux-amd64/j2sdk-image/bin/java -version
openjdk version "1.6.0-internal"
OpenJDK Runtime Environment (build 1.6.0-internal-andrew_30_jan_2009_10_46-b00)
OpenJDK 64-Bit Server VM (build 11.0-b17, mixed mode)

You can build a bit quicker if you make use of parallelisation which I neglected to do here; add

ALT_PARALLEL_COMPILE_JOBS=$PARALLEL_JOBS  HOTSPOT_BUILD_JOBS=$PARALLEL_JOBS

where PARALLEL_JOBS is how many processes you want to run simultaneously. The usual rule is number of cores plus one. IcedTea of course supports doing this too; just add --with-parallel-jobs=$PARALLEL_JOBS when you run configure and it will add the necessary make wizardry for you.

For the configuration, CURRENT_ICEDTEA_INSTALL should point to your existing IcedTea install. This is the only way to build OpenJDK6; I didn't try it this time round, but I know from experience that it still needs a fair few patches to remove Sunisms from the OpenJDK source code in order to allow a GNU Classpath JDK like GCJ to be used instead. This shouldn't be a problem though; you'll find IcedTea in Fedora (yum install java-1.6.0-openjdk), Gentoo (emerge -v icedtea6-bin), Ubuntu and Debian testing (aptitude install openjdk-6-jdk). The magic path is usually something like /usr/lib/jvm/blah where blah is java-1.6.0-openjdk on Fedora and /usr/lib/jvm/icedtea6 on Gentoo.

ICEDTEA_SOURCES points to a copy of the IcedTea tree. If you get this from a release tarball rather than hg, then you don't need to try finding the second gcc patch... you'd have a hard time doing so ;)

The OpenJDK build doesn't like environment variables like LD_LIBRARY_PATH and JAVA_HOME being set. It also complains about you having any fancy modern locale set in LANG so it's simplest just to run make with LANG=C. The JAVAC environment variable is a funny one; it allows the path to javac to be overridden for the build, but it doesn't only override the binary path as it should, but also drops all the necessary memory and classpath options passed to it. Thus, I don't see how any build which sets JAVAC could work... Gentoo seems to like to set both JAVA_HOME and JAVAC for some reason, so make sure they are unset before you build.

Of course, with the resulting build, you'll be missing a lot of features that IcedTea provides...

  • A web plugin
  • Java web start
  • PulseAudio sound support
  • Support for architectures like PPC, ARM and MIPS via Zero or CACAO
  • A faster more recent HotSpot if you use the current Mercurial tree or the upcoming 1.4 release
  • Lots of other lovely stuff provided by our patches including a more up-to-date version of Gervill, the results of the XRender pipeline project and support for testing your build with JTReg.

You also avoid the pain of having to remember those crazy make variables; it's just ./configure; make on most modern GNU/Linux systems; file a bug if that's not the case.

I still feel that the IcedTea project does a very important job in taking the raw materials provided by Sun and turning them into something useful. That's why you'll find it's IcedTea being shipped with all those distros, and not 'straight' OpenJDK (which in most cases actually means the version that may-eventually-be-1.7). Thanks to all the great developers for their continued efforts and for the support of Red Hat on this effort.

The other thing about your own build is you can't of course actually call it 'Java'; one of the things you need to do before you can is run it through the Java Compatibility Kit. It has lots of tests your build has to pass. Unfortunately, Sun still keep this as a horrible proprietary blob of code which means you have to sign up to get a copy, be 'approved' and then work on your testing in a dark clammy room in secret. Fortunately, the kind people at Red Hat have already undertaken this momentous task for you, so you can just grab one of the OpenJDK builds in Fedora which has already passed. Thus, according to Sun's FAQ, the Fedora binaries 'are compatible with the Java(TM) SE 6 platform' :)

Let's hope things continue to improve in the direction of making more things in the Java world open and Free. In the Free Java room at this year's FOSDEM (happening just next weekend), you'll be able to find out all about what's coming next and meet some of the brave people forging the new frontiers...

Happy hacking! :)

Got a nice e-mail this morning; Stephen Fry has recorded a video to celebrate GNU’s 25th birthday, introducing the world to Free Software.

So I went to the rms talk last Thursday and throughly enjoyed it. This was the second time I’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.

The latter I feel is very important and, as I currently work in a University, it’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’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’t examples of good coding, but you won’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’t want them to use it as an example. The advent of the OpenJDK 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’s needed and the OpenJDK is a great contribution in this respect, as is GNU Classpath — they both provide samples of the good, the bad and the ugly.

The other important point about Free Software in Education is the ‘get them while they’re young’ 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’s simply by distributing a Word document to students or using that as the format for a handin. I’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…

For the finale of the talk, we were lucky enough to be visited by St. IGNUcius 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 ‘open source’ rather than ‘free software’ or some other faux pax, which they really should have known better than to utter, given the preceding two hours talk. I’m really surprised rms didn’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.

For those who couldn’t make the talk, I recorded it in full (with questions) and, with the help of Tim Dobson from the Manchester Free Software group, have made this available on-line. Where possible, we’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 my website. 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 — this will help others get a copy :)

For those who haven’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’ll be there, fingers cross, and hopefully I’ll also be able to record the event.