Pretty much. I’m not sure if @Nineteendo wants to do it or not, since they’ve been leading the efforts in actually drafting something up. Otherwise, I’m happy to do it.
That’s not exactly what I had in mind. This is also aimed at other people participating in the discussion. Maybe like this?
For participants: please don’t start discussing the content of an idea before these points have been addressed, this gives the false impression the proposal is well written.
That’s fine if the proposal is well written, but if it isn’t we’ll link to the pinned post.
If nothing changes, we’ll need moderator intervention like for me…
You shouldn’t blindly follow guidelines, if a proposal is well written it’s fine. If someone is nitpicking, we should ask them to be a little forgiving.
That’s precisely what I suggested at the start:
Let’s do a github repo! It’ll be easier to track/suggest changes and make comments.
Feel free to create a pull request:
I’ve created a pull request such that you can add comments: Create README_NEW.md by nineteendo · Pull Request #1 · nineteendo/welcome-to-python-ideas · GitHub
My version was intended to make that point subtly (on the assumption that the existing participants support this message in any case) by telling the poster that this is what participants will do, and by acting as a reminder to participants that it’s what they should do. Remember, the pinned post isn’t directed at (and won’t typically be read by) frequent posters, so a “message to participants” won’t get read by the intended audience.
I appreciate that you personally don’t typically like subtle nuance like this, but it’s necessary if we don’t want to come across as too aggressive.
This is fine, and I completely agree with your framing of the problem and your suggested goals.
IMO, a pinned post (any pinned post) is likely to have little or no practical impact on how people behave. For me, it’s at best a way of formally recording somewhere “what we all think a good proposal should look like, and how it should be treated”. I don’t think that’s a bad thing to have, and there seems to be a broad consensus that a pinned post should exist, so my view is why not?
For me, the only actually effective way of improving things that I’ve seen is for someone to put in the (significant!) effort to guide and mentor new posters, to “show them the ropes” and help them to develop their idea. But I don’t see anyone stepping up to provide that sort of support, unfortunately. I’m not blaming people - I’ve only tried to do anything like that a couple of times, and while it’s been largely successful, and fairly rewarding, it’s a lot of work, and emotionally very draining, so I’m unlikely to do it again in the near future. It’s also not scalable - there are far more “drive by posters” than there are potential mentors.
So yeah - a pinned post does no harm[1], but doesn’t really help achieve the goals you stated. Do you (or does anyone else) have any other suggestions? Because I don’t…
assuming we word it well ↩︎
100% agreed. This is why I wanted to focus on the problem and the goals before diving in with a solution.
I don’t have a solid proposal on how to improve this, but I think the reality is that we need systematic solutions, not human solutions. (Or, really both.)
I haven’t looked at the capabilities of discourse in a long time, but it’d be great if there was a way to triage posts in Python Ideas, creating a curated view for people to look at. Those who want to deal with the flood and help mentor people can still do so, but there’s also a place for people with less time/attention. I don’t know if that’s tags or ‘promotion’ to a forum when an idea has hit critical mass/etc or what.
I still think updating the pinned post is a worthy goal, but it’s one aimed at helping the frequent users/mentors of the forum and less for solving the goals as stated above.
Draft 7, make suggestions here: Create README_NEW.md by nineteendo · Pull Request #1 · nineteendo/welcome-to-python-ideas · GitHub. I hope it’s a bit less intimidating (it’s still long though).
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! Use this category to get feedback on an idea you want to help add to a future version of Python.
Python has been around for a long time, and proposing changes to the language can be difficult and intimidating. This category is for well-thought-out proposals and discussions. If your idea is not yet fully fleshed out, you might want to start in Python Help to get some initial feedback.
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:
- Python Software Foundation Code of Conduct
- Setting expectations for open source participation
- Justifying Python language changes
- Status quo wins a stalemate
- Design and History FAQ
How to make a great Python Ideas post
- First, consider Python’s Backwards Compatibility Policy and its implications for your idea.
- 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:
- The PEP Index
- The Ideas and Python Help categories on this forum
- The historical python-ideas mailing list
- The issue tracker
- 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.
- 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.
- 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 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 don’t address these points in your topic, participants might ask you to do so before engaging in a serious discussion of the idea.
As I mentioned before: Have a clear policy that posts that aren’t at least close to the expected level of effort will get moved out of Ideas (into Python Help for lack of a better place). This doesn’t have to be done by mods, and hopefully improves the signal to noise ratio in the Ideas category.
The tricky part with this is to make sure that this isn’t seen as a “punishment” or dismissal of the idea - for that we need a well written pinned post. (as well as potentially a very well written canned response).
In the Python Help category there can then be further engagement with the idea, removing the need for that the controversial last part of the previous drafts. Whether the discussion there is productive is less important since the Ideas category isn’t affected (assuming moving prevents email spam from those threads. That is something we should check). Hopefully, the discussions outside of Ideas can then lead to either a conclusion that the proposal is not worth it (with the agreement of the OP) or it can lead to the creation of a better proposal to be posted again.
We could also create a policy to created “reject ideas posts” in Ideas not with the goal of being discussed, but working as sign posts for future searchers, which collect the reasons why the idea was rejected.
You mean the whole paragraph? Or just the sentence I crossed out?
Does anyone have suggestions to further improve the tone of the post? Or does it look good?
I suggest moving this block to the end. In the middle, it disrupts the flow of the text. It feels more natural to be at the end like a bibliography.
Also I suggest removing the link to the Code of Conduct. Of course the Code of Conduct applies, it goes without saying. And it applies to the entire discourse space, not just the Ideas channel, so it’s a bit strange to have it here. But my main concern is it gives the impression that this section is just boring legal stuff, while the other links are actually helpful for creating idea posts and worth reading.
Do you think it fits better in this paragraph?
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. See the Code of Conduct for more information.
Not really. I don’t think it fits anywhere. The CoC is about general behavior, while this post is specifically about how to make good idea proposals, which the CoC says nothing about.
The existing pinned post doesn’t have a link to the CoC, and the reason why this discussion exist is not because people are breaking it. So adding it doesn’t solve any real problem.
Hmm, that doesn’t match up with what Paul said:
I’m not sure why Paul said that. Most of the time when someone posts a low-quality idea, it’s moved to Python Help and the discussion continues there. But if they were breaking the CoC, their post would have to be removed altogether. The latter is very rare. Low-quality ideas don’t break the CoC (which sets the general expectations of the entire community), they break the expectations of the Ideas channel. So the pinned post is to explain those expectations, not to refer to the CoC.
I said it because the “Our Community” section in the CoC explicitly describes the behaviours we want to promote. Did you actually read it before posting your comment? I certainly don’t think people posting low-quality ideas are breaking the CoC, nor do I think such posters should be punished. But they are often new to the community, and pointing them at a (section of a) document that explains what we stand for is a perfectly reasonable thing to do IMO.
I know that many people have a negative view of codes of conduct, and may have had bad experiences where they are used negatively, rather than positively. That doesn’t mean we have to avoid using ours the way it’s intended to be used.
Having said all that, I’m not in charge here - if people want to provide the message of what our community standards are some other way, that’s fine with me.
Does this make it clearer we’re only referring to this section?
See Our Community in the Code of Conduct for more information.
There is a precedent here. It should have been mentioned.
I would be more in favor of installing a detector that detects missing references to Python-related websites. That would serve as a good reminder to check Python websites.
I’m pretty sure that if a user managed to skip the Terms of Service, Code of Conduct, etc., they will skip this pinned post too.
It’s mosty meant to point people to: