madzak / python-json-logger

Json Formatter for the standard python logger
BSD 2-Clause "Simplified" License
1.7k stars 231 forks source link

Is this project still maintained? #187

Open nhairs opened 5 months ago

nhairs commented 5 months ago

There doesn't seem to be any activity and there is a build up of issues and PRs.

@madzak, @peritus: Do you intend to continue to maintain this package? Do you need assistance? Would you prefer that someone else maintains it? In the latter cases I am happy to volunteer.

Although it's always possible to fork the repository / PEP541 the package, I'd prefer to be polite and check first 🙂

Update (2024-02-05): I've submitted a PEP 541 Request

Update (2024-03-08): I've forked this repository

Update (2024-05-28): I've made a v3.1.0 release that fixes a number of bugs, expands on functionality, and has greatly expanded docs. This will be the last time that I update the issue until either the PEP 541 request is accepted or I decide to upload the fork to PyPI under a different name. For further updates please watch the forked repository. If you are interested in helping maintain the fork please make sure to watch the repo and get involved in any PRs or issues.

tdg5 commented 5 months ago

I'm willing to help maintain this package if you're looking for volunteers. Let me know.

nhairs commented 3 months ago

I've begun the process of forking this project, if you'd like to be involved please join the discussion here.

simonpercivall commented 2 months ago

@nhairs I'msorry, but I hope you realise how dangerous your approach is. You're trying to take over a very popular project without the maintainers consent. And without the consent of all the people who are using this project.

This is not how you do it. You fork, and then publish it as a new package; and over time, your new package, if you build trust, will become the standard.

nhairs commented 2 months ago

Hi @simonpercivall, this is a good call out. Before I answer I'd like to add some "meta" info.

Before I respond with my reasoning I'd like to include the relevant sections of the PEP 541 process so that everyone is on the same page on what we are talking about.

Implementation

Reachability

The user of the Package Index is solely responsible for being reachable by the Package Index maintainers for matters concerning projects that the user owns. In every case where contacting the user is necessary, the maintainers will try to do so at least three times, using the following means of contact:

  • the e-mail address on file in the user’s profile on the Package Index;
  • the e-mail address listed in the Author field for a given project uploaded to the Index; and
  • any e-mail addresses found in the given project’s documentation on the Index or on the listed Home Page.

The maintainers stop trying to reach the user after six weeks.

Abandoned projects

A project is considered abandoned when ALL of the following are met:

  • owner not reachable (see Reachability above);
  • no releases within the past twelve months; and
  • no activity from the owner on the project’s home page (or no home page listed).

All other projects are considered active.

Continued maintenance of an abandoned project

If a candidate appears willing to continue maintenance on an abandoned project, ownership of the name is transferred when ALL of the following are met:

  • the project has been determined abandoned by the rules described above;
  • the candidate is able to demonstrate their own failed attempts to contact the existing owner;
  • the candidate is able to demonstrate improvements made on the candidate’s own fork of the project;
  • the candidate is able to demonstrate why a fork under a different name is not an acceptable workaround; and
  • the maintainers of the Package Index don’t have any additional reservations.

Under no circumstances will a name be reassigned against the wishes of a reachable owner.

Maintainer's Consent

You're right that I am attempting to take control of the PyPI project without the maintainers consent, however I am not trying to subvert their ownership.

I have actively tried to contact them via both on and off this platform and would be quite happy to work with them should they reappear. I have and will continue to act in the open throughout the entire process.

Additionally, should they reappear the PEP 541 process would immediately prevent me from taking over the PyPI project.

User's Consent

I think the consent of users of the package is entirely irrelevant to the PEP 541 request for the following reasons:

PEP 541 Process

The PEP 541 process is a fairly high bar to pass in order to take over a project. It is entirely possible that despite my efforts I am going to have the request rejected on either of the following grounds:

  • the candidate is able to demonstrate why a fork under a different name is not an acceptable workaround; and
  • the maintainers of the Package Index don’t have any additional reservations.

I agree that perhaps the PEP 541 process is not the best process, especially for highly used projects. However:

Trustworthiness

I agree that there is no good reason for anyone to trust me. Just like there is no reason for me to trust anyone else. Hence I'd rather take over the PyPI project rather than let someone else do it.

However I'd like to offer the following reasons why I'm at least not a "bad" candidate for taking over the PyPI project.

New name vs reusing name

I did consider whether I should fork under a new name or undertake the PEP 541 process. Especially considering undertaking the process is a lot of extra work for me to do.

Here's my reasoning for choosing to do the process:

Closing thoughts

I hope this at least clarifies why I have chosen to make the PEP 541 request.

Whilst I'm happy to discuss further, if you're still not satisfied I'd encourage you to contact contact the PyPI maintainers about updating the PEP 541 process to have better protections for highly used projects. If you were to do so I'd be happy to put my voice behind it using this project as an example.

simonpercivall commented 2 months ago

Thanks for the reply. First: I'm not saying you're trying to do anything bad. Quite the opposite, continued maintenance and development of a widely used project is a good thing.

However, as you say, I do think that the PEP 541 process needs updating. I think that between when the PEP 541 process was created in 2017 and now, the attacks against open source projects have evolved and advanced quite a bit.

I have voiced my concerns, and I'm sorry if that causes issues in further maintenance of this project. I think I would have preferred this project to move under the governance of a group (like for instance https://github.com/jazzband) rather than it being transferred to a new individual contributor.

nhairs commented 2 months ago

First: I'm not saying you're trying to do anything bad. Quite the opposite, continued maintenance and development of a widely used project is a good thing.

:pray: I'm glad that it comes across this way

I'm sorry if that causes issues in further maintenance of this project.

No need to apologise, regardless of outcome I think just having this discussion is of benefit to the users of this project.

I think I would have preferred this project to move under the governance of a group (like for instance https://github.com/jazzband) rather than it being transferred to a new individual contributor.

I agree that group governance would be ideal.

I've only recently discovered Jazzband and am still evaluating whether I think it's an appropriate model for something like this project (it looks like anyone can join and from there make releases).

But regardless of weather it gets transferred to Jazzband or some other group, the first step is to undertake the PEP 541 request.

cunla commented 2 months ago

I would be happy to support the package maintenance. I have experience adopting packages and growing them (see https://github.com/cunla/fakeredis-py)

nhairs commented 1 month ago

I've made a v3.1.0 release that fixes a number of bugs, expands on functionality, and has greatly expanded docs. This will be the last time that I update the issue until either the PEP 541 request is accepted or I decide to upload the fork to PyPI under a different name. For further updates please watch the forked repository. If you are interested in helping maintain the fork please make sure to watch the repo and get involved in any PRs or issues.

joeldodson commented 1 week ago

thanks @nhairs, your 3.1.0 fixed a bug where taskName was in my file handler output though it was not specified in my custom formatter. Not sure commenting here is the right place to convey this. Thought I'd add it though if anyone is searching issues for taskName.