|
|
Subscribe / Log in / New account

LWN.net Weekly Edition for January 26, 2006

The Grumpy Editor plays with Rockbox

Last May, your editor lamented that, while his new digital audio player had a number of nice features, it also had a long list of glitches which, due to the proprietary nature of its firmware, could not be fixed. At that time, a Rockbox port for this device (an iRiver H340) was still a distant prospect. Since then, the situation has changed somewhat. In particular, on November 24, 2005, Rockbox hacker Linus Nielsen Feltzing announced his ability to play music on the H300 series. This nice little player had, at last, been cracked open and put to work running free software.

Your editor took his time before giving Rockbox a try. There is something intimidating about rewriting the firmware of one's expensive electronic toy with untried new code covered in "this is experimental, only to be used by professionals and idiots" warnings. Maybe it has to do with the prospect of turning said toy into an inert paperweight and having to explain to the spouse that it will be necessary to buy yet another gadget, urgently, to replace it. But, eventually, after a suitable amount of loin girding, your editor launched into the process of generating a new firmware blob and loading it into the player. Happily, said player did not explode.

The Rockbox iRiver port works by applying a patch to the standard iRiver firmware. That patch adds a special bootloader, and a few other Rockbox-specific things. Unlike the native system, most of Rockbox lives outside of the firmware; it is, instead, loaded from the internal disk. Among other things, this organization makes it easy to upgrade the Rockbox code without going through the sweaty-palms firmware flashing experience every time.

The bootloader normally just grabs the Rockbox kernel from the disk and runs it. Quite a bit of effort has been put into making the bootloader robust, however. If the on-disk software cannot be found, it simply boots into the iRiver firmware. There is a power-on key sequence which can be used to get the iRiver code. The bootloader is also programmed to drop into the USB mode if the disk's filesystem is corrupted, giving the user a chance to fix things - though, since the H3xx bootloader's USB mode does not work properly yet, that feature is not as reassuring as one would hope.

One might well wonder: why bother changing operating software and risking turning the player into a brick when it worked reasonably nicely before? Here are a few of the things that Rockbox brings:

  • Boot time. The iRiver firmware takes 26 seconds to boot on your editor's player - and that is with the "database" feature, which lengthens boot time, disabled. Rockbox is ready to play in ten seconds. When one is, for example, trying to play some music before driving, the difference is significant.

  • Gapless playback. Your editor's music collection includes many works which, to put it mildly, do not benefit from the one-second gap that the iRiver software puts between every pair of tracks. Rockbox does not have that problem.

  • Bookmarks. Some audio files (like the interesting set of Long Now seminars) can be over two hours long. Imagine listening to the first hour of such a file, then picking up one's children to haul them to the next in their long list of activities. Said children will, of course, immediately grab the player and put on a Beatles song (one must raise them on the classics, after all). With the iRiver firmware, returning to the previous file involves painfully fast-forwarding in until one finds a spot near where one left off. Rockbox, instead, can automatically place a nice bookmark at the spot where listening stopped, and jump right back on request.

  • Codecs. The iRiver already played Ogg files (a big part of why your editor chose it in the first place). Rockbox adds other formats, including AAC, FLAC, Shorten, and more.

  • Configurable screens. The iRiver firmware, when playing, wastes much of its gorgeous color screen space with useless frobs. Rockbox allows the "while playing" screen to be configured with great flexibility, with the result that it offers a wide variety of information-dense screens - in ugly monochrome. Color patches are in circulation, happily, but they have not made it into the Rockbox mainline yet.

    [Brickmania]

  • Plugins. There is a long list of plugins available for the Rockbox software, many of which make nice use of the color display. Most of them appear to be games (like "Brickmania," shown on the right). Yes, you can now solve Suduko puzzles on the iRiver. But there is also a calculator, a clock, a playlist searcher, a metronome, and more. A color video player is in the works.

  • Audio menus. Rockbox can, when loaded with a suitable voice file, read out menus and track names as they are selected on the display. The Rockbox mailing list has a steady stream of inquiries from blind users who are not well served by commercially available audio players.

  • Languages. Rockbox can operate in Afrikaans, Bulgarian, Czech, Greek, Hebrew, Swedish, and Wallisertitsch. Oh, yes, it works in English too.

  • Playlist generation. The iRiver software cannot generate playlists at all (they must be loaded from a computer), and, annoyingly, it can't do basic things like "treat this directory of files as a playlist and stop when you get to the end." It is easy to leave the device running by mistake, only to find (usually at the beginning of a long trip) that it has drained its battery trying to play one's entire music collection. Rockbox has a number of playlist generation options, and is generally better behaved in this regard.

The list could go on for a while, but one should not forget the nicest part of all: Rockbox is free software. Your editor did not feel particularly oppressed by the proprietary iRiver firmware, but switching to a free system still brought a sense of relief. So many things were clearly designed with the users in mind, and one knows that the rough edges (of which there are still many) can be fixed. With Rockbox, this gadget has become a living thing, rather than a set-in-stone consumer product. Rockbox would be worth running for its free nature alone, even if it weren't better in so many other regards.

There is some bad news: the iRiver H3xx players are no longer being made, and iRiver's replacements are rather more closed devices. There is no Rockbox port envisioned for current iRiver players, so people are now wandering around on online auction sites in search of the few H3xx players which are still available. The good news is that Rockbox is being ported to a number of other platforms, notably the current set of iPod players. The iPod port page states: "Rockbox boots and appears to be stable on the iPod Color/Photo, the Nano and the Video. Plugins and codecs work, but there is no audio output yet." So, other than one little problem, everything looks great.

As Rockbox becomes more portable, its user base is growing. Rockbox seems to have recently crossed one of those invisible lines where it becomes essentially unstoppable. There will likely come a time when some manufacturers of digital audio and video players - especially those who don't make iPods - will have to seriously consider shipping Rockbox on their gadgets. After all, why should they spend time and money creating their own software, when Rockbox is both free and better? Free software, it seems, has a good chance of taking over another category of systems.

[For those H3xx owners who find standard Rockbox to be insufficiently bleeding-edge: the Rockbox H300 Optimized release is a fork with improved color support, more plugins, remote control support, a lyrics viewer, and more.]

Comments (14 posted)

Suits and Patents: A Report from the GPLv3 Launch Conference

January 23, 2006

This article was contributed by Dan York

As you approached MIT room 10-250 on Monday, January 16th, you could see the rise in prominence of the GNU General Public License simply by the presence of the "suits". Oh, some had certainly "dressed down" with the black T-shirt/turtleneck and jacket motif instead of a tie, but they were very clearly of the corporate world and a quick glance at name tags proved that: Intel, IBM, HP, Novell were all there of course, but also companies such as Hasbro and many others.

To be sure, the free and open source community was well represented: Bruce Perens, Andrew Tridgell, Chris DiBona, Seth Schoen, and many other free/open source stalwarts. But you would expect them to be here, while the corporate presence was definitely a sign of the times. Indeed, as I sat waiting for the presentation to start, two corporate folks were walking up the stairs behind me and one said to the other "Oh, yeah, we are all here to watch the ground shake."

The ground may not have shaken immediately, but the session began around 10am with Richard Stallman welcoming the crowd of 200+ attendees and providing a broad introduction to the GPLv3. He spoke on the overall goal of increasing the compatibility of the GPL with other appropriate licenses (such as the MIT X11 and BSD licenses) and then discussed the threats of digital restrictions management (DRM) and how it can never be compatible with the goals of free software. At the end, he introduced Eben Moglen, who proceeded to take the crowd through about an hour-and-a-half of line-by-line analysis of this first draft of GPLv3.

