Today my mailbox was crowded with some
Apple news. The source code to the Apple Lossless Audio Codec, encoders and decoders, was released to
the world. A few open-source projects such as FFmpeg and FAAC has
already had support for the resulting .m4a file; this gives them an
official release to validate against. As a well documented audio
snob, I’m known to be a fan of lossless audio, with a few hundred CDs
here ripped into FLAC. Unfortunately, this source code drop doesn’t
change anything for me, and that’s all because of software patents.
Right now I consider such patents to be the greatest risk to software
I work on like PostgreSQL, so I spent some time looking into just
what Apple has done here, as a data point on that topic.
If your baseline is MP3 files, Apple
Lossless appears to be a step forward as far as licensing goes. All
MP3 playback requires a patent license, while playback of Apple’s
format does not–only the encoding side need be licensed. That’s
not my baseline though. FLAC has specifically avoided using any
known patented technology, so it’s the clear winner in being clean of
You can’t even read the just released source code without being shown the door that leads to Apple’s patents. ALACEncoder.cpp pushes you that way when you read it, saying “The
relevance of the ALAC coefficients is explained in detail in patent
documents.” So you can’t fully understand what this code does
unless you dip into the patent description. That’s a big sign of
trouble. I’m not sure exactly which patent they are referring to; it may be Determining scale factor values in encoding audio data with AAC.
I’m not sure because I don’t read patent descriptions if I
can avoid it, due to how damages are tripled with willful infringement. That rule puts
open-source developers in a weird place. The act of researching
which patents your free implementation might infringe on can have a
wildly negative return on investment. If it’s impossible to
implement the idea without infringing in the patents you find, which
can easily be the case given the ridiculously low bar for grating
such patents, if a lawsuit does happen you’d be better off not
knowing about that risk when it starts. On the PostgreSQL mailing
lists, mentioning how a patented implementation of something works is
one of the few things that will get you a warning and potentially
blocked from the lists. Knowingly implementing a patented idea can
be a very expensive mistake for the project to make.
Now, you can claim this problem has
gone away for this bit of software due to how Apple has released this
code under the Apache 2.0 license. If you build something using the Apple Lossless
code, and you distribute the result under the Apache 2.0 license, you
get the protection of its Grant of Patent License. You’ll only lose
it if you sue someone in a way that involves this code+patent
combination. That doesn’t necessarily protect manufacturers of
hardware who want to include this capability, as they may not want to
license the result that way. I don’t really care about them though.
People who want to take advantage of open-source code but not
contribute back to can worry about their own legal issues, they’re
not my concern.
My real issue with using this format is
that it implicitly approves of business practices around software
patents I find hostile to my own work, and that leads me back to the
patent-less FLAC again. Apple used to more often be the victim of
valid and frivolous patent claims, but increasingly they’ve become
the originator of them instead. In mid 2006, Apple was sued over
patent issues by Creative Technology; they settled paying Creative
$100M dollars. Since then, patent issues have increasingly been part
of their well exercised legal arm.
Starting last year, Apple has seriously
turned around in how it handles patents–it’s now aggressively
enforcing its patents rather than just being sued for violations. Steve
Jobs issued a warning shot about that, saying “competitors should
create their own original technology, not steal ours”.
Considering it had only been four years before then that Apple was
sued–and paid out in a big way–for stealing other people’s
patented ideas, that came off as rather hypocritical to me.
The company has done well staying ahead
of its competitors by production innovation, rather than court
fights. iPod competitors failed to gain traction because their
products weren’t as good, not because they couldn’t steal the design.
Apple’s iPad should have the same property; the knock-offs are not
selling because they’re not as good. The only real threat to their
product line right now are how Android phones are displacing the
iPhone. Dumping so much money into offensive lawsuits is burning up
money that could be used for real product advances there instead.
It’s a shame they’ve resorted to this tactic.
At this point, a cautious person would
avoid using technology encumbered by Apple’s patents, as they clearly
have the means and intent to sue for violations. And someone who
values open source projects should avoid patented approaches even
when they are freely licensed. Whether or not individuals using
Apple Lossless is particular are exposed to problems here is missing
the big picture.
As an advocate for free software, I
reflexively pick the less patent encumbered approach to any problem,
using that as the tie breaker for decisions that are otherwise even.
Encoding into and helping popularize Apple Lossless may be legal now.
But I’ll keep encoding into FLAC, copying the result onto my Sansa
Fuse player, and avoiding their entire music ecosystem. Software
patents are too dangerous to implicitly endorse them if it can be
avoided, and here they easily can.