Roger,

My rant about the declining state of the FOSS ecosystem and Apache projects may have been better directed at Apache itself. I've seen a few projects get shuffled over to Apache as if they were meant to die. It would be ideal if Apache, besides a hosting space, also provided some other kind of support to people who maintain their projects. Depending on the generosity of companies where situations align with business goals becomes analogous to winning on a scratch off lottery ticket. Yeah, five bucks...

FWIW, "The Cathedral and The Bazaar"(https://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar) is a reference to a book written by an early supporter of FOSS. Not to gate keep, but grey hairs may be involved to know that reference. To see the FOSS ecosystem reduced to "who will pay for supporting it" is disappointing.

But these are all big-picture problems.

Yup, XML and transformations isn't "sexy". It doesn't get media buzz. It quietly does its job in the background and we all move along none the wiser.

If it seemed that my rant was personal, please know that it isn't. You've been toiling away getting things done probably without praise or other accolades. I appreciate your efforts.

Regards,
Scott


On 2022-10-19 15:03, Roger Leigh wrote:

Hi Scott,

We can all “hope” for maintenance but ultimately someone needs to commit to doing the work.  That needs paying for, be it in time donated or money to pay for someone else to do it. In my previous job I maintained an application which was critically dependent upon Xerces-C/Xalan-C, and when we found deficiencies and faults in it, in particular portability defects, my employer graciously permitted me to work on both codebases and provide the necessary fixes, including signing off the Corporate CLA.  So the cost for me to contribute to these projects was ultimately paid for by my employer, because it benefitted them to have supported libraries that worked on all of the platforms and compiler versions we cared about, plus any needed security fixes being applied.  After leaving that position, I continued to contribute, but at this point in time I’m no longer actively involved in working on codebases which use either Xerces-C or Xalan-C, and in fact I was contracted to replace their use with other libraries by one of my end users (which is reflective of people’s concern over the risk of using abandoned and unsupported libraries).  So while altruism can go some way, I’m afraid my time is limited and I work on other projects from which I derive more benefit.  I’m afraid to say that continuing to work on both projects costs me a great deal of time, for which I derive zero personal benefit, which is why it is time for me to cease participating in these projects and to work on others.

None of this is “right” or “wrong”, it’s just the reality of where the project is at this point in its life.  All software projects have a lifecycle, a beginning when they are actively developed, a plateau during which they are maintained and stable and an end when they are wound down. Xalan-C is at the end.  Xerces-C isn’t far behind.

One of the reasons for moving Xalan-C to the Attic is to make the true maintenance status of the project abundantly clear to everyone using it and distributing it.  Including provoking discussions such as this one—it’s important that everyone understands the consequences of the change in status (even if that status is what was effectively the status quo for the best part of a decade).  If the result of the discussion is that we end up with some new maintainers who make a genuine commitment to carrying the project forward, then I would be more than happy.  If there are businesses or individuals who are dependent upon it for the continuation of their products and business continuity, then perhaps this discussion will prompt some consideration of whether or not they need to contribute actively to keep the project going.

However, while it would be nice to hope for such actions, I’m afraid as I said in my original email on the subject, that overall interest in XML and XSLT is waning, and there is much less demand for libraries and tools for performing XSLT transforms.  So the lack of interest in Xalan is not unique.  It also applies to libxslt, and it also applies to QtXmlPatterns.  Look at https://gitlab.gnome.org/GNOME/libxslt/-/merge_requests?scope=all&state=merged <https://gitlab.gnome.org/GNOME/libxslt/-/merge_requests?scope=all&state=merged> to see how active libxslt is—it’s primarily sporadic churn to fix the CI and some minor portability issues and one or two bugfixes; there’s no actual development going on there either.  Basically what I was doing with Xalan-C for the 1.12 release.  QtXmlPatterns has been dropped entirely.  To be frank, if a company really needs to use XSLT, then paying for Saxon is probably the best choice—you’ll be paying for having a library which is actually maintained and which also has the best XSLT support of all of the XSLT libraries available.  If you are basing your business on this, then there isn’t really much of a choice to make here, the answer is obvious.

I’m not sure I really buy the point about the cathedral and the bazaar.  Xerces-C and Xalan-C benefitted from huge contributions from corporations, IBM in particular.  I could be wrong (I came in much later), but it looks like the vast majority of all of the development of these projects was done by developers working for IBM.  I’m not sure that the projects ever had many significant contributions outside this effort from independent individual contributors for anything more substantial than small fixes.  Individual volunteers generally want to work on interesting and fun stuff.  Working on Xerces-C and Xalan-C has been little more than hour after hour of boring maintenance work.  Hundreds of man-hours keeping the CI going, testing the build system on multiple platforms, debugging and testing, reviewing, testing and applying patches applied to the various Linux and other distributions, plus GitHub PRs.  Necessary, but not particularly fun or rewarding, and extremely time consuming.  But the project needs someone to be doing this on an ongoing basis as a basic prerequisite to be able to test changes and make releases, and generally provide the basic infrastructure one would expect from a healthy and active project as a viable ongoing concern.

There’s a limit to what an individual can do.  I used to work a full-time job and then spend another 6-8 hours every day writing free software and being a Debian developer, with a lot of unwritten obligations to satisfy.  That worked until I hit my 30s and I ended up with crippling RSI and massively burnt out.  Today in my 40s I work my day job and tinker with some free software stuff on the side.  Making a commitment to work on a project like Xalan-C or Xerces-C brings with it ongoing obligations to do a lot of work on an ongoing basis and in a timely manner.  I can’t continue to do that.  Everyone using Xalan-C today has benefitted from the work I’ve done, without needing to contribute anything back.  If users of Xalan-C want the project to continue, then they will need to step up to do all this stuff themselves.

Regards,

Roger

*From:* Scott Furry <scott.wl.fu...@gmail.com>
*Sent:* 19 October 2022 08:13
*To:* c-users@xalan.apache.org; d...@xalan.apache.org
*Subject:* Re: [VOTE] Moving Xalan-C to the Attic

I'm only an occasional user of Xerces-C/Xalan-C libraries but retirement seems wrong to me. Understandable. Lamentable. Still wrong.

Reading the suggestion of placing Xalan-C into 'the attic', I dove online to plan a migration strategy should it become necessary. I was not pleased with what I found: - Saxon has a `community edition` but is only interested in selling licenses. - Folks over at libxml2/libxslt go to great lengths to stipulate that Gnome is not required - but library has its 'C' quirks. C++ wrappers of various type and quality abound.

The previous move by Oracle to 'abandoned' the Netbeans IDE to the Apache Foundation was not pleasant for me. After seven release iterations the IDE still doesn't have a decent C/C++ setup comparable to the Netbeans 8.2 plugin. Everyone in the Apache Netbeans project seems focused on Java. I have an overall negative impression of Apache projects as a result.

I can appreciate that few have the time and resources to commit to maintain code. We've gone from "The Cathedral and The Bazaar" to silos ("Big Box Stores") of companies - Ubuntu, Gnome, Red Hat, et al. The notion of the dedicated developer toiling away doing incredible work in obscurity is becoming quaint. XKCD pretty much nailed it with the 'Dependency' comic (https://xkcd.com/2347/).

Given the long history of the Xerces-C/Xalan-C, as well as few decent compatible replacements, I would hope the code could be maintained in the future.


Reply via email to