I started using Apple’s OS X full time quite a while ago, back in the 10.1 days. So long ago that I don’t remember what its codename was, maybe Puma? (I suppose I could look it up.)
Anyway, as a command line geek, I wanted a system where I could build and modify my own software. As most command line geeks know, running through the ‘./configure && make && make install’ steps for each piece of software that you want to play with gets old pretty quickly. So originally, I started using Fink because at the time it was the most mature system.
There are lots of good reasons for using a packaging system, but having a system for automatically fetching and installing dependencies is fantastic if you want to experiment with random code that someone else developed and released. Because chances are, that random code depends on some other random library written by someone else.
There are a number of things that I like about Fink:
- it worked really well for me — generally, when I found some new software that I was eager to try, the software (or at least its dependencies) was often already ported in Fink
- the addition of binary packages was a great thing
- the community was helpful
And some that are kind of stifling, like the rigidness of the Fink motto, “there’s only one way to build a package.” Of course, I understand the argument for it, and that there were various (unsupported) ways to get around it. For a volunteer organization, it’s hard to allow too much flexibility.
When I upgraded to Leopard, I decided to try out MacPorts because of the feeling I was getting from Fink that its support was stagnating. It’s hard to tell where the momentum is without doing some comparison of the traffic / quality of the developer lists. At this point, I feel more comfortable relying on MacPort for my software.
There was an adjustment period. But it was mostly a matter to translating the commands I was used to from fink into MacPorts syntax. At first, it was a little confusing to get thrown into variants coming from Fink, but they make sense. I wasn’t used to checking out the various options before installing a new package. Overall though, the transition was pretty easy.
I started writing my own Portfile [link] recently, so that’s another sign that MacPorts is growing on me.
However, after reading some recent email on the MacPorts developer list, I see the same themes that came up periodically in Fink.
- what about binary packages (vs. what about security)
- too many ports and updates, not enough maintainers
I can’t yet tell where these themes are going to go. It really depends on how much the community gets involved in making improvements. From what I can tell, it’s a matter of making contributions (time). The community is definitely open to receive them.
For me, the migration was worth it. I was able to install the software I wanted to use — such as svn, gnupg, git, imagemagick, ragel, scons. It allowed me to prune a bunch of old cruft that I never use anymore. It allowed me to experiment with a different OS X packaging system.
We’ll just have to see what happens next. I’m happy with MacPorts now.