On Thu, Jul 23, 2009 at 2:36 AM, Matej Cepl <mc...@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.
_______________________________________________
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list

Reply via email to