or Connect
AppleInsider › Forums › Software › Mac OS X › Apple Open Sources Snow Leopard's Grand Central Dispatch
New Posts  All Forums:Forum Nav:

Apple Open Sources Snow Leopard's Grand Central Dispatch

post #1 of 44
Thread Starter 
Despite being a unique, key marketing feature of Snow Leopard, Apple has decided to open the code behind Grand Central Dispatch under the liberal Apache 2.0 license.

Snow Leopard's new Grand Central Dispatch feature, which serves as a system-wide mechanism for managing parallel task execution across multiple processor cores for developers, involves multiple components in the operating system.

The user-space implementation of the Grand Central Dispatch services API, called libdispatch, has been delivered as its own open source project, joining with other components that are part of projects Apple has already designated as open, including the kernel components in the Darwin OS XNU kernel and the blocks runtime that is part of the LLVM project.

Apple's code giveaway was "something of a surprise," according to MacResearch, a website covering the use of Apple technologies in the scientific research community, because the new feature of Snow Leopard "could be seen to give Apple a competitive edge in the new world of multi-core."

However, opening the code to the community could help pave the way for its adoption. Writing for MacResearch, Drew McCormack noted, "Until today, it would have been very unlikely that any new UNIX tools would be developed on Mac OS X using Grand Central, simply because they would only run on the Mac. With the possibility that Grand Central will become available on other UNIX systems, the likelihood that Grand Central will be incorporated into command line tools is greatly increased."

McCormack said there was little risk to Apple of sharing its new code, saying that it was "unlikely that Grand Central would be used by any direct competitor to Apple, like Microsoft," and noting that its adoption by other Unix and Linux systems would not "really pose a threat to Apples consumer-based business."

Apple contributes to and runs a variety of open source projects, from WebKit to CUPS. Some efforts to open source its code have been wildly successful, while other have seen little enthusiasm. For example, there has been no real interest in Apple's launchd among the greater open source community out side of Mac OS X, in large measure because it would require a massive reworking of Linux in order to put it to use.

Open source support for other Apple code that is easier for others to use has been a mixed bag. There has been some limited use of Darwin Streaming Server, Apple's RTSP streaming project incorporated in Mac OS X Server as QuickTime Streaming Server. Webkit has been wildly successful, particularly in the mobile arena. Bonjour has been implemented for Linux, and taken in new directions.

Significant new outside interest in Grand Central Dispatch could result in a wider support base for building parallelism compatible with Apple's other open technologies, such as OpenCL. The availability of the dispatcher on Linux and other Unix operating systems would also help generate demand for other command line utilities that tap into its power. That would help Apple leverage its technologies in markets where it has a minority position, such as in the enterprise and supercomputing.
post #2 of 44
Clearly a move against Microsoft Windows ... the ground work for further Mac OS X and 'X' adoption will be the trend in the next few years.
post #3 of 44
A major software effort and now they are releasing it? They obviously believe strengthening Unix in general will strengthen OS X.
post #4 of 44
Very little risk indeed.

Grand Central Dispatch is technology with great promise but that hinges
on its ability to be integrated into tools and put into use.

Apple only benefits by having the technology in more hands and it certainly
helps OpenCL's chances as well.
He's a mod so he has a few extra vBulletin privileges. That doesn't mean he should stop posting or should start acting like Digital Jesus.
- SolipsismX
Reply
He's a mod so he has a few extra vBulletin privileges. That doesn't mean he should stop posting or should start acting like Digital Jesus.
- SolipsismX
Reply
post #5 of 44
So much for the critics that have charged Apple only takes from the FOSS community and doesn't give back. Glad to see that a legitimate company can make money while still benefitting the FOSS community. Not all companies have to be Microsoft to get ahead.
NW '98
"Everything works, in theory..."
Reply
NW '98
"Everything works, in theory..."
Reply
post #6 of 44
So uh... When can I expect to see this in Ubuntu?
post #7 of 44
Because of Exchange, Mac users at work are being forced to use Entourage/Exchange for email.


