Saturday, March 12, 2011

Sometimes a rumor is just a rumor

Apple has now released the latest version of their Mac OS X developer tools: Xcode 4. It looks like there are some very interesting new features in this version:

  • Apple have switched from GCC to LLVM as their base compiler technology.

  • In a related move, the debugger infrastructure switches from GDB to LLDB.

There are a variety of other improvements; it looks like a major, powerful upgrade.

The Apple "what's new" pages are kind of brief, however, so I'll need to dig deeper as I get a chance. For starters, it's not obvious whether "Apple LLVM Compiler 2.0" is the same thing as Clang -- anybody know?

Secondly, Clang says that they achieve "GCC compatibility"; does this mean that we can mix-and-match GCC-compiled modules and Clang-compiled modules? Can GDB debug a Clang executable? Can Xcode 4 debug a GCC executable?

Lots to learn!

Meanwhile, however, all the coverage seems to want to talk about is Apple's decision to change $4.99 for Xcode 4 through the Mac App Store.

Mac developers are an odd bunch. They had this same discussion last month when it came to Apple's decision to change $0.99 for FaceTime.

In fact, they've been having this same discussion for years; here it is in 2007, regarding a $4.99 charge for 802.11n features in certain MacBook models.

So, over 5 years or so, there has grown this persistent rumor, which goes something like this: Apple doesn't really want to charge their devoted and loyal Apple fans these prices for their software; they really want to give it away for free; but the evil federal government has tied sweet Apple's hands and so they are forced to charge us in order to satisfy the Sarbanes-Oxley auditors.

The source of most of these rumors appear to date back to this post, where the author describes how he came up with the story:

From an Apple representative on the show floor ... which really just makes no sense to me at all, but the claim Apple’s making is that it _can’t_ give you the 802.11n-unlocking software for free. The reason: the Core 2 Duo Macs weren’t advertised as 802.11n-ready, and a little law called the Sarbanes-Oxley Act supposedly prohibits Apple from giving away an unadvertised new feature for one of its products. Hence, said the Apple rep, the company’s not distributing new _features_ in Software Update any more, just _bug fixes._ Because of Sarbanes-Oxley. If this is an accurate statement of Apple’s position, which as an attorney (but not one with any Sarbanes background) I find at least plausible, this is really crazy.

That's it; that's the complete source of this rumor, which has now made it to thousands of web sites in the typical Internet style of picking it up and passing it along.

It looks as though CNet made a bit of an attempt to verify this rumor; their page states:

Apple said it is required under generally accepted accounting principles to charge customers for the software upgrade. "The nominal distribution fee for the 802.11n software is required in order for Apple to comply with generally accepted accounting principles for revenue recognition, which generally require that we charge for significant feature enhancements, such as 802.11n, when added to previously purchased products," Fox said in a statement.

But where is this statement? CNet doesn't link to it, doesn't give us any hard citations, just says that they got this from "Lynn Fox, an Apple spokeswoman."

All my attempts to find such an actual statement, either as a press release, or as an actual page on Apple's own web site, were failures.

I think that there is another, much simpler explanation: Apple charges for their software because they can. Apple are a very large, very successful company, and they've got that way by building products that people want to buy, and selling those people additional applications to run on those products. It's a good business model, and I applaud them for it: build good products and people will buy them. You don't have to fabricate these bizarre stories to cast Apple as some sort of benevolent entity who is being forced by evil overlords to abuse the undeserving peasants.

Sometimes, a rumor is just a rumor.

Meanwhile, back to studying those LLVM compiler internals!

No comments:

Post a Comment