RE: [xml] Providing standard COM modules (Was: [xslt] Thread safe?)



Hello there,

  Okay I think there is a need here. First I don't know the 
Windows platform,
Igor is the maintainer, but so far its role is limited to 
make sure the 
damn code compiles on Windows and packages binary ready distributions.
However, it appears to me that most of the people coding in 
the Windows
world expect COM (or DCOM but let's be reasonable first) 
packages available
to integrate a library in their development process.

I cannot speak for everyone, but the main reason I started using libxml
back then is its lack of COM interface. I wanted a program which
compiles across platforms with the least hassle. Just by using COM, no
matter what, you are limited to Windows forever. Know there are COM
implementations for Linux but those who actually use this can be counted
on fingers, worldwide.

  I have the horrible feeling that most of the libxml2/libxslt Windows
users did as a first step of the integration of the library 
in their project
a COM wrapper. And I also sense that the Right Thing to do at 
this point is
to try to provide a standardized COM module for those libraries.

Not most users. Most beginners have tried this, because that is the only
way they knew. None of these who crossed my way posessed knowledge
enough to compile a hello-world DLL and load it in a hello-world
program.

I can give you the COM wrapper, no problem. This is a time-consuming
task as libxml has 800+ functions, but it is easy. Everyone can do that.
I would however be the first one not using it. Speaking to libxml
through COM (and particularily DCOM) would mean few things:
 * Memory allocation of data which goes through DCOM may not be done
using malloc, but through CoTaskMemAlloc() or the system's IMalloc
interface. The wrapper would have to handle this. 
 * All character string traffic which goes through DCOM would have to be
BSTR (length-prefixed Unicode string) format.
With all that MSXML would perform better, in addition to being
automatically available on all recent Windows installations.

On the other side, my code using libxml through (D)COM would now work
only on Windows. Libxml would have no real advantage over MSXML to me. I
believe that exactly the C interface and availability across platforms
is the primary strengh of libxml on Windows.

Just to add that Microsoft's current staregy is discouraging any further
use of COM. They now put all their expectations in .NET and the defeat
of Java :-)

<business_talk>
  I understand that most users in the Windows world may be on tight
and focused schedule and have hard guidelines w.r.t. sharing code or
intellectual property, but I would like to be sure you can point and
expose that sharing such work can make real business sense, 
remember that
user early this year developping W3C C14N abd XML DSig and who did not
share his code ? Well now Aleksey provided such an implementation, it
got integrated and is getting a lot of momentum ATM, so that 
early implementor
who did not share his code simply has to continue maintaining it and 
doesn't get feedback or bug fixes, or even worse at some point must 
change his code base to resuse the native code, at that point 
he has lost
all the code knowledge which could have been his advantage if 
he had been
part of the team designing the solution integrated as the 
default in the
library.
</business_talk>

Okay.
 
  I don't want to frigthen or force people to work on this 
(just the contrary
I explicitely selected a Licence where you are guaranteeed I 
cannot enforce
anything on my users), but I would like the Windows users 
community to realize
that building and sharing a common default COM wrapper object might be
in everybody's best interest and that I would really welcome 
Mark, Igor and
other people in that situation to drive such an effort. 

I can see nothing in our MS licences that would prohibit me to write a
COM wrapper for libxml and publish it under LGPL and/or MITL. It is a
question of will, not licence. I'll help developt the thing, of course,
I will even develop it alone if need be, but I will not use it.

Maybe I'm just
totally off-track w.r.t. what COM is or the possibility of agreeing on
a common object model, in that case feel free to hit me with your
preferred clue bat !

I'll post another message now to clear the situation... :-)

Ciao
Igor



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