It would be ideal if Apple could release a robust, user-friendly, feature-filled open-source mail server. We need an "Exchange killer" to stem the tide of migrations from unix mail systems to Exchange.
post #8 of 44
Quote:
Originally Posted by AppleInsider View Post

Despite begin a unique, ...

Typo?
post #9 of 44
Quote:
Originally Posted by Bourgoises Pig View Post

Because of Exchange, Mac users at work are being forced to use Entourage/Exchange for email.

What do you mean? I'm using Apple Mail right now using ActiveSync with Exchange, and I don't feel forced into anything.

If you're talking about Exchange market share, Apple's addressed the functionality in the latest Server product. Time will tell but nothing says Microsoft's hegemony must or will continue if the functionality exists elsewhere, and it does.
post #10 of 44
Quote:
Originally Posted by AppleInsider View Post

Apple's code giveaway was "something of a surprise," according to MacResearch, a website covering the use of Apple technologies in the scientific research community, because the new feature of Snow Leopard "could be seen to give Apple a competitive edge in the new world of multi-core."
However, opening the code to the community could help pave the way for its adoption.

Right. The time of excuses "we don't really have any applications, but we can run windows' ones for you" has gone along with Mac OS X 10.0. Something new should come in handy now.

We mean Apple no harm.

People are lovers, basically. -- Engadget livebloggers at the iPad mini event.

Reply

We mean Apple no harm.

People are lovers, basically. -- Engadget livebloggers at the iPad mini event.

Reply
post #11 of 44
Gusty move by the smartest software developer on Earth. Lets hope this paves the way for total Windows PC humiliation.
post #12 of 44
Quote:
Originally Posted by paxman View Post

Typo?

Exactly. The first sentence should have begun:

Quote:
Despite being a unique ...

  Google Maps: ("Directions may be inaccurate, incomplete, dangerous, or prohibited.")

 

  MA497LL/A FB463LL/A MC572LL/A FC060LL/A MD481LL/A MD388LL/A ME344LL/A

Reply

  Google Maps: ("Directions may be inaccurate, incomplete, dangerous, or prohibited.")

 

  MA497LL/A FB463LL/A MC572LL/A FC060LL/A MD481LL/A MD388LL/A ME344LL/A

Reply
post #13 of 44
Quote:
Originally Posted by Tauron View Post

Gusty move by the smartest software developer on Earth. Lets hope this paves the way for total Windows PC humiliation.

how could it, if someone would port GCD to Windows?
post #14 of 44
Quote:
Originally Posted by bobrik View Post

how could it, if someone would port GCD to Windows?

Not the style of Microsoft. They usually don't port existing technologies but rather try to copy the technology function in something of their own, that way they can make it proprietary so that developers can't create apps that are cross-platform. Why do you think opensource hates Microsoft so much, they take all their good ideas & ruin the tech market by developing their own poorer, incompatible, cousin.
post #15 of 44
Quote:
Originally Posted by Bourgoises Pig View Post

It would be ideal if Apple could release a robust, user-friendly, feature-filled open-source mail server. We need an "Exchange killer" to stem the tide of migrations from unix mail systems to Exchange.

I don't agree with this. Cloud-based solutions are where the industry is going. Google's premium apps is a prime example of this. The days of maintaining your own server are numbered, at least for small-medium sized businesses.
post #16 of 44
Quote:
Originally Posted by ion497 View Post

I don't agree with this. Cloud-based solutions are where the industry is going. Google's premium apps is a prime example of this. The days of maintaining your own server are numbered, at least for small-medium sized businesses.

Please correct me if I am wrong, but state and federal government institutions require that email reside on servers owned by them. Apple should at least cut universities some slack...........
post #17 of 44
Quote:
Originally Posted by John.B View Post

Exactly. The first sentence should have begun:

No kidding...I think that editor took the day off today! There are several typos in this...good read though!
post #18 of 44
Quote:
Originally Posted by macosxp View Post

