> ** CXAN
>
> CXAN is not EXPath. It uses EXPath, at least its packaging system.
> But I think this is a very important piece in the XML landscape.
> Technically, the website still needs some improvements in order to be
> ready for real collaboration.
This is the most important link in the chain, in my opinion. CXAN could
potentially be the hub of our collaboration efforts, but it is way too
stagnant, and it is way too closed. The site itself doesn't seem to have
been updated in any significant way in a long time, and perhaps a big part
of the reason is that you don't have time. So my specific suggestion is
this: open up CXAN by moving the entire set of website files to Github
and inviting direct collaboration there.
I know that servlex, which CXAN is supposed to be based on, is on
Google code (http://code.google.com/p/servlex/). But the servlex project
itself seems also to be pretty stagnant. I'd suggest merging servlex with
CXAN into the same project. The code itself could still be kept encapsulated,
with CXAN as a reference implementation of servlex. But I think they are
close enough in scope, and the pool of collaborators has yet to materialize,
so they should be merged.
> But regarding the very, very few requests to add a new package to
> CXAN, I really don't think this is an issue, yet.
Florent, I don't think you appreciate how big of a barrier it is for the
average developer to see, "If you want to add a library ..., you can send
an email ...". Most people, I think (certainly me), would like to play
around with something on our own, before engaging an email list or an author.
For me, I can say that I'm usually a little shy, don't want to bother
people, especially if I am still in the learning stage of something.
David Carlisle did a great job of describing that the purpose of CTAN, for
example, is to be a very open, and comprehensive collection of modules. In
your reply, you didn't take issue with this concept. So I'd suggest that
it's very important that the barrier to entry for CXAN be lowered. And the
way to do that is to fix the website to allow users to upload and share
their stuff autonomously. And, again, the way to fix the website is to allow
others to collaborate on it, directly.
> One of the central and important feature of CXAN is that it gives a
> unique short name to each package, .... So the idea is that the
> maintainer of a package (its implementer for instance) must ask to
> add the package to CXAN.
It seems to me there is overlap between your desire to maintain the
quality of the EXPath specs and the sanctity of these CXAN short names.
But what is missing is that there needs to be a way for developers to
upload and share alpha-quality (or less) modules, to try things out, and
to provide the basis for collaboration. I would suggest a namespaced
system, with user names used as prefixes. So I could upload
"klortho:sandbox", for example, and thus have something that I could try
out and share with others. Then, later, if others voted that my sandbox
was the best sandbox, then it could be promoted to the non-prefix space.
But without this kind of mechanism, then I think we can't expect there
ever to be many more modules added -- the barrier to entry is too high.
Also, a prefix/namespace system would let me have complete control over a
set of related packages, for example, jats (hmm, it seems to me that we
had this discussion before ....)
> The system itself is also design from the beginning to be able to
> setup another repository, so instead of or in addition to the
> "official" CXAN repository at cxan.org, one can setup another repo
> (e.g. local to a company or to address a specific domain or to build a
> specific "distribution"...)
This is nice, but it's not going to happen. One of the benefits of
CXAN is that it's a central place for people to share modules. Each module
there would benefit from the network effect. There would be no benefit, at
present, that I can imagine, for anyone to set up their own CXAN repository.
In fact, there's a strong argument not to do it: the potential for
name-conflicts.
> If you have a library/application/set of schemas/anything else that
> you'd like to add to CXAN, please tell me.
That's not good enough, for reasons already stated. CXAN must be opened
up, or it will just not work.
Thanks for being open to this discussion! And, of course, thanks for all
the great software and ideas!
Chris