|
|
Subscribe / Log in / New account

LWN.net Weekly Edition for January 22, 2009

Nokia relicenses Qt

January 21, 2009

This article was contributed by Derek Kite

When Nokia purchased Trolltech in early 2008, it stated that the acquisition would "enable the acceleration of their cross-platform software strategy for mobile devices and desktop applications, and to develop its Internet services business". It is not entirely clear what that means, but one thing is certain: Nokia is now a major player on the free desktop since it owns the library upon which KDE is based. The free software community is not unfamiliar with large, well-established firms taking an interest in and contributing to an endeavor. But there is always the question: How well would Nokia work with the community?

It was a pleasant surprise, then, when Nokia announced that the Qt library will be released under the LGPL version 2.1. This is for the coming Qt 4.5 release that is due in March 2009, and applies across almost all its products. The new license is in addition to the existing commercial and GPL licenses.

Some history

Trolltech (now known as Qt Software) started marketing the Qt cross-platform library in 1996, and made the X11 version available under a free use, code available license. It was later offered under the Q Public License (QPL), which is an OSI approved license. Later Linux versions were released under the GPL. If someone desired to write a closed source binary application, they could purchase developer licenses from Trolltech.

Shortly after the initial release of Qt, Matthias Ettrich proposed using the library as a basis for the Kool Desktop Environment, better known as KDE.

One can think of many examples of successful business ventures based on free software, but they are usually in the server market. The desktop is much more challenging; against a well entrenched and rather rich competitor, we have something not quite done, but free. What Trolltech managed to accomplish is noteworthy. It had a library with a free license; the KDE developers tested it, learned how to use it, and evangelized about it. Trolltech got a large developer pool eager to use the product, and the irreplaceable hard knocks feedback from KDE developers. Over the years many KDE developers got jobs with Trolltech, or established consulting businesses selling services based on Qt, cementing the good will further.

But that necessity of selling licenses caused friction. The desire of Trolltech to own and control the code created a situation where outside patches were rarely accepted. KDE has long maintained a patch set called qt-copy, while they awaited the next version of Qt with the fixes written by a Troll (Trolltech engineer). The trend in free software has been to offer libraries under a license which allows closed source application development but, with Qt, that required paying for a license.

Although KDE is a vigorous project with a large user and developer base, the licensing and Trolltech's tight control over its library has relegated KDE and Qt somewhat to the margins within the free desktop stack. The rejection of the Qt due to its license prompted the creation of GTK and Gnome as a free alternative, and even elicited condemnation from Richard Stallman. Happily the relationship has improved to the point where both desktops are having a joint developer conference.

Opening the repository to contribution

Along with the license change, Qt Software is proposing to open the source repository to external contribution. The purpose is to make it easier for external developers to contribute to Qt, while still maintaining the quality and cross platform characteristics of the library.

Knut Yrvin, the Open Source Community Manager for Qt Software outlined the proposed criteria for accepting external contributions. In order to be accepted, the code would:

  1. follow Qt coding conventions
  2. be reviewed by another developer
  3. use a license compatible with Qt licenses
  4. follow Qt branch commit guidelines
  5. not add regressions except for new test cases

Qt Software will give full access to the internal unit tests that Qt developers have been using. It has already switched to Git internally, and is setting up Gitorious for hosting Git repositories.

There is more to the task than just providing access, as Mr. Yrvin described:

Unit tests, Qt guidelines, Git and Gitorious are just tools. The development process and workflow are important too. I label this as the social side of the development process. When opening up we are also making communication more transparent, increasing our effort with the community code camps and developer gatherings.

Mr. Yrvin described how Nokia benefits from all this. He explained that instead of having different code bases for the same application when targeting different devices, Qt can improve the time to market, targeting desktop, mobile and embedded platforms with a single code base. The increased use, contributions, and feedback from projects across all the platforms will ensure a high quality library. Nokia and all users of the platform benefit.

George Makrydakis raised some questions regarding the LGPL and C++ templates. Mr. Yrvin said that the legal department is aware of this and are currently investigating the template situation. They will come back with more details. He said that Nokia wants to ensure that it will be easy for developers to adopt Qt. It's worthwhile to note that gtkmm, the GTK C++ bindings, has the same issue.

This is a significant step for Nokia. It has been very difficult to attract developers to large commercial code releases. Nokia and Qt Software seem aware of the difficulties, and with feedback from KDE developers are attempting to avoid the pitfalls and make the process mutually beneficial. Let's not forget that Nokia makes phones, so it will be interesting to see how this move will play out in the briskly competitive smart phone marketplace.

Comments (19 posted)

Mobile Linux at linux.conf.au