So uh... When can I expect to see this in Ubuntu?

Indeed! I would love to see my ubuntu server run circles around all the video trans-coding I have it do over night!
Go Linux, Choose a Flavor!
"I aim to misbehave"
Reply
Go Linux, Choose a Flavor!
"I aim to misbehave"
Reply
post #19 of 44
Quote:
Originally Posted by AppleInsider View Post

Despite  being a unique, key marketing feature of Snow Leopard, Apple has decided to open the code behind Grand Central Dispatch under the liberal Apache 2.0 license.

Snow Leopard's new Grand Central Dispatch feature, which serves as a system-wide mechanism for managing parallel task execution across multiple processor cores for developers, involves multiple components in the operating system.

The user-space implementation of the Grand Central Dispatch services API, called libdispatch, has been delivered as its own open source project, joining with other components that are part of projects Apple has already designated as open, including the kernel components in the Darwin OS XNU kernel and the blocks runtime that is part of the LLVM project.

Apple's code giveaway was "something of a surprise," according to MacResearch, a website covering the use of Apple technologies in the scientific research community, because the new feature of Snow Leopard "could be seen to give Apple a competitive edge in the new world of multi-core."

However, opening the code to the community could help pave the way for its adoption. Writing for MacResearch, Drew McCormack noted, "Until today, it would have been very unlikely that any new UNIX tools would be developed on Mac OS X using Grand Central, simply because they would only run on the Mac. With the possibility that Grand Central will become available on other UNIX systems, the likelihood that Grand Central will be incorporated into command line tools is greatly increased."

McCormack said there was little risk to Apple of sharing its new code, saying that it was "unlikely that Grand Central would be used by any direct competitor to Apple, like Microsoft," and noting that its adoption by other unix and Linux systems would not "really pose a threat to Apples consumer-based business."

Apple contributes to and runs a variety of open source projects, from WebKit to CUPS. Some efforts to open source its code have been wildly successful, while other have seen little enthusiasm. For example, there has been no real interest in Apple's launched among the greater open source community out side of Mac OS X, in large measure because it would require a massive reworking of Linux in order to put it to use.

Open source support for other Apple code that is easier for others to use has been a mixed bag. There has been some limited use of Darwin Streaming Server, Apple's RTSP streaming project incorporated in Mac OS X Server as QuickTime Streaming Server. Webkit has been wildly successful, particularly in the mobile arena. Bonjour has been implemented for Linux, and taken in new directions.

Significant new outside interest in Grand Central Dispatch could result in a wider support base for building parallelism compatible with Apple's other open technologies, such as OpenCL. The availability of the dispatcher on Linux and other Unix operating systems would also help generate demand for other command line utilities that tap into its power. That would help Apple leverage its technologies in markets where it has a minority position, such as in the enterprise and supercomputing.

i guessdr spellgood is on vacation

Hey mr kasper the whole world reads here . Looks so tacky when your writers can't spell.

This is a great web site filled with cool people ,

peace
9
whats in a name ? 
beatles
Reply
whats in a name ? 
beatles
Reply
post #20 of 44
Quote:
Originally Posted by Bourgoises Pig View Post

Please correct me if I am wrong, but state and federal government institutions require that email reside on servers owned by them.

Really? Do you have something specific or is this just conjecture?

I'm sincere - if you have something that can substantiate your claim please provide it as it would be most useful.
post #21 of 44
This is to help facilitate the adoption of 'blocks' as part of the ANSI C language spec. These things take years of course but the concurrency stuff Apple have created is very, very cool and deserves wide adoption in Unix circles. Microsoft will of course have some overly complex fucked-up 'extended' version of it at some point.
post #22 of 44
Quote:
Originally Posted by Tauron View Post

Gusty move by the smartest software developer on Earth. Lets hope this paves the way for total Windows PC humiliation.

Smartest software developer on Earth?

You DO know they ripped their entire OS off of BSD don't you?

Their expertise is at picking source code from the community that comes with just the right license so they don't have to give back to the community any more than the absolute minimum.

