Add pinned post in ideas

I think it’s better to have engagement with an incomplete idea post in Python Help than to have no engagement in Ideas. That is a better experience for OP since they wont feel ignored and the many people here who like to play “what if” or microoptimize iterator implementation can do that. if the end result of these discussions is a workable expansion of tge original post, a new one can be created in Ideas. (And if there is continued engagement in Ideas with bad ideas, this policy failed anyway and we are back where we started)

This isn’t about punishing a user. This is about making sure that the posts that are in Ideas at least have a chance from a form perspective of evolving into a PEP and that those posts are worth time investment by Core Devs.

2 Likes

This is an interesting idea. I have responses but if I respond I will do it in the other thread.

We don’t mention summarising anymore.


I think this should be mentioned more explicitly in the post:

It’s also aimed at people responding to the thread. We don’t want to waste time bringing up the same points as in previous discussion. My comment was ignored when I brought it up previously:

Linking to the pinned post might’ve helped.

I think it’s useful to mention backwards compatibility first. If you know an idea is not backwards compatible, doing research is pointless. If you don’t realise this, you’ll have to read previous discussion first.

@Nineteendo Out of curiosity, do you think that this discussion on adding tuple support to more string functions adheres to the policies being discussed in this thread?

I know you didn’t ask me, but in my view, as far as whether it should be in the ideas category, it’s fine but borderline. It’s a reasonable proposal and a sensible discussion, but it’s reached a point where it’s clear that there’s no PEP or major language change needed, it just needs someone to write one or more PRs and see what happens. I explicitly said this in the thread, FWIW. On the other hand, it’s not particularly close to the policies being stated here. To me that suggests that what’s needed isn’t so much exact rules which get enforced blindly, but a better understanding from current participants of how to make the category work well, a greater feeling of shared responsibility for both keeping the goals in mind, and helping newcomers understand what the category is for, and how to participate. Unfortunately, nobody seems to like generalisations and nuance any more :slightly_frowning_face:

Having said that, the discussion is now largely not helpful, because it appears to be people who don’t plan on doing the implementation work talking about things that won’t affect the implementation. That’s something that could just as well be moved to the help category (it’s “a bunch of people having an interesting conversation about stuff in the current version of Python”).

While this isn’t the same as “ill formed ideas”, it is something that happens a lot in the ideas category - it’s a form of the Belling the cat story - a bunch of people all talking about what they think should be done, but all assuming someone else will do it. It’s a common enough behaviour, and as long as the discussions die down fairly quickly, it’s relatively harmless. But it feels like it’s becoming rather too common around here. This is a variation on my previous “don’t assume we’ll do the work for you” point.

This discussion is ironically another example of this. We’re all talking about a pinned post, but who is actually going to do the work of finding out how to get the pinned post updated, presenting the new text, and making the change actually happen? No-one’s said they’ll do that yet, so there’s a risk that all this talk will come to nothing because we’re all assuming someone else will do the work…

3 Likes

I absolutely agree with you. This thread is simply discussing the status quo of “being professional, following the code of conduct, and exercising common sense.” The appropriate way forward is to handle cases on an ad hoc basis. Less well-formed ideas naturally evolve into discussions. This is a natural process, occurring both in real life and in every internet forum.

I assumed that this would be as simple as pinging a moderator once a sensible conclusion here has been reached. It would be best if the ping and the request came from a core dev, but I hadn’t really considered that being an issue worth talking about. The hard part is formulating the new pinned message, which has happened, no? Ofcourse, further improves can still be made…

3 Likes

That’s exactly how I started this thread. Because nobody proposed a draft, I started working on that.

1 Like

I think this is a bit unfair. If anything, this discussion is the opposite of that: instead of assuming someone else will do the hard part of the job (which is not clicking “Edit the post” and copy-pasting a finished text but writing and iterating on it) people proposing the change went ahead and did it themselves.

3 Likes

No, but it wasn’t brought up at the time. I kind of gave up on the proposal until @pf_moore said to just go for it if I’m willing to put in the effort.

That’s exactly how I started this thread. Because nobody proposed
a draft, I started working on that.

Well, technically someone did: the same person who suggested
updating the pinned post. The original proposed text was deemed
unwelcoming, but that’s fine, it at least got the ball rolling and
encouraged you and others to propose alternatives.

But yes, as I stated before, I don’t like to make suggestions
without at least including a possible implementation, otherwise it’s
a symptom of exactly the sort of problems we’ve been discussing.

2 Likes

Here’s the 6th draft:

Please read this message before posting an idea

Would you like to change something in Python? This might be the category for you. Use this category to get feedback on an idea you’d like to see in a future version of Python.

Understand that Python is a volunteer project. All ideas integrated into Python are developed, implemented and maintained by volunteers to improve Python for the benefit of the community. This typically happens via the procedure outlined in PEP 1. When you make a proposal, you volunteer to help make it happen. How you help depends on your skills and experience, but you should at least expect people to assume that you’ll do research, lead the discussion and respond to comments and criticism. Don’t expect others to do tasks that you don’t want to do.

The following articles provide general expectations about how Python is developed and the spirit of the Python community:

Any serious proposal must address the following requirements and questions:

  1. First, consider Python’s Backwards Compatibility Policy and its implications for your idea.
  2. You should also investigate whether your idea, or a similar one, has been proposed before. If so, your new proposal should address the reasons why the old one didn’t move forward. Why should the idea move forward now if it didn’t in the past? To find old similar proposals, check at least the following:
  3. Address other ways to achieve the same goals as your idea. Why are they not sufficient so that you are asking for a change to Python? For example, why can’t a PyPI package, recipe in the documentation or utility function suffice to satisfy your idea? You should also explain why it is better for this to be available in a few years, when the version of Python it is being added to is available, rather than right now, which is what a recipe or PyPI library offers.
  4. Give clear examples of how your idea would be used and what problems it would solve. A simple GitHub search isn’t good enough, you need to provide an in-depth review of codebases where a real benefit can be demonstrated.
  5. Answer the following questions:
    • Who will develop the source code and documentation for this idea?
    • Who will maintain the source code and documentation for this idea?
    • How burdensome will these jobs be for whoever is doing them?
    • How will you personally contribute to the realization of this idea?

Please think about all these requirements and questions and address them in the topic you create for your new idea. This will save your time and the time of others who read this forum (including core devs who need to sponsor PEPs) to raise and address them. In addition, others on this forum will be more likely to respond to and engage with your ideas, increasing the likelihood that they’ll be adopted.

There should be no discussion of the content of your idea before these points have been addressed.

Use this category to get feedback on an idea you’d like to see in
a future version of Python.

Just an observation, it seems like a lot of the earlier discussion
revolved around how this directive can be misinterpreted as an
expectation that you’re going to get someone else to do it all for
you. Perhaps simply swapping the “see” to something like “implement”
would go a long way toward implying some responsibility on the
proposer’s part, before they even decide to read further.

2 Likes

Agreed, although I’d go for replacing “see in” with “help get added to”.

Also, the last sentence reads too harshly to me:

Maybe instead, something like

These points need to be addressed before getting into specific details of your suggestion. If you haven’t addressed them, participants in the list will ask you to do so before going any further.

1 Like

I don’t have line by line feedback on this, but this reads overly hostile and intimidating to me. It’s also a lot of words. I think you’re broadly going to have three types of responses to this:

  1. Some people won’t read the post at all, and they’ll simply just post whatever they feel like.
  2. Some people will read this post, get intimidated, and self-censor their ideas.
  3. Some people will read the post and put effort into their ideas and post.

If our goal is to try and reduce the number of category 1, then this post won’t do it. And I suspect that category 3 will be a fraction of a fraction, just as it is today.

Beyond that, posts like these always feel less like guides for new users and more like weapons for frequent-users. “Hey, you there, new person! You didn’t follow every one of the sixteen guidelines in the pinned post! How dare you!” That pushes people out of the space. The PR and PEP process already have a ton of rigor to them; do we really need the same level for people inside python-ideas?

It still feels to me like we are diving full-steam ahead on a solution, when we haven’t actually identified the problem we’re trying to solve. If I were Project Managing the updating of the pinned post in Python-Ideas, I’d actually step back first and try and broadly frame the problem before just diving straight ahead.

And in that vein, I want to circle back to something Paul Moore said in the other broad thread about this topic:

So in that vein, here’s how I would frame the problems:

  1. Python Core Dev participation in Python-Ideas is declining over time.
  2. The signal-to-noise ratio in Python-Ideas is increasing over time, i.e. the average quality of posts to python-ideas is low.

Similarly, if I were king of the Python Ideas forum, I would list my goals for the forum to be thus:

  1. Increase participation by Python Core Devs.
  2. Increase the overall quality of posts and discussions (improve the Signal, reduce the Noise).
  3. Provide a welcoming environment to everyone who wants to contribute to the language, new and old.

I think those aren’t mutually exclusive goals.

And again, while I don’t have line-by-line feedback, I don’t think a big bold headline of “Please read this message before posting” is friendly or welcoming. Here’s a draft I just came up with on how I’d introduce a pinned post:

Welcome to Python Ideas!

This is the home for people who want to contribute to Python. Would you like to change something in Python? Then this might be the category for you!

Python’s been around for a long time, and proposing changes to the language can be difficult and intimidating. This category is for well-formed proposals and discussion. If your idea isn’t fully baked, then you might want to start in to get some initial feedback.

How to make a great Python Ideas post

  • details

But the larger point remains – we need to be really clear on what problem we’re trying to solve and what our goals are.

2 Likes

Use this category to get feedback on an idea you’d like to help get added to
a future version of Python.

“help get added to” Yes I like this.

Yes this is much too harsh. Consider a sentence added onto the previous paragraph (inspired by earlier responses)

Please think about all these requirements and questions and address them in the topic you create for your new idea. This will save your time and the time of others who read this forum (including core devs who need to sponsor PEPs) to raise and address them. In addition, others on this forum will be more likely to respond to and engage with your ideas, increasing the likelihood that they’ll be adopted. If you do not address these items in your topic then participants will ask you to do so before engaging in serious discussion about the idea.

Also:

  1. I’m happy and willing to help draft a pinned post that is welcoming (while still helping to achieve goals 1 & 2 as listed above.)
  2. Should we use something like github for this? Might make tracking changes and comments easier than doing it here.
1 Like

I’m really not sure what you’re getting at here. The problems that you identified in your post have been repeatedly identified in this thread and in the sister thread.

The goal isn’t to reduce the number in category 1. The goal is to have a re-usable bit of text so that there is a low effort and repeatable way to educate folks in group 1 after they post to help them improve their posts.

It sounds like you’re concerned about tone. I’m super open to suggestions (like the ones lower down in your post) for how the tone of the current draft can be improved

This draft doesn’t convince me that the overall length of the post can be dramatically reduced from the current drafts, but it does convince the tone can be changed to be more welcoming.

1 Like

Yes, I think this would be nice but I don’t know exactly how those logistics would work. Someone just spins up a quick repo with a markdown or something file and we go from there?