A package management tool is common to most Linux and Unix operating systems to automate installing, updating and removing software. In the early days of Mac OS X there were no such tools available and installing Open Source software usually would require a complex list of steps that created demand for projects like Fink and DarwinPorts (now MacPorts) to provide an easier method. The work on these projects gave the Mac community a set of tools that were missing in the OS, returned several improvements that are now used and along the way one of them almost became the official package management tool for Mac OS X.

In the fall of 2006 I started working on an article covering the package management tools available for Mac OS, the Metapkg Alliance and rumors that Apple considered adopting one of the projects as the official package management system for Mac OS. And for the last few years all of those emails and notes have been sitting unused until I decided to pick them backup and piece together what I had started.

1999 – 2000

The first version of Mac OS X was released as OS X Server 1.0 and we saw the public beta which was the first time the Aqua user interface was released to the public. At the end of 2000 Christoph Pfisterer started the Fink project, giving OS X it’s first package management tool.

2001 – 2002

We saw the official release of Mac OS 10.0, two point releases (10.1 and 10.2), and the creation of two projects OpenDarwin (Apple’s attempt at helping development of open source software for OS X and create a standalone version of the Darwin OS) and DarwinPorts (a package management system). With the former being founded by Apple with Internet Systems Consortium and the later including the involvement of a few Apple employees.

2003

Started as a way to share information on porting software to the Mac OS, the MetaPkg Alliance was created between members of Fink, Gentoo and DarwinPorts.

Unofficially Apple considered using Fink as the official package management system, but because of their reluctance of using anything licensed under the GPL, decided to disregard the idea.

Below are the results from the emails and notes left from when I was originally started on this in 2006. The only thing that is edited below is the order that I have placed the quotes to try to show a clear timeline of Apple’s consideration of adopting Fink as the offical package management system. I could have fleshed out a bit more information, but I felt that I would never have time to complete it and decided instead to lay out what I have. Hopefully giving a small, but interesting piece of history of early Mac OS X development.

“I suggest you talk to Landon Fuller. Metapkg was his personal project from the beginning and I don’t think anyone from OpenDarwin (or Apple) ever got involved at all. Landon would know the details – I was one of those who never got involved with it and probably have as many questions about it as you do!” – Jordan K. Hubbard, Apple’s director of engineering for Unix Technologies

“When Mac OS X was originally released, porting software to the platform was considerably more difficult than it was today. It was highly unlikely that any mildly complex piece of software would work without (extensive) patching, and MetaPkg was intended to provide a venue for sharing the load of that porting work between Fink, DarwinPorts, and Gentoo.” – Landon Fuller, former Apple BSD Technology Group engineer and MacPorts developer

“However, MetaPkg arrived just in time to solve a problem that was disappearing:
– Apple improved Mac OS X’s support for common APIs (eg, dlsym, poll, nls, etc.)
– As the UNIX Mac OS X developer community grew, projects were ported to the platform by the upstream developers, and fewer changes were required.

Simply put, the success of Mac OS X, and porting software to Mac OS X, quickly obsolesced the cooperative project. Good news, really.” – Landon Fuller

It has also helped that libtool’s support for OS X has greatly matured (thanks in large part to Peter O’Gorman, formerly a Fink core team member). – David R. Morrison, Fink

“Wow… a looooong time ago. As I remember it, Apple decided to name
one of the package formats/repositories the “official” format at WWDC,
very shortly after metapkg was announced, which seemed to go against
the entire spirit of the metapkg alliance.” – Daniel Robbins, Founder Gentoo

Was there any influence from Apple after the Alliance was announced to consolidate to one format or any other changes to have an “official” repository?

“Not especially. Apple had been struggling with the packaging question long before Kevin Van Vechten, JKH, and I wrote DarwinPorts, and until Apple selected a single packaging format there was little room for them to push for an official repository. DarwinPorts (now MacPorts) has never solved the packaging format question, though we did implement support for a variety of formats — everything from rpm, to dpkg, to Apple’s .pkg.” – Landon Fuller

“We got an email from some guy at Apple telling us that one of the
package formats was going to be declared officially supported by Apple
at WWDC.” – Daniel Robbins

“There were indications that Apple was seriously considering adopting one of the open source package management tools as the official one. (I don’t remember the timing too well, but it may have been right around the time that Metapkg started.)” – David R. Morrison

“If I remember correctly, I think they chose fink. The whole series of
events didn’t seem noteworthy to me except to show me that Apple was
being clueless and inappropriate in regards to community efforts, and
that maybe I should focus my time elsewhere.” – Daniel Robbins

“Well, Apple never ended up doing anything about package
management… The closest they came was creating dports, and it
actually made it into one of the seeds of panther, but was quietly
removed again, and as we all know by this point, opendarwin and dports
got pretty much ignored except by the few people on the BSD team that
spent their own time on it. :)” – Benjamin Reed, Project Admin Fink

“I’ve heard some rumors of RPM support in leopard server but hadn’t
looked into it. I helped out on the early dports
RPM-binary-generation port, RPM works pretty well on OSX and has the
advantage of having an architecture designed for platform “variants”
that should work reasonably well with universal binaries, so it seems
a plausible rumor, if not likely.” – Benjamin Reed