This project is NOT a significant gift. At most it might prove useful once compilers manage to incorporate parallel processing techniques so that multi-cores can be utilized easily.

This project requires that the programmer build all of the parallel processing constructs, built his own processing queues, and feed those queues appropriate blocks of code. Those programmers working on projects that need this level of micromanagement already have other tool sets for this. But the important thing is very few projects need this, and there is significant debate as to whether this belongs in the hands of application developers at all.
post #23 of 44
Quote:
Originally Posted by icebike View Post

You DO know they ripped their entire OS off of BSD don't you?

That's simply not true. First of all, you cannot rip off BSD licensed code being as it's open source and has a very liberal license. Second, booting the mach kernel and using only BSD derived tools like ls or mv certainly isn't the same thing as booting full blown OSX which is heavily based on Apple's own first party closed source code. Third, and perhaps most importantly, NeXT and Apple have done most of the work maintaing the mach kernel over the last 2 decades or so. Parts of FreeBSD are based on mach but it's an entirely different codebase. The common ancestry of the two is far in the past. Apple certainly builds on a number of OSS projects such as samba, CUPS, gcc, etc. Apple uses custom builds of many of these projects and publishes their source changes. In some cases they do submit code directly to the main branch.

From a more technical standpoint OSX implements its own file system, device drivers (IOKit) windowing system, UI toolkit (Cocoa, Carbon), development platform IDE, boot loader, and is built on first party closed source Apple code for virtually all of the end user GUI apps such as Finder, Dock, iTunes, iPhoto, Mail, etc. Apple has used code from the Solaris code base in the form of DTrace. They have mostly avoided GPL licensed code due to the viral nature of the license that would make it difficult for Apple to mesh OSS software with their own first party closed source software

So uh yeah, other than that... total BSD rip off OMG!
post #24 of 44
I think SinisterJoe needs a reminder trip thru the well hidden credits in Mac OSX. If you think the only thing they ripped off was the BSD Kernel you sir are sadly misinformed.

Its not just cups and samba.

This company routinely takes open-source private. The BSD kernel was chosen so that they would not have to give back.

NeXt was also pilfered, much to the chagrin of minority interest holders. Hell, Jobs even ripped off Woz.
post #25 of 44
Quote:
Originally Posted by Bourgoises Pig View Post

Please correct me if I am wrong, but state and federal government institutions require that email reside on servers owned by them. Apple should at least cut universities some slack...........

Not to mention the major Gmail outage last week. Cloud computing is not a viable solution for mission critical applications.
post #26 of 44
Quote:
Originally Posted by icebike View Post

I think SinisterJoe needs a reminder trip thru the well hidden credits in Mac OSX. If you think the only thing they ripped off was the BSD Kernel you sir are sadly misinformed.

Its not just cups and samba.

This company routinely takes open-source private. The BSD kernel was chosen so that they would not have to give back.

NeXt was also pilfered, much to the chagrin of minority interest holders. Hell, Jobs even ripped off Woz.

You are obviously a troll.

Grand Central lives at three levels. All three are open source. It is at the compiler level in gcc, llvm, and clang (all open source BSD and GPL). It is in the libdispatch library (apache open source). It is in the kernel (APSL i think). The kernel is the least open source but that would obviously have to be reimplemented for another platform anyway.

Just look at all the work Apple puts in to Webkit just to have it ripped off by competitors (both commercial and open source). They are definitely giving back. LLVM, clang, cups, webkit, and calendar server are all huge projects given under very liberal open source licenses.
post #27 of 44
Apple also open sourced XGrid and Darwin. Who uses those? GCD has some good potential, but it will take some effort by the linux community to integrate it into their distribution and the hooks required (block support in C, switch to a new compiler technology) aren't trivial to say the least.
Most of us employ the Internet not to seek the best information, but rather to select information that confirms our prejudices. - Nicholas D. Kristof
Reply
Most of us employ the Internet not to seek the best information, but rather to select information that confirms our prejudices. - Nicholas D. Kristof
Reply
post #28 of 44
Quote:
Originally Posted by icebike View Post