In all my years working with free and open source software, I'd actually never heard Eben Moglen speak and it turned out to be quite an enjoyable time. With occasional wit and humor, he guided us through the new clauses and the rationale behind the changes. As others have already provided some analysis and the FSF's GPLv3 rationale document gives their view on the changes, I'll not repeat much of that. His main thrust, though, was that the changes were about the increased compatibility of which RMS spoke, as well as clarifying a number of areas in which GLPv2 was unclear or vague. There was also a good amount of effort put into trying to make the GPL more "global" in the sense that it would better comply with copyright laws of more countries. One example is the new use of the term "propagate" in Section 0 as "distribute" turned out to have some formal connotations in some countries.

Moglen spent a good bit of time on the minimal "patent retaliation" clause now found in Section 2 and the reasons (explained in the rationale document) why the FSF did not go further. There was also an involved discussion of the ability to add additional permissions and requirements and how those flow on to recipients during the propagation/distribution process. Predictably, he spent a significant amount of time on Section 7, "License Compatibility", discussing what the different clauses mean with regard to the other free and open source licenses.

One of the discussions I found most interesting concerned the changes to section 8 ("Termination") specifically around the "60 day" clause. GPLv2 provided for the "automatic termination" of the license if you violated it and the license also essentially required someone in violation to contact all copyright holders to obtain forgiveness for having violated the license. As the FSF was very often the one acting to aggregate the claims and help entities come into compliance, they did see the pain this requirement caused when the process of contacting all copyright holders became long and protracted. In their view, this new arrangement provides a stronger incentive for entities in violation to come into compliance quickly as it gives them some assurance that if they do comply, they will not have the threat of GPL-infringement lawsuits looming over them once the first 60 days have gone by.

Another interesting addition was section 18 that speaks of the program not being tested for use in "safety critical systems". He said that at the time the GPL was first being applied, no one was thinking that free software might be used to run nuclear power plants or other systems that might have critical implications if there was a failure. This phrase was added to explicitly state that programs were not tested for these environments. However, he also said that he fully expects some companies to offer warranties (for a fee) to provide coverage for using such programs in those environments.

Throughout the talk he threw in entertaining quips such as "Most of us would see the copyright law of 1897 as being better than that of 2004", "Protecting freedom is hard work!" and "That's our legal theory and we're sticking to it." He also received a great deal of laughter when he relayed that the warranty sections (now 16 and 17) were not changed at all - except that he moved them from being all in uppercase. He said that he had yet to find a lawyer who could explain why they were all putting warranty provisions in all caps and that it seemed to be something people were just doing because everyone else was. So he decided for the sake of readability to make the change.

Moglen concluded his presentation with a moving comment on the "spirit" of the license and the overall need to preserve "the spirit of tinkering, of hacking, of making an unexpected invention out of the materials lying around". He spoke of this revision process as trying to keep the GPL safe, make it bigger and add more people to the discussion - and with that he invited people to become part of the process. He turned the floor back to RMS who said a very few final words and then opened it up for questions.

Predictably, the questions came quite quickly and were mostly about... patents. Two clauses received the most questions. The first was the "patent retaliation" clause in Section 2 and the second was the part of Section 11 which says that, if you distribute a work "knowingly relying on a patent license, you must act to shield downstream users against the possible patent infringement claims from which your license protects you." The response on this latter part from Eben Moglen was that they are not looking to require companies to search all their patents to ensure they are not infringing before distributing work, but more to prevent people from distributing work that they know requires a patent license which they may already have, but which the people who receive their work will not. He went on to say that this clause really only applies to a very small number of people and companies and that he looked forward to working with them to make sure this clause works well.

Beyond the patent questions, there were questions about the 60-day notice, the DRM provision and some general questions about the process of moving from GPLv2 to GPLv3. Overall it was a very useful, interesting and intense morning session.

My one critique of the FSF conference would be what happened next. As we broke for lunch, a subset of the participants (including many of the corporate folks and high-profile members of the free/open source community) apparently went off to separate "discussion groups" to which they were specifically invited. That left the rest of us (myself included) returning from lunch around 1:30pm to face a "Q&A session" with FSF Executive Director Peter Brown, FSF web/wiki coordinator John Sullivan and a young FSF staffer/volunteer who did not identify himself. After a brief statement around the process that would be starting how to comment online, the floor was opened for questions... many of which could simply not be answered.

