Apple’s great GPL purge

[Updated 2014-02-23 with figures for 10.7 and 10.8. The purge continues. Anyone still think it’s coincidence?]

Apple obligingly allows you to browse and download the open source software they use in OS X. Since they have listings for each version of OS X, I decided to take a look at how much software they were using that was only available under the GNU public license. The results are illuminating:

  • 10.5: 47 GPL-licensed packages.
  • 10.6: 44 GPL-licensed packages.
  • 10.7: 29 GPL-licensed packages.
  • 10.8: 22 GPL-licensed packages.
  • 10.9: 19 GPL-licensed packages.
  • 10.10: 18 GPL-licensed packages.

As of 10.10 the remaining GPL-only packages seem to be JavaScriptCore, bash, bc, emacs, efax, gnudiff, gnuserv, gnutar, groff, gpatch, keymgr, libstdcxx, man, nano, screen, texinfo, and uucp. I include this list as Apple have stopped listing the licenses on their download page, to make it harder to track their progress…

The trend supports the idea that Apple is trying to remove all GPL-licensed software from OS X. While the removal of Samba and GCC got some attention, the numbers show that there’s a more general purging going on. Apparently 10.10 they slacked off a bit, though.

The remaining GPL-licensed packages aren’t too healthy either. Mavericks ships with bash 3.2. That’s from 2006. The current version is 4.2.10. Why no upgrade? Because Apple’s shipping the last version of bash that was under the GPL version 2.

If anyone at Apple is reading, I’ve got some suggestions: Ship tmux with the control key rebound to ^A and probably nobody will care too much that you’ve removed screen; and there must be usable versions of man and bc in FreeBSD.

Anyway, the message is pretty obvious: Apple won’t ship anything that’s licensed under GPL v3 on OS X. Now, why is that?

There are two big changes in GPL v3. The first is that it explicitly prohibits patent lawsuits against people for actually using the GPL-licensed software you ship. The second is that it carefully prevents TiVoization, locking down hardware so that people can’t actually run the software they want.

So, which of those things are they planning for OS X, eh?

I’m also intrigued to see how far they are prepared to go with this. They already annoyed and inconvenienced a lot of people with the Samba and GCC removal. Having wooed so many developers to the Mac in the last decade, are they really prepared to throw away all that goodwill by shipping obsolete tools and making it a pain in the ass to upgrade them?

iLife 09: iPhoto

I have a confession to make: until this year, I didn’t have all my photos in a properly cataloged database. I’d tried various programs, but none of them quite satisfied me.

iView MediaPro seemed to have bugs in its ITPC handling. I e-mailed their support address reporting the problems, and got no reply at all. Then they were bought by Microsoft, so that was that.

QPict works well as a browser for large numbers of random files, but I don’t find it a very helpful tool for organizing them. This seems to have been reflected in the changes in the new version, which looks more like a Finder replacement for photos.

I got Adobe Bridge for free with Photoshop Elements, but I gather it’s pretty much the full deal as bundled with Photoshop CS3. It looks like it’s very powerful, with some kind of metadata templating system. However, it has a horrible interface for browsing large numbers of photos, and a horrible interface for entering metadata.

iPhoto was pretty ropey too. In particular, it insisted on moving all your photos into a set of folders named 2004/01/01, 2004/01/02, and so on. It also had no support for any of the industry standard metadata formats, such as ITPC and XMP. It’s as if iTunes had been built with no ID3 tag support and made to store all your music in folders according to how many minutes and seconds long each song is.

However, with iTunes 08, Apple finally delivered something usable; and with iTunes 09, I’m actually feeling enthusiastic about the program. I’ve now got everything in iPhoto, and I’m happy with it.

The new face recognition is far from perfect, but it’s good enough to be a time saver. It can also be a source of entertainment–I laughed when it got confused by some shadows, picked out a horse’s ass, and asked whose face it was.

The geotagging isn’t too useful as yet, but it’s a nice feature to have supported. I’ve discovered that if you’re using the dialog to manually assign geotags, it will use any existing metadata to help narrow down the options it presents to you. This means that if you start off by tagging a bunch of photos with an approximate location (e.g. London), and give the event a sensible title (e.g. England Trip 2001), searches for specific locations will apparently start from London, England and work outwards.

Browsing the tagged photos is less impressive. For now, there’s just a zoomable Google map with push pins on it. However, I’m sure people will start coming up with cool add-on visualizations.

Another nice feature of iPhoto is the built-in Flickr and Facebook support. Both systems work like add-on photo libraries; you can edit a Flickr-published photo album, and the changes automatically sync up in the background. Also, any faces tagged in iPhoto result in the appropriate person being tagged in Facebook.

Internally, the iPhoto Library now organizes your files by event. As in previous versions, the original files are kept untouched, and any changes you make result in new files. All of this is invisible to you, and you don’t need to care, but it does mean that you never lose quality by applying repeated edits to a JPEG, and you can revert to the original file at any point. The program manages to stay pretty snappy, even while juggling thousands of files.

iPhoto now supports the raw CR2 files from my Canon SLR, as well as JPEGs. It also has an option to reveal the original file in the Finder, or to fire up an external program (such as Photoshop or Canon Digital Photo Professional) to edit the raw file.

So overall, I now recommend iPhoto, even for fairly advanced photography enthusiasts. It won’t be enough for a pro studio photographer, but if your camera isn’t your career, it’s probably most of what you need.

KDE 4 UI critique

Human beings have different kinds of memory; they remember things in different ways. Three common classes of memory are spatial memory, visual memory and verbal memory. (There’s also chronological memory, but that’s not relevant to my point here.)

I have excellent spatial memory. It’s what I rely on most. For example, if I start to think about how to get to a given place in town, I literally find 3D visualizations of my route flashing into my consciousness. I also have pretty good visual memory; when I make the journey, I verify that I’m going the right way by comparing the visual appearance of buildings and landscape that I pass with the scenes I remember.

My linguistic memory is terrible. If you asked me to name the actual streets on the route, I’d have a hard time remembering them. My mental map of London, for example, only has 6 street names. This makes me a really bad person to get directions from. “You take the narrow road that heads off at a thirty degree angle, right at the place with the green copper roof, over the light colored bridge…”

There’s an upside to my condition. If you rely on verbal memory to navigate, as soon as you step outside your known area you are pretty much lost until you can find a familiar street name. In contrast, I have a pretty good chance of navigating between two known points, even if the area in between is totally new to me.

This hierarchy of types of memory also applies in my interaction with computers. When I want to find my password manager, I don’t remember its name. Instead, I remember that it’s in the bottom hierarchical menu of my KDE menu, positioned near the top, and has a green icon.

I know this experimentally, incidentally: back in the System 6 days there was a joke Mac INIT that removed all the text from the menus. I tried it, and was quite startled to discover that I could still use most of my favorite applications.

With that background out of the way, I would like to talk about why for me, the new KDE 4 application launcher is a user interface disaster of epic proportions.

Continue reading