“The most promising code to come out of Apple in regards to a packaging format was Xar, originally written by Rob Braun (and contributed to heavily by Kevin Van Vechten), who was also a member of the BSD team at Apple, as well as the fellow responsible for the creation of the OpenDarwin project.” – Landon Fuller

Installer.app in Mac OS 10.5 uses xarchives from xar for installing software which replaced the previous method of using gzipped pax files.

“Metapkg post-date’s any official Apple discussions along the lines of
package management, by the time we formed it, it was for our own
edification –internal politics had made them punt “real” package
management in OSX until some future release, and the Installer.app
team “won” for the time being. We mostly did metapkg to save
ourselves some time, but it turned out to not really work out that
way, so it fell by the wayside, and we all continued on as we had
been.” – Benjamin Reed

It has been a busy last couple of months for me with a cross country move and a new job.

I drove across the country (the third such road trip this year) from Frankfort, KY to Alameda, CA to move in with girlfriend, Bay Area photographer Lane Hartwell. Who I’ve had a wonderful summer with driving twice together cross-country, including driving through parts of Route 66. Driving 2400 plus miles with two cats was a test in patience requiring a stop every four or so hours to give both the cats and me a break.

The new job is working as the systems administrator with Crowd Science at their new office in Mountain View ( I do get to telecommute too). It is a great opportunity with plenty of technical challenges to sort out and I’m getting to work with some really sharp people who genuinely believe in their product and work. Like making real changes in the way online research is done. If you are an online publisher and looking for an audience analytics service take a look at Crowd Science Demographics.

The new job included a new MacBook Pro maxed out on memory which makes running some Solaris VMs in Fusion a breeze for testing. Being a Python shop this is letting me get up to speed on it and Django. I’ve always had the opinion of eating your own dog food so I’m planning to build a site using BluePrintCSS as I have it laid out here as a template and migrate over to Django here very soon.

 

Photo by Michael Biven

First thanks to everyone who helped pull this off: Mom, Dad, Carrie, Lane, Kegan, Biddy, Tom, Charm City Cakes, the staff at Tsunami’s Baltimore and everyone who showed up. Without these people the event wouldn’t have happened, the cake would not have been made and I would have probably had a heart attack from stressing out trying to have everything work out. Thank you all big time!

UPDATE 7/15 Charm City Cakes emailed me today to say they are glad the cake was a hit and that it should appear in an episode in September.

A little over four months ago I started hatching a plan to surprise my brother Brian with a birthday party at Tsunami’s in Baltimore. The idea was to have some family and friends to come in from his home town of Louisville to surprise him with his friends in Maryland and a cake from Charm City Cakes. With Brian’s job and CCC both in Baltimore it seemed like the perfect over the top way to celebrate his birthday. The original idea for the cake was a simple round cake with some type of collage of little bits of his life; music (he plays in a couple of local bands), Tsunami’s (he manages and helped open the Baltimore location) and Star Wars (from his childhood). After talking with Mary Alice at CCC the idea of doing the Millennium Falcon was brought up and after thinking it over that is what we stuck with.

Brian tried very hard to wreck the plans twice. Originally he told me he was going to be working on his birthday which was going to make it hard to smuggle everyone into the restaurant plus the cake. Later I found out he had the day off and had a show scheduled with one of his bands, but with Carrie’s help we were able to get that show cancelled. Then he tells me he was thinking about leaving the restaurant and moving back to Louisville, I had to ask him to not rush into anything and at least wait till after his birthday since I had not seen the Baltimore location (there is a Tsunami’s in Annapolis as well). The last thing that complicated things was that Lane and I had to drive in that morning from Kentucky and the GPS unit was not set correctly for DST and was showing us an incorrect arrival time. It was our responsibility to get Brian there at 6 PM and CCC was scheduled to be there about 6:15. A few frantic phone calls later with Lane’s, Carrie’s and Mary Alice’s help everything was taken care of and we arrived with Brian a bit late surprising him with a group of close family and friends and a very kick ass cake!

Keep an eye out for the episode later this year on Ace of Cakes. I have a feeling that it will be the one were Duff is in Louisville delivering a cake to the Lebowski Fest. Brian was great on camera, but for myself I don’t think they ever had a person who will be blipped so much in what gets aired. I was a bit excited, relieved and that was the first and last surprise party I ever organize.

Added for those viewing this in a feed reader and not seeing the comments. As Lane pointed out the cake was chocolate cherry with the cockpit and several of the other details made out of a very dense rice krispie treat. There was a couple of wooden dow rods to keep two pieces of the cake attached and it was mounted on a pedestal to give the look it was in flight. We did start to wonder how we would cut the cake, but Lane had the great idea to grab a knife from one of the sushi chefs there and as soon as it was in Brian’s hands he had no problem dismantling the ship. Another comment or assumption made by people is that it would not taste as good as it looked, while fondate isn’t the best the cake and the rice krispie tasted great. I don’t remember seeing anyone without a smile eating the cake and even with the large amount of fondate there was plenty of cake to go around.

Thanks for the comments, it was a great addition to Brian’s surprise party and to a very long week. Lane and I drove from San Francisco, CA to Louisville, KY; got a few days break and then drove from Kentucky to Annapolis, MD to check into our hotel, grab Brian and rush out to the restaurant in Baltimore.

Follow

Get every new post delivered to your Inbox.