PEP 545: Update PEP

Hello everyone,

I would like to propose three modifications to PEP 545. Their implementations have been split in to separate PRs and should be reviewed separately (so that one rejected suggestion doesn’t block the rest):

1. Add a section on maintaining translation quality

Preview

Translation Quality

While maintaining translation quality is primarily up to the coordinator,
the translation should aim for a similar level of quality as that of the English
documentation. Machine translations that have not been reviewed by a human are
not allowed.

I believe this is important so that the standards of the Python docs do not degrade, especially with the current developments of AI which may seem temping to use. (It’s getting better at translating, but it’s still not great, it needs supervision)

2. Add section on management of translations

Preview

Management of Translations

Translations are overseen by the :pep:Editorial Board <732#scope>.
but it is intended that each language team remains as autonomous as possible.

Inactive Coordinators

If a coordinator is inactive for a year and does not respond within a two weeks to a
check-in issue on their translations issue tracker the coordinator will be marked
as inactive.

They will be moved to an “Inactive Coordinators” section on the devguide translations
page and the translation will be free to claim by anyone willing to coordinate by
opening a PR in the devguide repository adding themselves as coordinator.

The translation may also be temporarily managed by a user willing to maintain it
ideally with previous coordination experience.
(propagating translations, managing CI workflows, accepting PRs, etc.)

Mar 7, 21:23: changed notification period from one week to two weeks

This addition mainly focuses on what to do when a translation is abandoned and it will be helpful for future additions if other issues arise.

The devguide lists several contributors who have been inactive for well over a year and some who have not made any start to the translation whatsoever! This means the translation is out of date, when it could easily be pushed to newer branches, people are unable to contribute, for who is going to merge prs!, new contributors won’t join if there is no promotion and other problems.

For example:

  • The Bengali Translation, was claimed several years ago and not a commit in sight! It prevents people who wish to become coordinator and translate from doing so.
  • Hungarian Translation, not updated for 7 years, branch well out of date.
  • Indonesian translation, a contributor is yet again blocked.
  • Russian and others similar thing, you can see the dashboard for inactive translations

3. Add section on improving methods of finding new translators

Preview

Improve Methods of Finding Translators

Finding new translators is difficult. For this reason the devguide’s
*help-documenting* page <https://devguide.python.org/documentation/help-documenting/>_
will have a section on Translating. On https://docs.python.org when on a translation
(/lang) the footer will include the link: “Help Translating” that will link to
the translations contributing guide.

I work on the PL translation and it is difficult to get new translators, it is also not easy for people who would like to help to find out how to do so!

There is no direct link to the translation repo in docs and the link that leads you to a page about contributing in the devguide also does not mention it! (And navigating the devguide is not the easiest)

I also have another pr with a few minor suggestions (update links http → https, and update b.p.o. → github issue tracker).

I look forward to your suggestions :slight_smile:

5 Likes

Hi Stan

I suggest 2 weeks instead of 1. If it is inactive, one more week won’t make much difference.

Also, how about marking the language team as “needing coordinator” and remove the name of the coordinator instead of marking the coordinator as inactive? Both mean the same thing, but I believe my suggestion has a more positive point of view.

1 Like

I suggest 2 weeks instead of 1. If it is inactive, one more week won’t make much difference.

I agree, it is probably best to do 2 weeks just in case.

Also, how about marking the language team as “needing coordinator” and remove the name

I see, I was hesitant to fully remove them. If there are no objections I can go with the stronger version.

1 Like

Hi! Thank you for looking into this, and identifying areas where the translation process can be improved.