By Jonathan Corbet
January 21, 2009
The first two days at linux.conf.au are dedicated to "miniconfs," which cover specific areas of interest. The 2009 event in Hobart, Tasmania included a miniconf for mobile Linux; your editor attended a few talks there. As might be expected, there is a lot going on with mobile Linux, and a lot of interest.

Baglady

Nancy Mauro-Flude is a performance artist who has used mobile Linux as part of a device intended as an artistic and political statement. The Baglady device is a purse with a numeric keypad on the outside. Inside, it contains a Linux-based system with wireless networking. A camera and microphone have been discreetly placed on the strap. When enabled, this device captures pictures and audio from its owner's travels, then immediately uploads them to a remote server. It allows its owner to capture the events around her, perhaps in situations where recording devices are not appreciated or allowed. The immediate-upload feature ensures that the data gets out, even if the device is discovered - at least, in places where an open access point is available.

The subversive possibilities of such a device are clear; so are the potential privacy problems. Nancy was clearly aware of those issues, but, arguably, has not worked through them completely. Others will certainly follow this particular artist's lead; expect to see more mobile devices which record their immediate environments and put the results on a server for all to see. It is going to be interesting.

Ubuntu Mobile

Canonical's David Mandala gave a well-attended talk on Ubuntu's efforts in the mobile arena. Like other such projects, the Ubuntu Mobile effort faces challenges beyond simply making the distribution run on mobile systems. Mobile systems truly are different, and, as a result, a user's expectations of the operating system are quite different. Small screens are a problem; not all applications have been written to function well when [David Mandala] the amount of screen space is limited. Touchscreens complicate things further; David issued a challenge to developers to find ways to allow more space in menus so that fat-fingered users can use them on touchscreen-based systems.

The Ubuntu Mobile effort is actually two related projects: Ubuntu MID (for small, tablet-like devices) and the newer Ubuntu Netbook, aimed at larger devices. The Ubuntu MID work is currently based on GNOME Mobile, though David suggested that things could change at that level. In particular, he said, the Qt license change has stirred things up a bit. There is a selection of applications which are optimized for small screens. The distribution as a whole is intended for original equipment manufacturers; it is not expected that users of MID devices will be installing their own distributions.

MID systems typically use a touchscreen as their primary input device. Netbooks, instead, combine a larger screen with a real keyboard; that leads to different requirements. The Ubuntu Netbook distribution uses the full GNOME desktop - for those applications which behave well on an 800x600 display, at least. This distribution should be available in stable form at the end of the Jaunty development cycle.

David seemed to be having the most fun, though, with the new Ubuntu ARM port. One does not normally think of the ARM processor when one ponders netbook devices, but it seems that ARM is making a real effort to enable products in that area. As part of that work, ARM is working with Ubuntu to have a proper distribution ready. This effort seems to have gone pretty well; at this point, the full Ubuntu distribution is available for ARM systems. The biggest difficulty, it seems, is that ARM-based systems lack proper video acceleration. Canonical is working around this issue, though, and plans to support this port along with the others.

It seems that Canonical sees a bright future for the ARM port. While there are a number of systems available for x86-based devices, there is no real competition to Linux on the ARM processor. Windows does not run there. Symbian does, but it is not a true desktop-based system. So, any ARM-based netbook devices which appear on the market are sure to be running Linux. Canonical is doing its best to ensure that they run Ubuntu in particular.

Poky Linux

An alternative for small systems is Poky Linux, a system put together by Opened Hand prior to its recent acquisition by Intel. Poky Linux is, in fact, two different things: it is a system for building Linux-based platforms, and it is also the [Rob
Bradford] distribution which is that system's output. Rob Bradford, in his presentation, acknowledged that this naming practice may lead to some confusion. Still, while Poky may suffer from some ambiguity, its developers seem to make up for that with enthusiasm.

Poky Linux started as a fork of the Open Embedded platform. The developers tossed in a bunch of tools which are useful on small devices: the Clutter desktop work, GeoClue, the "Sato" user interface, the Pimlico personal information management system, GStreamer, WebKit, etc. The result is a fully-featured distribution which is well tuned to the small device environment. Perhaps the highest-profile use of Poky Linux is in the Vernier Labquest device.

Rob discussed at length the build system that was created to allow the creation of Poky Linux distributions. There are a lot of tools there which make the task relatively easy, and which, as Rob pointed out, are well suited to people who do not like to type very much. More information on how that works can be found on the Poky Linux site.

What the audience really wanted to know, though, was Intel's intentions for Poky Linux, which it acquired with Opened Hand. Though Rob didn't say so directly, the real answer appears to be that Intel doesn't have much interest in Poky Linux and is not putting resources into its further development. So, says Rob, while the infrastructure is still in place, Poky Linux has become a community project. The future of this project, it seems, is in the hands of those who use it and wish to see it continue.

