Open Sourcing Grand Central Dispatch is Crazy?  Like a Fox

| Editorial

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.

Sign Up for the Newsletter

Join the TMO Express Daily Newsletter to get the latest Mac headlines in your e-mail every weekday.

12 Comments Leave Your Own

dave

Um, if Objective-C is a “non-standard” language, then C# is as well.

SunnyGuy53

It’s Objective-C _with blocks_ that is non-standard—not Objective-C itself.

Sunny Guy

Ion_Quest

I still don’t understand Apple’s ‘partnership’ with developers.  As long Windows games/apps run on Macs but Mac games/apps don’t run on 90%+ of PC’s, why waste time on Macs?  Because Macs are cool?

John Martellaro

Ion_Quest: Regular followers of the Apple world and developers know that:

1. There are fewer games for the Mac, so a really good game can stand out and make money.  In the PC world, massive choice is good for consumers, but not so much for all developers, just a few.
2. Apple customers tend to spend more money on apps than PC counterparts. That’s been documented.
3. Apple’s Xcode, Cocoa, and APIs reduce the time it takes to bring a good game to market.  For example, using essentially the same tools, developers have already produced 21,000 games for the iPhone/iPod touch.

-JM

Jose

@Ion_Quest

The ‘partnership’ isn’t too hard to figure out.  It’s called the ‘App Store’ and it’s revolutionary.

tbone1

I’m a Unix/Oracle/Java/Perl/etc developer, and in my experience, we make more money than the Windows guys. Maybe the companies selling consumer software make more from Windows versions, but the programmers themselves make as much, if not more, on Unix/open systems.

Generally, a U/O/J/P/e programmer has to know what he’s doing. MS try to lower the bar for people to start programming, which is fine, but they’ve lowered it so much that a lot of MS programmers know how the book says to do things but their other skills (system design, regression testing, implementing business rules, writing interoperable or portable code, etc) tend to lack, to say the least.

Yeah, I know, I’m a bitter old Unix guy. I’ve only been doing this professionally for about 20 years; what do I know about it?

UrbanBard

Apple projects very long into the future; it does not let anyone know about its ultimate goals. Look at how long they struggled with Quicktime? Who knew that Quicktime would wind up being in an on-line store delivering movies?

The point is that Apple needs to have its technologies be ubiquitous, because Microsoft crowds out the competition with proprietary standards. Apple needs applications more than anything else, because the OS with the most applications ultimately wins. Since the iPhone Apps use that same tools as a regular Mac app, a person who develops for the iPhone could start developing for the Mac.

The areas that Apple is moving toward will be difficult for Microsoft to sabotage: 64 bit apps, GCD and OpenCL.

Apple may have plans, John, to expand the Application store, too. It worked out very well for iPhone apps, so why not with regular applications and games?

Apple is providing a well regulated market place for developers. The costs of selling apps to Apple users should come way down, because most of a developer’s work is not being ripped off. If you get paid for every app then you can recover your development cost at a lower price point. A lower price means more sales.

This looks like a coordinated attack on Microsoft: Open source technologies that become web standards, an improved OS which wrings the best out of Intel hardware and an on-line application store which gives the customers a bargain while ensuring that the developers get paid.

Apple will be breaking ground for a 500 thousand sq ft Data Center in North Carolina. That data center is unlikely to be used for delivering downloads; Apple has other sources for that. Google may get some of that action. It is more likely for taking orders, but, if so, Apple must be expecting a whole bunch of online ordering—much more than today.

Ion_Quest

Regular followers of the Apple world and developers know that:

1. There are fewer games for the Mac, so a really good game can stand out and make money.  In the PC world, massive choice is good for consumers, but not so much for all developers, just a few.
2. Apple customers tend to spend more money on apps than PC counterparts. That?s been documented.
3. Apple?s Xcode, Cocoa, and APIs reduce the time it takes to bring a good game to market.  For example, using essentially the same tools, developers have already produced 21,000 games for the iPhone/iPod touch.

-JM

1. There are fewer Mac games, but Apple invited Intel Mac users to run the entire Windows game catalog.  Many do.  There should be even fewer Mac games in the future.
2. I believe Mac users spend more, but will they spend their money on Mac games or PC games?
3. After being burned twice by Apple switching processors, I don’t want to depend on Apple for anything.  Several long time Mac-only game developers dumped the Mac in search of iPhone gold.  “It’s gotten so popular that people don’t like to go there anymore”. 

Bitter old Mac-only user for 25 years.

Lino Triestino

I can’t believe it; Disgruntled iPhone developers are spinning App Store success into non-success, and whining. Stick it up your friggin’ Windows holes.

Ion_Quest

I can?t believe it; Disgruntled iPhone developers are spinning App Store success into non-success, and whining. Stick it up your friggin? Windows holes.

If you are referring so eloquently to me Lino, I’ve never worked on an iPhone app nor a Windows app (yet).  Certainly Apple has succeeded with the Mac and now iPhone. If you have 25 years to chase Apple in circles, go fo it!  Meanwhile, sip the cool-aid.

UrbanBard

What I think this means is that a sea change is coming and not for Apple alone.

Releasing Grand Central Dispatch to open source means that GSD and OpenCL will wind up in the 64 bit Chrome Operating System.  VMware will too, so who needs Microsoft?

I don’t see Apple and Google as enemies; they are conspirators in taking down Microsoft.  Apple hits MS from on high and Google hit them low. Both use the same open source foundations. Apple gets the high end, computer intensive uses and Google gets the Web apps and services. Meanwhile, Microsoft gets frozen out of the consumer market.

What this could mean is that a developer creates an application for the IPhone and then moves it to Google web apps. Then, they rework it slightly to bring it to the Mac market. This is an ecosystem which Microsoft cannot play in.

Microsoft’s market share figures are highly inflated. Their figures include many single purpose, commercial computers which the Chrome OS could take over to run displays, cash registers and act as front ends to mainframes or the Web. They comprise about a third of Microsoft’s market share. Since they would run on top of Linux those single function devices would be less vulnerable to malware attacks than Windows.

Mikuro

Another reason is that the other OSes will have equivalent technology in short order with or without Apple’s help. If there’s a standard, Apple will benefit. If there’s not, then high-performance code will need to be rewritten heavily in order to be cross-platform, and Apple would thus lose one of the advantages of moving to Intel.

Of course, there’s only so much Apple can do. Microsoft could just make their own equivalent, and cripple Grand Central even if they technically support it, the way they do with OpenGL.

As a (non-professional) developer myself, I certainly appreciate this move. I’ve been wary to jump onboard with some of Apple’s technologies because I know that I might like to run my apps on Linux.

Log-in to comment