I think this has been submitted to the SC (python/steering-council#284) a little early: this thread has only been open a week, with only one comment, and the draft PRs haven’t been updated with the suggestions – it’s not clear which versions you are asking the SC to decide upon.

It would be good to hear from the PEP 545 authors: ping @julien, @methane and @vstinner.

1 Like

I do think we need some process around inactive translations and how to assign a new co-ordinator, this is something not currently in the PEP.

The Bengali and Indonesian issues have been open for less than two weeks. I think we have to mindful that most open source is done by volunteers, and real life happens. Plus translating is a lot of work, especially if done by a single person. Rather than removing people, can we find a way for people to work together?

I agree one week is too short.

They will be moved to an “Inactive Coordinators” section on the devguide translations page and the translation will be free to claim by anyone willing to coordinate by opening a PR in the devguide repository adding themselves as coordinator.

What’s the purpose of listing inactive coordinators?

The translation may also be temporarily managed by a user willing to maintain it
ideally with previous coordination experience.
(propagating translations, managing CI workflows, accepting PRs, etc.)

What defines a temporary manager from a regular coordinator? Are there any time limits?

I’m not sure we need to update the PEP to prescribe making updates to the devguide and docs, I think we could address these directly through PRs/issues?

I submitted it after a week, as recommended on the SC issue tracker. I doubted I would get any more feedback after just one message in 7 days.

I had updated the “previews” with suggestions in my SC issue.

I can also update the PR already as I had decided to hold back on that till it is reviewed by the SC.

Your first point I will answer with two of your own quotes :slight_smile:

Rather than removing people, can we find a way for people to work together?

What’s the purpose of listing inactive coordinators?

real life happens

Yes it does, so maybe with an easier process of replacement it may be less of a burden. If they are busy why should it block someone who is not?

I agree one week is too short.

I updated it in my submission to the SC and in the preview here.

What defines a temporary manager from a regular coordinator? Are there any time limits?

Its just somewho who wishes to help out but cannot be a real coordinator (e.g. they don’t speak the langauge) the time limit is till a proper coordinator is found or they get tired

I’m not sure we need to update the PEP to prescribe making updates to the devguide and docs, I think we could address these directly through PRs/issues?

Historically that has gone poorly…

I thought that with SC approval it may be a bit easier.

1 Like

I have the same two questions:

Putting time limits on non-responding coordinators, listing unresponding coordinators in a specific list, naming temporary managers, it all needs work and add complexity. Who will do this work?

Keep it simple.

I designed PEP 545 to keep things simple: every translation team can manage their coordinators as they want. If they want to organize one shot election, yearly elections, name the first translator as a coordinator, or whatever: everything just works and we don’t need to add complexity to it.

There’s no mention that the coordinator is the only one allowed to merge, so there should be no need for temporary managers: a translation can continue being updated with an inactive coordinator.

And it’s up to each translation to decide when and how to choose another coordinator if the preceding one had left.

So if something needs clarification maybe it is: translation teams are free to name new coordinators as needed.

2 Likes

You seem to have misunderstood my proposal, I could make it clearer?

My proposal is for the extreme case.

“but it is intended that each language team remains as autonomous as possible.”

The board should only step in if there is no active coordinator. Like the case with the Bengali translation, it has nothing to do with if a coordinator goes inactive but there are others.

This is the case when this:

If they want

Is not possible, because the coordinator is inactive. And the following:

a translation can continue being updated with an inactive coordinator.

is also not possible, for who is supposed to give merge permissions, the coordinator(s) are inactive!?

translation teams are free to name new coordinators as needed.

This is not limited anywhere in my proposal.

1 Like

The Steering Council has asked the Editorial Board to provide feedback.

2 Likes

The process decision is taking very long.
In the mean time, would the EB be okay with blessing new coordinators in the specific cases where contributors are blocked?
Looks like half a dozen or so of those have piled up over the years.

(After all, it’s easier to codify a specific process after it becomes boring.)

@encukou Please could you list the cases that need action?

Those that I’m aware of:

  • The Bengali Translation, was claimed several years ago and not a commit in sight! It prevents people who wish to become coordinator and translate from doing so.

This needs action. The new volunteers don’t have access to the repo and have begun work in a fork for now: jojo96/python-docs-bn-in.

  • Indonesian translation, a contributor is yet again blocked.

This is progressing, see python/editorial-board#29: yesterday, EB has asked the new coordinator to open a devguide PR and will give them permissions.

  • Hungarian Translation, not updated for 7 years, branch well out of date.

What specific action needs taking here? Are there volunteers to continue the work? There’s nothing at python/python-docs-hu, python/editorial-board or python/docs-community.

  • Russian and others similar thing, you can see the dashboard for inactive translations

Again, are there volunteers to continue the Russian translation? There are no issues at GitHub - MLGRussianXP/python-docs-ru: Russian Translation of the Python Docs or the other repos. Same question for the other inactive translations.

The removal of the current coordinators to make it clear that new ones are required. This is where my idea of “temporary coordinators” came into play, we could merge the translations into newer branches and set up transfiex to allow less tech-informed users to contribute.

There is also the Japanese translation, it has active contributors on transifex, but no active coordinator.

1 Like

Ah, that’s what I missed! Thanks!
So, there’s a way forward for people who want to coordinate – open a PR and ask the Editorial Board to review.
That’s what I asked for; if I see anyone who feels blocked I can suggest this.
Sorry for the noise!

3 Likes

I did post on Discord the next steps to unblock folks a few days ago. :smile:

After PyCon, I will open an issue for discussion at the next docs community meeting.

2 Likes

Thank you! I missed them, and the Discord is now so big that I can’t find them any more ^^;
To confirm, is “open a PR against the devguide listing yourself as the coordinator, and ask the Editorial Board to review” a good summary?

(I hope that ends up in a PEP, but probably better to do that after the discussion is over and the process has been tried a few times.)

2 Likes