I don't really fault the three of them. They tried as best they could to answer some of the questions, but they were definitely out of their element. The questioners wanted to ask specific points about the license and clearly needed RMS and Eben Moglen to be there. After a bit, Peter Brown tried to direct the questions away from the license draft and toward the process, asking for other questions to be held until Eben Moglen could return around 3 or 3:30pm. The frustration was visible in a number of the folks there.

I do understand that the FSF was trying to make use of the fact that it had all of these various folks in one physical location and certainly a room of 200 people is not a great way to get a large quantity of feedback. Small groups work far better for that type of thing. I also know that numerous media personnel were there and that RMS and Eben Moglen needed to spend some time with those folks. Still, given that the published agenda said that the afternoon session was for "Q&A" with no mention that RMS and Moglen would not be there, it was a bit frustrating to learn that it was not the type of Q&A that most attendees wanted.

Having said all that, there were some very good questions raised during this afternoon session. Patents were raised again several times, but a question was also asked about the definition of "Complete Corresponding Source Code" in Section 1 where it includes "any encryption or authorization codes necessary to install and/or execute the source code". The specific concern was about whether code could be encrypted with GnuPG for sending, but I failed to understand the issue as to my mind you would be encrypting it with the recipient's key, so they would already have it.

Far more of a concern for a few questioners, though, was the requirement in Section 6b that you will make available your source code on a "durable physical medium customarily used for software interchange." The concern was that solo developers might have to get into the business of stamping out CDs to distribute source code. It was pointed out by someone there that, per Section 6d, one easier way to comply was simply to offer a download. Still the concern persisted. Interestingly, Eben Moglen stated in his earlier presentation that this phrasing had been inserted primarily so that an entity could not "give you the source code" by giving you a printout, which he indicated was a possible way to comply in GPLv2. Now, you must be able to receive the source code in a fashion where you can use it electronically.

All in all, and even with my critique, it was well worth spending the day at MIT and I certainly think the FSF is to be commended for starting this revision process in such an open manner. While I was unable to attend the second day of the conference, I am sure that it was quite involved, as this is, for all of us, only the start of a conversation that will last most of a year. The GPL is incredibly important in this day and age and all of us should definitely monitor this first revision in 15 years, and get involved as much as we are able. The suits will be there - will you?

Comments (29 posted)

Ugly legislation in the U.S.

While the European software patent debate starts to warm up yet again, legislators on the other side of the Atlantic (where software patents are nothing new) are working at restricting freedom in different ways. In particular, this week saw the return of the broadcast flag, in the form of the digital content protection act of 2006 [PDF]. The purpose of this law is stated as:

To authorize the Federal Communications Commission to limit the unauthorized copying and indiscriminate redistribution of digital audio and video broadcast content over digital networks.

Remember that, in the last episode in the broadcast flag epic, a federal court had concluded that the FCC, created to regulate access to the airwaves, had no authority to control the behavior of receivers. So the current proposal aims to "fix" that problem by making the FCC's authority explicit. Under this law, the FCC would be empowered to regulate digital TV receivers, and its previous broadcast flag rulemaking would be explicitly ratified. A separate section gives the FCC authority to regulate "digital audio receiving devices" as well.

Just in case the FCC might change its mind, the bill also contains language requiring that broadcast flags in particular be used "to protect digital audio content." This technology must also:

(b) permit customary historic use of broadcast content by consumers to the extent such use is consistent with applicable law;

As others have pointed out, this is an interesting bit of language. Broadcast flag technology is not required to respect fair use or to protect any other rights "consumers" have under copyright law. Instead, it must protect "customary historic use." Given the fuss the entertainment industry has been raising for so many years, it is tempting to say that "customary historic use" includes widespread recording, copying, and redistribution of content. But that is not what the forces behind this bill have in mind, of course.

