Open Sourcing Grand Central Dispatch is Crazy? Like a Fox

Apple has taken it's Grand Central Dispatch technology open source. That's the higher level API that assists developers with making their apps run faster by better exploiting CPU threads. Why would Apple make this technology available to the competition? Here's why.

In the earlier news item today, Drew McCormack pointed out that making Grand Central open source promotes the acceptance of the technology as a C language standard. Recapping, he said that "Having your operating system based on a non-standard language is not a good position to be in, and Apple would surely like to see blocks incorporated into the C language. By offering Grand Central to the broader programming community, they may be hoping it will catch on, and make the argument for incorporating blocks in the C standard that much stronger."

So even if the technology were adopted by, say, Linux, it wouldn't affect Apple's market.

That's all absolutely true. However, Apple has additional motivations for such a move, just as they have moved to make OpenCL an open standard. Namely, it's becoming more and more clear that Apple has developed a world class software development system for the Mac and the iPhone/iPod touch. Developers are taking notice.

I frequently run across stories of PC developers who worked in frustration for years, grappling with Microsoft's proprietary and awkward development technologies. After they work with Apple's development tools, it's like a breath of fresh air. Of course, Windows still commands 90 percent of the market, but for many developers the pain isn't worth it anymore. The allure of a better life (and some good money) on the Mac, and especially the iPhone, is high.

Moreover, Apple doesn't have to convert every Windows developer. They only have to attract a small percentage of developers -- those who are smart enough and courageous enough to jump ship -- to keep the Mac ecosphere alive with great talent.

And if those developers work with C, Objective-C, open source, and really advanced technologies like Grand Central Dispatch, OpenCL, hardware accelerated OpenGL, they know that they're also well poised to move into some sections of the higher education or enterprise markets that place a lot of value on UNIX in general, open source, Java, and advanced, high performance computing. It's a skill set equal in value to being a Windows-only programmer.

Windows has its place in the enterprise, but many developers aspire to more. But they don't want to invest in just another proprietary technology from Apple that pigeonholes them. Apple learned that lesson well, and that's the second major reason behind Apple's announcement on Friday.