Android

GeunSik Lim gave a talk outlining the internals of the Android system. Much of that talk is not amenable to summarizing here, though there were useful details which will help as your editor digs more deeply into that system. One thing that jumped out, though, was this: Google decided to create its own C library for this platform. The size of glibc was part of the motivation for this work, but the real reason, it seems, is that Google doesn't want to have GPL-licensed code running in user space. They worried, perhaps, that glibc could go to GPLv3 in the future; that, of course, would make it impossible to use in a locked-down device. So they started with a BSD-licensed libc which was then tweaked extensively for their needs. The resulting library (called "Bionic") has some big gaps (no support for C++ exceptions, for example), but it evidently suits the Android platform well.

In summary: mobile Linux is clearly one of the hot topics for this year. There are a lot of people and projects working in this area, doing no end of interesting things. It is going to be fun to see what our community comes up with.

Comments (14 posted)

Finding and using free fonts

January 21, 2009

This article was contributed by Bruce Byfield

Free and open source software (FOSS) has produced several off-shoots, including the Open Access Movement for academic literature and the Free Hardware Foundation. As the FOSS desktop matures, one of the most important off-shoots is the free font movement. Designing free, general-purpose typefaces and font tools, this loosely organized group of typographers is starting to make graphic design on FOSS easier, and to give ordinary users a more aesthetic desktop. The only catch is that you sometimes have to dig to find the free typefaces and tools, and knowing how to use them appropriately frequently requires expert knowledge about what to look for.

Free fonts have been released under a variety of licenses. As the Free Software Foundation points out on its license page, standard FOSS licenses like the GNU General Public License (GPL) are not really designed for fonts. In particular, the fact that fonts are embedded in a document means that the GPL is suitable only if the document is also released under the GPL unless an exception is added to the license.

Another problem is that many font designers do not want to see their work bundled on a CD by a third party. To provide at least a token solution to this concern, many free typographers now favour the SIL Open Font License, a GPL-compatible license developed by SIL International, a Christian academic organization concerned with literacy and the preservation of minority languages.

Whatever their license, free fonts come in three different file formats: Postscript (.pba, .pfm, .inf, and .atm), TrueType (.ttf), and OpenType (.otf). TrueType is the most common, although OpenType is rapidly gaining. All three work on GNU/Linux systems, although some programs might not take full advantage of OpenType's features. Those still in development may come in the format for FontForge (.sfd), the main free software tool for designing fonts, and require you to load the raw files into FontForge so that you can output them to one of the three main file formats, a process roughly equivalent to compiling source code.

Where to get free fonts

Many major distributions include free fonts in their repositories, and include them in basic installations. Ubuntu, in particular, is rich in free fonts in order to supplement its multi-language support. However, as with any software, distribution packages can sometimes be slow to include the latest versions, or all the available free fonts.

Those who want the widest selection of free license fonts (as opposed to fonts that are simply free for the download), can find them at:

  • Open Font Library: A sister-site to the Creative Commons' Open Clip Art Library, the Open Font Library is the largest single repository of free fonts, with over 100 selections — a small number compared to proprietary fonts, but a much larger number than even a few years ago. The site includes users' reviews, tags, and ratings, as well as remixes of various fonts.
  • SIL Font Downloads: This is the main site for free fonts for language support, especially for minority languages, but also for the full range of western and eastern European languages, Cyrillic, Greek, and Hebrew. Some of these typefaces are so obscure that only specialists will use them regularly, but they include a number of general purpose fonts for English and other western European Languages, such as Gentium, Charis SIL and Doulos SIL.
  • Raph Levien's fonts:A maintainer for GhostScript, Raph Levien also designs some of the best free fonts for everyday use. Be warned, though, that these are works in progress, and some are not be completely ready for use.
  • Linux Libertine: Linux Libertine is designed as a free replacement for the ubiquitous Times Roman. Its letters are designed to have the same proportions as those of Time Roman, so that, when a recipient's machine replaces Linux Libertine in a document with Times Roman, your document's design does not suffer.
  • Liberation fonts: A set of three fonts designed as free replacements for Times Roman, Arial/Helvetica, and Courier — respectively the most commonly used serif, sans serif, and monospace fonts used on Windows.
  • DejaVu: DejaVu is a version of the Bitstream Vera family, one of the first free fonts. The main difference is that it includes support for a greater number of international characters.

Installing free fonts

Once you download free fonts, the easiest way to install them in GNU/Linux is with the font installer included in KDE's setup tool. Using KDE's font installer, you can make selected fonts available to all users on the system, or just the current one, as well as previewing all installed fonts. The installer makes fonts available to the X Window System, not just KDE, so you can use the fonts it installs regardless of your choice of desktops.