I think SinisterJoe needs a reminder trip thru the well hidden credits in Mac OSX. If you think the only thing they ripped off was the BSD Kernel you sir are sadly misinformed.

Its not just cups and samba.

This company routinely takes open-source private. The BSD kernel was chosen so that they would not have to give back.

NeXt was also pilfered, much to the chagrin of minority interest holders. Hell, Jobs even ripped off Woz.

"Ripped off", a term you seem to enjoy using, suggests stealing, an illegal activity. Where are the court cases that support your claim that any stealing went on? Or do you just mean that they used something they were fully entitled to use?

This is just trolling of the worst sort a small-minded, curmudgeonly pretence at an "alternate viewpoint" designed to inflame and incence.

Apple have done a pretty generous thing here, so it is just annoying to have to read your post.
AppleInsider = Apple-in-cider. It's a joke!

I've used macs since 1985 when I typed up my first research paper. Never used anything else never wanted to.
Reply
AppleInsider = Apple-in-cider. It's a joke!

I've used macs since 1985 when I typed up my first research paper. Never used anything else never wanted to.
Reply
post #29 of 44
Quote:
Originally Posted by Eluard View Post

"Ripped off", a term you seem to enjoy using, suggests stealing, an illegal activity. Where are the court cases that support your claim that any stealing went on? Or do you just mean that they used something they were fully entitled to use?

I love radical open source people. Extremists, much like vegans.

The code is put out there, the license is clear and when someone uses it exactly as specified they get miffed that someone doesn't use it exactly as they think it should be.

Is it open or not? Free (as in beer) or not?

As you point out, how is using code exactly as the terms of the license it's released under ripping someone off?
post #30 of 44
Quote:
Originally Posted by icebike View Post

This company routinely takes open-source private. The BSD kernel was chosen so that they would not have to give back.

You do know that Linux is "Like Unix"? That it's a reverse engineering of Unix so they wouldn't have to compensate the original Unix rightsholders?

Kinda takes the sting out of your accusations, doesn't it?

  Google Maps: ("Directions may be inaccurate, incomplete, dangerous, or prohibited.")

 

  MA497LL/A FB463LL/A MC572LL/A FC060LL/A MD481LL/A MD388LL/A ME344LL/A

Reply

  Google Maps: ("Directions may be inaccurate, incomplete, dangerous, or prohibited.")

 

  MA497LL/A FB463LL/A MC572LL/A FC060LL/A MD481LL/A MD388LL/A ME344LL/A

Reply
post #31 of 44
Quote:
Originally Posted by icebike View Post

Smartest software developer on Earth?

You DO know they ripped their entire OS off of BSD don't you?

Their expertise is at picking source code from the community that comes with just the right license so they don't have to give back to the community any more than the absolute minimum.

This project is NOT a significant gift. At most it might prove useful once compilers manage to incorporate parallel processing techniques so that multi-cores can be utilized easily.

This project requires that the programmer build all of the parallel processing constructs, built his own processing queues, and feed those queues appropriate blocks of code. Those programmers working on projects that need this level of micromanagement already have other tool sets for this. But the important thing is very few projects need this, and there is significant debate as to whether this belongs in the hands of application developers at all.

First statement is entirely off the mark. Note you are being definitive by stating "entire" to preface your commentary. Aqua UI, Quartz rendering and a plethora of other tools did not come from BSD.

Webkit is a prime example of open source "give backs" as well as GCC

OpenMP already allows you target Multi procs within a compiler. Nothing new here as GCD works with pre-existing MP frameworks.

You obviously haven't read the GCD paper on Apple page. To leverage GCD developers must look for opportunities within their app for parallel processing and dependencies. Queue management is handled by GCD. The ease of use with GCD is precisely NOT having to manage queues.

Developers have been managing (some better than others) multithreaded code for decades.

