Re: layers of abstraction, and how Gnome can win



Hi,

I basically agree. The way free software succeeds is to sort of
agressively ooze into as many places as possible; cross-platform is
one such place. The free software developer community is very good at
completing highly parallelizable tasks (porting to a bunch of
platforms, writing a bunch of small modules or drivers). Usually we
can be better than proprietary software along these dimensions.

As best I can tell the OpenOffice XP controversy is not about whether
to be XP, but rather how to do it. There are three approaches:

 a) use an XP toolkit that does its own rendering, possibly 
    emulating native looks
    (current openoffice, mozilla, Java/Swing)
 b) use an XP toolkit that wraps native widgets
    (old Netscape, Java/AWT, wxWindows)
 c) separate backend "engine" from frontend and rewrite the frontend
    for every target platform (though usually elements of a) and b)
    arise on an ad hoc basis)
    (AbiWord, some mp3 players, etc.)

a) is the most maintainable because the functionality and behavior of
the app is 99% the same on all platforms. This is why people use it. 
Its disadvantage is nonnative L&F.

b) keeps portability issues in the toolkit code, which is good, but 
suffers from serious least-common-denominator problems. Native widget
sets just diverge too much. Thus you see Netscape and AWT giving up on
this approach.

c) would never be considered for a proprietary project, since you have
to write and QA all the frontends separately, but is much more
feasible for a free software project when you have lots of people
willing to do the parallelizable task of maintaining the frontends.

We would port GNOME to Windows by using GTK in its role as a type a)
XP toolkit. OpenOffice currently uses their own toolkit of type a),
and to make things use GTK they have said they're planning to develop
a toolkit of type b) and use it, presumably the toolkit b) would have
a similar API to their existing toolkit a). Anyhow, a technical
discussion best left to the OO people.

I think GNOME as a whole is open to a Windows port via mechanism a),
but we only have one guy working on GTK/win32, and none of the rest of
us know Windows at all, so - taking patches, as you say. ;-)

Havoc






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