If you do not have KDE installed, then you can use a font manager such as Fonty Python or FontMatrix. Both these applications enable or disable fonts on the fly for your current account, and allow you to group fonts in sets — for instance, the fonts you need for a certain project — so that you do not clutter your system with seldom-used fonts, and can enable or disable related fonts with a single action. Of the two, FontMatrix has an edge because of its cleaner interface and its ability to print out sample fonts for easy reference.

In programs like OpenOffice.org or LaTeX, you can install fonts only for that program. However, so long as a program can read system fonts, installing for a single program hardly seems worthwhile.

The use of free fonts

Whether free fonts are useful depends very much on your needs. If language support is your priority, you have hundreds to choose from, with those from SIL International being among the highest quality. Typically, the files for such fonts are much larger than those for traditional fonts, because they contain hundreds of additional Unicode characters — for example, SIL Doulos checks in at one and a half megabytes, as opposed to about 50 kilobytes for all the files associated with a postscript font — but on a recent hard drive, this increased size should not be much of a problem.

[Times Roman style fonts]

If compatibility with the fonts on another operating system is your concern, you have several choices, including Linux Libertine, the Liberation fonts, and SIL Doulos. Of these choices, Linux Libertine is probably the more aesthetically pleasing, although you may prefer SIL Doulos if international character support is also a concern.

Other fonts are useful for a specific need. For instance, Deja Vu or Vera Sans are not among the best-designed fonts, but their large size and wide letters make them well-suited for online display because they are highly readable and easy on the eyes.

However, if you want everyday fonts for documents, your choices are still relatively limited compared to those you have when using proprietary fonts. Many free font designers, like font designers in general, prefer to design decorative fonts that have limited use, and are not suitable for large blocks of text or, at best, anything more than a heading. If you exclude the poorly designed fonts that have always accompanied the average distribution, such as Nimbus or Lucida, at most you have maybe a couple of dozen choices for everyday use, as opposed to the hundreds available in proprietary fonts.

[Text fonts]

Of the workday choices that are available, the most aesthetically pleasing text fonts include Goudy Bookletter 1911 and Raph Levien's Century Catalog and LeBe, the incompleteness of the last one not withstanding. Perhaps the strongest choice is Gentium, an award-winner that, with its calligraphic influence, is among the most beautiful fonts ever.

[Monospace fonts]

For heading fonts, choices are even scarcer, although you might use Levien's LeBe Titling. Levien's Museum Caps looks promising as well, although no download is currently posted on his site. The available monospace fonts are also hard to find, although you might look at OCR-A, NotCourier-sans or Rursus Compact Mono.

Until high quality free fonts for common uses become more numerous, the FOSS desktop is unlikely to attract large numbers of designers. Still, the free fonts that are available are a start, and an improvement over what was available as recently as two years ago. As with the FOSS desktop itself, the choices are only going to improve. But, for now, the choices are limited and restricting for professional designers who would prefer to use only free fonts. Before too many projects have passed, the average designer will almost be forced into importing fonts from Windows, or else buying proprietary typefaces from vendors such as Adobe, just to get some variety.

Comments (39 posted)

Page editor: Jake Edge

Inside this week's LWN.net Weekly Edition

  • Security: Firefox security add-ons; New vulnerabilities in drupal, git, kernel, valgrind,...
  • Kernel: LCA: The security panel; Parallel NFS; Semantic patching with Coccinelle
  • Distributions: The shape of FUDCons to come; Ubuntu 9.04 Alpha 3; RHEL 5.3; Mandriva Linux 2009.1 Alpha 2; KDE Four Live CD; GNUmed Live CD 0.3.9; CrunchBang Linux; Interview with Tom "spot" Callaway.
  • Development: Common Wine Myths, the History of Python, new versions of ALSA, PulseAudio, SQLite, Samba, Apache Jackrabbit, Apache-SSL, OpenSIPS, PLplot, rrdtool, GNOME, FreeCol, Wine, Minicomputer, QJackMMC, h264enc, PyAMF, JCAM Engine, SWIG.
  • Press: Perpetual Peril of Open Platforms, the loss of Linux config files, Camp KDE coverage, the facts behind "Get the Facts", Linux vs. Windows 7, McNealey on government lock-in, LGPL 2.1 and C++ templates, Dann Washko interview, Enrico Zini interview, HA tutorial, ideal desktop setup, the Tribler client.
  • Announcements: EFF free your phone campaign, FSFE on browser interoperability, new Friends of GNOME program, Indian Freedom Walk, Jaspersoft advisory board, KDE wins software product of the year, UK Perl tutorials, Software Patent conference report, ACM CCS cfp, LAC deadline extended, OSCON cfp, PGCon cfp.
Next page: Security>>

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