That is all
He's a mod so he has a few extra vBulletin privileges. That doesn't mean he should stop posting or should start acting like Digital Jesus.
- SolipsismX
Reply
He's a mod so he has a few extra vBulletin privileges. That doesn't mean he should stop posting or should start acting like Digital Jesus.
- SolipsismX
Reply
post #32 of 44
It's a step forward in the world of multi-core but not the be all and end all. Looking at the API, it still feels like we (computer scientists) are groping about in the dark. But trying things like this is the only way to move forward, so good on them.
post #33 of 44
Quote:
Originally Posted by nitewing98 View Post

So much for the critics that have charged Apple only takes from the FOSS community and doesn't give back. Glad to see that a legitimate company can make money while still benefitting the FOSS community. Not all companies have to be Microsoft to get ahead.

Freetards will still complain for not releasing under GPL.

Amusingly, GC is NOT available for linux since it's under Apache 2.0 and GPL 2.0 are claimed to be incompatible by the FSF. Whether this means that Linus will move the kernel to GPL 3.0 or not depends on how much he thinks GC is worth the effort.

http://www.apache.org/foundation/licence-FAQ.html

http://www.apache.org/licenses/GPL-compatibility.html

MS has a large body of open source software under MS-PL and MS-RL. Yes, these are OSI approved licenses.
post #34 of 44
Quote:
Originally Posted by icebike View Post

I think SinisterJoe needs a reminder trip thru the well hidden credits in Mac OSX. If you think the only thing they ripped off was the BSD Kernel you sir are sadly misinformed.

Its not just cups and samba.

This company routinely takes open-source private. The BSD kernel was chosen so that they would not have to give back.

NeXt was also pilfered, much to the chagrin of minority interest holders. Hell, Jobs even ripped off Woz.

See the freetards are still pissed.

1) They did not use the BSD kernel. They used the MACH kernel.
2) Much of what Apple has used from the Open Source world has been improved and given back. They simply don't give away the crown jewels like Sun did. You know Sun...now Oracle?
3) You cannot rip off BSD/permissive license Open Source because you cannot steal what is freely given away. As opposed to not-so-freely given away.
4) You do not "pilfer" a company if you paid $400M for it.
post #35 of 44
Quote:
Originally Posted by bobrik View Post

how could it, if someone would port GCD to Windows?

Amusingly you can. Apache 2.0 has a patent grant clause so MS can take the code, refactor it for the windows kernel and enhance their GCD-like capability. They just can't call it GCD without Apple's permission.

Alas, Linux cannot. I love the irony that a license that claims to be "free" is hoist by it's own petard.
post #36 of 44
Quote:
Originally Posted by AppleInsider View Post

Despite being a unique, key marketing feature of Snow Leopard, Apple ...

Apple is not a unique, key marketing feature of Snow Leopard. GCD is.
post #37 of 44
I'm an idiot. Post was wrong.
post #38 of 44
Good strategy by Apple. Honestly, GCD is going be best used in segments where Apple has chosen not to compete very strongly. If programers learn to incorporate the APIs on the Linux/Unix side it will get better adoption on the Mac.
post #39 of 44
Quote:
Originally Posted by BenRoethig View Post

Good strategy by Apple. Honestly, GCD is going be best used in segments where Apple has chosen not to compete very strongly. If programers learn to incorporate the APIs on the Linux/Unix side it will get better adoption on the Mac.

Oracle might put some things into Solaris. It would take Linus to move to GPL 3.0 or some other license (not bleeding likely) or simply declaring that he thinks GPL 2.0 is compatible with Apache 2.0 and the FSF can go hang.

None of these feel particularly likely just because of GC.
post #40 of 44
Looking at it a little more it seems the kernel portion is released under ASPL while the userland portion is Apache.

Also MS already has GCD like functionality in .NET 4.0 in PLINQ and TPL.

http://msdn.microsoft.com/en-us/magazine/cc163340.aspx
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Mac OS X
AppleInsider › Forums › Software › Mac OS X › Apple Open Sources Snow Leopard's Grand Central Dispatch