Re: GNOME and non-linux platforms (release team please stand up)

On Thu, Jul 23, 2009 at 2:36 AM, Matej Cepl <mcepl redhat com> wrote:
I think the pointlessness (isn't it a beautiful word? :)) of flaming Sun
is that the argument was not just about Solaris. Platform independence is
a good thing for other platforms (*BSD/Mac?/Windows?) in itself.

I agree with you with one small distinction: OpenSolaris and *BSD need a whole other level of platform independence that OSX and Win32 do not. One doesn't need a panel/shell/nautilus on OSX and Win32 (from here on in, application target platforms). Our application target platforms don't need DeviceKit, PulseAudio or a sound mixer applet with a abstracted mixer backend. They don't need gnome-settings-daemon running to handle triggering screen saver or DPMS events. Or to toggle backlights with a gnome-power-manager. We cover 99.9% of computer users' platforms on the face of the earth by expending our limited resources on Linux, OSX and Win32 (and increasingly mobile Linux via G* stack). And we don't sacrifice our free software principals in the process.

In the (unimportant) module that I maintain, for example, there are #ifdef's all over the code for Win32 support and I'm happy to accept patches for it. However, we are in the process of pursuing the re-thinking of some core cool features and other platforms have likely suffered as a result. There would be no Clutter port of five games in the module if we had pursued the strategy of installing seven VM's and testing all our changes on all of them. It would be years yet, before they were available. No GSoC student would have the time to do the seven VM's strategy and still achieve their summer coding goals. There would be no telepathy tubes multiplayer support on the way. We just don't have those kinds of resources.

David Zeuthen's eloquent explanation of the "don't preclude portability but leave the back-end work up to those who want it" philosophy is spot-on. On the other hand, two free software platforms do need this major extra effort on the part of everyone who maintains a GNOME module: OpenSolaris and *BSD (here on in, desktop target platforms). These platforms want all of the things mentioned above. Unfortunately, from the perspective of hands to do the actual work, the fact of the mater is that neither of the two platforms have a lot of users.

On the *BSD side of things, the desktop-related driver situation is lamentable. However, *BSD has a huge thing going for it: vast parts of the user space are nearly identical to Linux. So with exception given to the absence of udev, it really isn't all that different. Indeed, there is even a semi-official *BSD kernel for Debian.

OpenSolaris, however, suffers from a legacy of esoterically cathedral-like design on some fundamental sub-systems. The work to make all the things mentioned above work is so, so much more than any other platform for GNOME.

I'm fairly confident in saying that Win32--if it isn't already working in 2.27.x--would be a trivial amount of additional effort for GNOME Games. And while OSX still looks quite ugly and *BSD lacks good 3D drivers, they too would continue to be a somewhat minimal amount of effort. As for OpenSolaris, who knows. I have examined the packaging of GNOME Games in OpenSolaris in the past and was not encouraged by what I saw.

And I don't even maintain a module that really cares all that much about the underlying plumbing.

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]