pabigot/pyxb

PyXB End-Of-Life Planning

pabigot opened this issue ยท 5 comments

It's very nearly ten years since I first started work on PyXB. It's been eight years since I last used XML for anything significant, and five since I last used Python. I understand PyXB may be used in a variety of production systems, and am glad it's proved useful, but the effort required to continue to support PyXB has exceeded its value to me.

1.2.6 may be the last release. Or, in September, I may push out the merged changes as 1.2.7. If somebody has a commercial dependence on PyXB I may be able to provide support and releases under contract. I do not intend to do any significant enhancements or merges otherwise.

However, I'm also open to transferring the project as-is to a qualified maintainer. If you're interested in taking over PyXB, please contact me directly.

Hi Peter, I've reached out to you directly (via email) a couple of times; I'm still interested in taking over maintainership of PyXB (via the Jazzband org). Let me know if this is something you'd consider. :)

@beaugunderson Thanks for following up. I have received your emails, and to be honest I didn't find the proposal very attractive when I first reviewed it back in June 2019.

In theory the cooperative model of Jazzband is attractive. In practice I've found strong technical leadership with a clear and consistent vision and commitment to a wide range of stakeholders beyond contributors is a key attribute of quality software systems. My experience with projects that lack committed leadership is that they tend to merge changes targeted to the needs of the individual contributor without deep consideration of impacts on other stakeholders. The result is frustration from both users and contributors.

PyXB's original vision was founded on conformance to W3C standards. I attribute any success it's had to its adherence to this vision. I no longer use either Python or XML, so I can't maintain PyXB. My attempts to recruit from past contributors were unsuccessful, so I opened this issue in hopes of finding a new maintainer that had visible familiarity with PyXB and expertise not only with Python but with W3C XML standards. "Qualified maintainers" would be people who can provide evidence of that commitment and expertise. Maintaining a fork that integrates some of the existing PyXB PRs that I haven't merged or fixes open issues would provide data for evaluating qualifications.

After more than two years open it's clear that's unlikely to happen, so today I took a deeper look at Jazzband with the intent of initiating a transfer.

Unfortunately my conclusion is that I don't believe Jazzband will improve PyXB's status. jazzband/help#193 is data. So is jazzband/help#195. From what I can tell the bulk of Jazzband projects are django-related, and those do get some attention, but I have no reason to believe transferring PyXB will revitalize it in any way.

Thank you for your offer, but I would rather keep PyXB here in its home where I can watch it and support its passing with respect and love. For people who need Python support for XML bindings, with or without validation, I still recommend seeking alternative solutions.

I'm pretty sure Peter is ok with me posting this, as he put me onto the PyXB-X fork when I was inquiring on paid support / fixes.

For those who haven't found it yet, https://github.com/renalreg/PyXB-X is a fork with some fixes towards Python 3.8 support. It is on PyPi as well (https://pypi.org/project/PyXB-X/).

It's definitely a "your mileage may vary" fork. It's 46 git commits over this EOL repo, so it may have enough fixes in it to make your Python 3.7 code work on Python 3.8+. If not, the maintainer has said that he'll accept PRs.

@pabigot Given the version of PyXB in this repository only works with Python up to and including 3.7, and Python 3.7 is end of life on 27th June (ie. less than two months), could you update the README.txt to say so, provide a link to the renalreg fork (which works with at least Python 3.8 - I haven't tested 3.9+)? Unless you're aware of a better fork around (I'm not).

Unfortunately the PyPI entry for PyXB-X (the renalreg fork) points at http://pyxb.sourceforge.net/ rather than at their GitHub repository, so people will likely end up at this GH repo rather than the PyXB-X repo (that they're likely looking for).

Archiving this project on GitHub would also be a good idea.

I'm happy to open a Pull Request to update README.txt if you'll review and potentially merge it. I think that PR is best coming from the original author though.

@nathanjrobertson I agree, and have updated the README. I'll also archive the project.

Good luck to you and all other PyXB users and contributors.