Dave,

> Whilst the aim is a noble one, glossing over 'it won't work on
> Windows' which is by far our most popular platform these days seems
> incredibly short sighted, and liable to lead to an endless stream of
> 'why doesn't this work' questions. It also does the module authors no
> favours, by excluding 50%+ of their potential audience, and frankly,
> isn't the way this project generally works.

But why is that *this* project's job to solve?  It's already the case
that contrib modules (or PostgreSQL) are not buildable on Windows in an
automated fashion.  And that Windows does not ship with developer tools.
 That's not PGAN's fault.

> We have discussed this sort of facility at previous developer
> meetings, and as I recall came to the conclusion that we need to have
> the ability to distribute pre-built binaries, not just source code as
> virtually no Windows users are ever going to have a build environment
> setup. Similarly, neither are Mac users, if they didn't install XCode.

Binary distributions are a good idea, for v2+.  The problem with
requiring that is then you're effectively requiring every module author,
or a well-funded 3rd party, to have a huge build farm capable of
building binaries for a wide variety of platforms and PostgresQL
versions.   Requiring that from the outset is a good way to ensure that
nobody *ever* builds an extension management platform.

If someone is available to provide that build platform, then it's a
different story, but I don't know of anyone with those resources right
now.  It's *already* the case that Windows users have no access to the
temporal, prefix or pgmemcache projects without Visual C++ and some
jiggery-pokery.  How does PGAN make them worse off?

> We also discussed extension management at the DBMS level, which I
> believe Dimitri was working on in his spare time. You should look at
> what he's been doing.

This is designed to be complimentary to Dimitri's project, if you read
the wiki page.

> Finally, don't write the client in Perl. Again, that's of no use to
> most Windows users. C will work on all platforms from the outset, with
> no dependencies required. Of course, the server side doesn't matter.

It would make sense to build a C version when the other issues with
supporting Windows are solved.  At that point, the specification for the
client should be well-worn enough to make doing the C version not a halt
to further development.  Until then, it doesn't matter.

What I'm getting from your e-mail, Dave, is "If it doesn't solve all
problems for everyone in the world from Day 1, it's not worth doing."
It's my experience that the way to get OSS software that works is to
build a little bit at a time, each delivery of which is useful to some
people and solves some problems.  Projects which attempt to paint the
whole world never get anywhere.

David's proposal is designed to be something which he can get done *this
year*, possibly before 8.5 is released, and be built on later.  It'll be
useful to a substantial number of our users, and will be an improvement
on what we have now.

--Josh Berkus

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to