Wireshark-dev: [Wireshark-dev] Is it time to make Wireshark a native Mac OS X application?

From: Stephen Fisher <steve@xxxxxxxxxxxxxxxxxx>
Date: Fri, 18 Sep 2009 18:23:08 -0600
Is it time to make Wireshark a native Mac OS X application?

I've discussed the topic of GTK+ being ported to Mac OS X here as far back as late 2006[1]. I've given updates on its progress over the years. I've gone so far as to tell others that it probably isn't worth our time and effort to undertake such a task when GTK+ will someday be ported. I've since changed my mind. I don't go into many of the advantages I see in doing this in this initial e-mail, but I will as others provide their views.

It's now 2009 and various groups have been working on GTK+ ports since at least 2002[2]. There was even a port to Mac OS 9 started back even further[3]! The most recent and most promising attempt was being led by the company Imendio, which has since gone out of business[4] and the main maintainer of the GTK+ port from Imendio has stepped back from being a GTK+ maintainer and from the port to OS X project[5]. Another person has taken on the huge task of maintaining and improving the latest GTK+ port to OS X, but he has had some concerns that the core GTK team isn't as committed to the OS X port as they could be[6]. Apparently though the Win32 backend isn't as well maintained as it could be either[7], which has me thinking in the back of my mind about us making a native Windows port too. I don't want to give the impression that I have any desire to neglect the GTK+ version of Wireshark in any way though.

Compiling Wireshark against the GTK+ OS X port has always been time consuming, and these days it's even harder. One of many oustanding issues with the GTK+ port that Wireshark runs into is that xpm images don't display in the UI[10]. I submitted a quick patch to fix this issue almost a year ago and it still has not been picked up[11]. It isn't just that I have given up on the GTK+ OS X port.

Are any of you out there fluent in Mac OS X programming already? Interested in learning? I know Objective-C[8] and am learning Cocoa[9] for GUI programming now.

Apple also has Carbon[10], which is plain C for GUI programming. However, Apple is and has for many years been phasing out Carbon[10] as it was meant as a stepping stone to bring Mac OS Classic (version <= 9.0) applications to Mac OS X as quickly as possible when Mac OS X was first released. Apple has been pressured into adding more features to Carbon over the years, but they are trying harder than ever now to get developers off of it. For example, Carbon was not ported to 64-bit. The GTK+ port to OS X is written in Carbon[12].

I'll leave it at that for now even though I have much more to say. Everyone's input is greatly appreciated.


References:

[1] http://www.wireshark.org/lists/wireshark-dev/200612/msg00288.html
[2] http://www.cinepaint.org/gtk-osx/
[3] http://sourceforge.net/projects/gtk-mac/
[4] http://www.imendio.com/
[5] http://mail.gnome.org/archives/gtk-devel-list/2009-July/msg00081.html
[6] http://mail.gnome.org/archives/gtk-devel-list/2009-July/msg00038.html
[7] http://mail.gnome.org/archives/gtk-devel-list/2009-July/msg00039.html
[8] http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/ObjectiveC/Introduction/introObjectiveC.html
[9] http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/CocoaFundamentals/Introduction/Introduction.html
[10] http://developer.apple.com/carbon/
[11] https://bugzilla.gnome.org/show_bug.cgi?id=502997#c3
[12] http://gtk-osx.sourceforge.net/