What they do have in mind is a world where nothing new can be done. If it's not "customary historic use," it can be prohibited. Not that long ago, recording television programs to watch them at a more convenient time was not customary - nobody had VCRs yet. It would not be surprising to see an argument that putting music on a digital audio player is not "customary historic use." Certainly putting one's music onto the hard drive of one's Linux system in order to create podcasts or other interesting derived works is not "customary historic use."

The broadcast flag already rules out the use of Linux systems to do anything with digital content; free software, being free, cannot meet the "robustness requirements" specified in the broadcast flag regulations. But, even if that hurdle could be overcome, the "customary historic use" provision will make it impossible to do anything new and interesting, on Linux or on any other system. It is an attempt to freeze time and give the industry a veto power over any new ideas that come along.

Also to be found in this bill is a requirement for "secure moving technology," defined as:

(b) "Secure Moving Technology" is a technology that permits content covered by the Broadcast Flag to be transferred from a broadcast receiver to another device for rendering in accordance with customary historic use of broadcast content by consumers to the extent such use is consistent with applicable law and that prevents redistribution of copyrighted content over digital networks.

In other words, the FCC's new authority would go beyond receivers to any other device to which an receiver might be connected. The FCC will be authorized - and expected - to require DRM for any device which might touch digital content. And such DRM need only allow "customary historic use."

The EFF is encouraging letters to Congress in opposition to this bill.

An older proposal, meanwhile, is the "analog hole" bill [PDF]. This law would require video devices with analog outputs to incorporate the CGMS-A DRM and VEIL watermarking schemes. With the combination of the two technologies, the industry hopes to prevent "consumers" (that's us) from doing anything interesting with any analog signals we might be able to coax out of our shiny new, DRM-equipped entertainment boxes.

Ed Felten recently decided to look at VEIL to get a sense for what is truly being mandated. As it turns out, he was not able to. In order to have a look at the VEIL specifications, he would be required to sign a non-disclosure agreement, and pay $10,000 as well. And that only for the decoding side of the specification. So the "analog hole" law mandates the use of secret technology; there will be no opportunity to debate the merits (or lack thereof) of this technology during the lawmaking process. All this leads Mr. Felten to wonder: do the members of Congress behind this bill (or even their staff members) have any idea what they are legislating?

It is bad enough that this law would make it impossible, for example, to put together a MythTV box. But the imposition of secret technologies is undemocratic at best. In this case, too, members of Congress would benefit from well-written input from the people they are said to represent.

Comments (15 posted)

Page editor: Jonathan Corbet

Inside this week's LWN.net Weekly Edition

  • Security: Anonym.OS; New vulnerabilities in ImageMagick, KDE, kernel, OpenSSH, ...
  • Kernel: 2.6.16 stragglers; Review: Understanding Linux Network Internals; MD and DM.
  • Distributions: Slowing down Fedora Core; SUSE Linux 10.1 Beta1; Edubuntu flight 3 CD; Newbie, the NetBSD live CD
  • Development: The GNOME NetworkManager Applet, PyX Tutorial, new versions of moodss, Samba, nepenthes, Gallery, GNOME, GARNOME, Scribus, Kicad, GNOME Invest Applet, SQL-Ledger, Wine, WhySynth, lylina, Ekiga, Blender, GNU Classpath.
  • Press: The DRM future, Podcasters make money, Covalent to support Geronimo, EU patent fun, Jeremy Allison on Samba 4, DHCP intro, Palm PDAs under Linux, GStreamer review, OpenSSL receives FIPS certification.
  • Announcements: MySQL AB's record quarter, securities laws and FUD, SourceForge.net does Subversion, Python Game Challenge, CodeCon 2006, Debian Day CFP, Penguin Day, SambaXP CFP, UKUUG Spring Conf.
Next page: Security>>

Copyright © 2006, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds