XP, libraries, and NIH (was Re: libglade summary)


Subject: XP, libraries, and NIH (was Re: libglade summary)
From: Paul Rohr (paul@abisource.com)
Date: Sun Feb 11 2001 - 14:36:27 CST


At 08:47 PM 2/11/01 +0100, Joaquín Cuenca Abela wrote:
>Paolo Molaro wrote:
>> I discussed this with Paul (I think) at LWE in New York last year
>> and I think he said the same thing during his talk: XP development
>> seriously hinders the progress of abiword. At the time he said that
>> targeting windows users was important for the company, but that should not
>> be a great concern now that abiword is more community-supported.

I doubt that I used the word "seriously", but you can check my slides:

  http://www.abisource.com/talks/lwce2000ny/index.phtml

:-)

>There are some windows users in the community :-)

Yep. And not just users.

Browse around in Bonsai and cvsblame sometime to see how much worthwhile XP
code was contributed by developers who are fluent in windowing systems other
than GTK. (hint, hint)

>> The problem is that a lot of effort goes into XP and at the same time the
>> layout engine has seen little or no changes and a lot of development time
>> is spent in dialog (?) or other basic support issues.
>
>nah, it's only that the layout engine is hardest to understand. If you
>had a platform specific wp, you will have many little contributions for
>the dialogs and general UI fixes, but anyway few people will understand
>and be able to contribute to the layout. Nothing to do with xp.

To confirm this, let's take a poll. How many people feel that they've been
blocked from making heavy contributions to core XP logic because you spend
too much time maintaining platform-specific code in your frontend?

(Having to generate "fixed build" commits in XP logic written by developers
on another platform doesn't count -- without their platform, you would have
had to write the entire feature.)

>> Take gettext support as an example: gettext is available and working
>> in unix (and I'm sure it would require little effort to port to windows, if
>> it's not already done) and yet a different mechanism was developed and
>> tools to support it instead of reusing already available code.

What's done is done.

>> This means that the port that could be potentially moving faster is slowed
>> down by all the others.

I'm sorry, but this *has* to be a red herring. As Joaquin suggests, core XP
features are hard for reasons that have nothing to do with gettext. Making
sure a feature Just Works is the hard part. Keeping it i18n-friendly using
*any* tool is only a small part of the effort.

Is anyone seriously claiming that core XP features are getting blocked by
lack of gettext?

>I don't know if the decision was due to portability issues.

Yes. It most definitely was a portability issue. We knew how to make
portable, single-touch makefiles Just Work for all our non-Mac platforms, so
that's what we did.

We've taken heat for that decision from autoconf advocates since the
"mighty" 0.1 release. Our response was always a polite version of "put up
or shut up". Yet to date, no autoconf advocate has met that challenge for
any interesting subset of our supported non-Unix platforms. Sam is now the
latest white knight on this horse. I'd be happy to see him succeed.

>Anyway if
>somebody contributes autoconf/automake support I will be happy to
>contribute gettext support.

Cool. I assume that this won't introduce charset issues, right?

>P.S.: Maybe using gtk+ as toolkit for all the platforms is not
>desirable, but I agree that there are some unix libs that would be cool
>to use in all the platforms.

In case this isn't clear enough already...

Ours is a very, very pragmatic community. There has *never* been an
objection to using other people's XP libraries in this product. Far from
it. Rather than write new code, that's always the first place we look. And
we don't stop looking there.

Various members of this community have gone to the trouble of working with
the maintainers of various high-quality libraries to make them more
XP-friendly so we could use them. That trend continues each time someone
decides the effort is worth it.

We've even had masochists:

  - take really ugly platform-specific code (ispell)
  - and make it XP (barely)
  - because we really needed the functionality (known dictionaries for
    something like 20 languages).

That one we wound up having to fork, but we'd have been much (much, much,
much!) happier if we could've worked with the maintainers to get their
version improved instead.

We have our blind spots, but the NIH (not invented here) phenomenon is
definitely not one of them. Not in *our* community. ;-)

Paul
motto -- stand on the shoulders of gaints



This archive was generated by hypermail 2b25 : Sun Feb 11 2001 - 15:19:45 CST