Re: Windows Interop

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

 



Henry B. Hotz wrote:

On Jan 11, 2007, at 3:22 PM, Howard Chu wrote:
For a number of reasons (anyone following the embrace/extend/ extinguish testimony on groklaw?) even when a native Windows API exists, we've chosen to only support portable APIs if the parallel exists. Thus, our Windows builds of software use Cyrus libsasl and OpenSSL, not Windows SSPI. We use OpenLDAP's libldap, not the we- claim-it's-LDAP-honest API that Windows provides. In general I think this is the wiser course of action because it lessens our support burden, among other things.

Doesn't that make it harder to build your products?

Once, maybe. But it's a sunk cost we invested into our build system 7 years ago. In the end it makes support easier.

In the Postgres case wouldn't that mean that you need to first build/ install/configure KfW, and Cyrus SASL before you could build Postgres for a native Windows client? That seems like a pretty tall order. I chose SASL instead of GSSAPI for this project because I (mistakenly?) thought SASL was natively available on all the target platforms. Granted I don't do Windows myself, but I didn't want to create those kinds of problems.

For an open source project I would think the support burden of requiring lots of ancillary installs would be significant.
We create our own build of OpenSSL, BerkeleyDB, libtool, Cyrus SASL, Heimdal Kerberos, and OpenLDAP on all of our supported platforms. It's essential to allowing us to provide commercial support for our packages in a cost-effective manner. All of our software installs in an isolated filesystem hierarchy, so we have no interference from or dependency on obsolete versions that may already be present on the host system. It means we only have to worry about one version of each package, and we know exactly what build options were used with each package, and we know that each package was built correctly, and that everything plays together. (We also offer support to customers using their own builds, or platform-vendor-supplied builds, but our support rate is double in that case, because it costs us more time to deal with their unknown environment.)

We have a single master-Makefile that builds everything identically across Solaris, AIX, HPUX, Linux, Windows, MacOSX, and even z/OS. Our test suites also run identically on each platform. It would be a pain to recreate all of it from scratch today, but obviously we've been at this for a long time.

The burden of requiring lots of ancillary installs is nothing, compared to the burden of tracking these projects' ongoing development. But since we depend on all of their functionality, it's what we have to do. I'm an active contributor on all of these projects, and I know them all inside and out. That's the real challenge, and our expertise is the real value-add in our offerings.

--
 -- Howard Chu
 Chief Architect, Symas Corp.  http://www.symas.com
 Director, Highland Sun        http://highlandsun.com/hyc
 OpenLDAP Core Team            http://www.openldap.org/project/


[Index of Archives]     [Info Cyrus]     [Squirrel Mail]     [Linux Media]     [Yosemite News]     [gtk]     [KDE]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux