Meta: Lifetime of an idea. 1, 2 & 3

The last observable related to this: For any & every - #30 by cameron

However, this suggestion is drawn from a much larger sample of instances and personal experiences.

I would dare to state that a big part of responsibility for wasting time on “half-baked ideas” falls on lack of place for such.

Possible idea stages (of course there are all shades of grey, but this is a very rough attempt to classify):

  1. 1% baked. Creator is only starting to explore the idea, has not tried implementing it, it is vague, unexplored, no ground is covered, it’s all up in the air. However, he has a feeling that he might want to explore it as it aligns well with what he is interested in and how he would like to contribute to python in a long term. However, he would like to gauge the interest and get some initial feedback. Where does one go? Also, at this point it is very easy to destroy the idea by experienced (although not very careful) members of the community. Even if the idea in itself has a potential to grow into something beneficial, it has little to no defence at this stage (especially for someone who is just starting).
  2. Idea is 50% baked. There is a certain need for it and there are undeniable benefits. however, it is still uncertain whether it should be part of python (and not in external package). Also, a lot of aspects of it are not resolved. However, the idea is ready to withhold a criticism and a certain amount of it is very healthy to it too.
  3. Idea is 95% baked. There is alpha version of how it would look fully implemented. It can be tested, benchmarked and its specification is unambiguous and there is a hard case for it, etc, etc.

Where does one go at each stage to get feedback?

  1. ???
  2. Ideas - Discussions on Python.org
  3. PEPs - Discussions on Python.org

What are the guidelines for each stage?

  1. ???
  2. Somewhat clear.
  3. Well defined. https://peps.python.org, https://devguide.python.org

Proposals

So I have 3 proposals. 1. is a potential quick fix. 2. is a potential improvement in resources and 3. is 5%-baked idea for consideration.

  1. Quick fix. New topic group for “half-baked ideas”. Name it “Open-ended ideas” or whatever else appropriate. In this case, if the idea is posted to “Ideas” and is deemed 1% complete can be moved there. Anyone who doesn’t want to waste time on such ideas, just doesn’t go there. Also, it should be clear what qualifies for what. Otherwise, there will be endless discussions, whether this idea should be there or there.
  2. Centralization of resources. A place where a high level overview of idea cycle is laid out with well structured resources and guidelines. So that a person of ANY level of expertise with ANY idea has a place to exist. I have also observed that big part of a problem is inability to understand what is meant by a certain combination of written words. Thus, developing(collecting) definitions into a glossary might be of benefit. E.g. “baby-idea”, “half-baked-idea”, “pep-worthy idea” or whatever.
  3. general development for infrastructure for the lifetime of an idea. I have briefly touched on it in: Meta: how we evaluate / reach consensus on / approve ideas as a community - #19 by dgrigonis. It would involve developing of quantitative measures / rules of thumb for quicker decision making. Some of these are already here, such as github grep usage and would only need to be integrated better into the process. Others are hard to quantify and a lot of time is wasted arguing about them endlessly. E.g. good python syntax descriptors:
    * Verbosity ratio = number of characters / number of operations
    * Readability ratio = % of correct responses from AI prompt: “Explain what this human meant by this sentence: "…"”

To sum up:

  1. Low effort. The questions to answer here is: “What qualifies for a good post in "Ideas"?”. What sort of posts do not qualify, but have intrinsic non-zero value and where should such conversations and discussions can be accommodated?
  2. Medium effort. Maybe such place exists already and I don’t know about it?
  3. High effort, (but IMO can be an interesting project). This idea is 5% baked. I am still unsure if it would be net beneficial, whether people would appreciate it and to what degree this could be achievable given the state of the community. Nevertheless, it might be a beneficial step to accommodate more efficient development cooperation in a growing community.

Afterthoughts:

  • How can one ever be sure, that the most (seemingly stupid) idea doesn’t hold potential for something paradigm changing (it might look nothing like the initial idea 5 years later though)?
  • One of the roles of a good mentor is to help one persist in its stupidity.
  • Sometimes people just want to talk their ideas out without being judged (too much) and they look for more appropriate place for it. If the most appropriate place is not appropriate it leads to dissonance.
2 Likes

The “Python Help” category is a catch-all for other sorts of posts. If you want to simply open a discussion about something (“what would it be like if Python had a language-level feature for SQL queries?”), you can open a thread in Python Help, and start talking about the implications.

And, in fact, a lot of those sorts of threads could be very interesting! Importantly, though: If you haven’t put much effort into the idea yet, don’t be surprised if it turns out to be completely unworkable. So if you approach it with the attitude of curiosity (“so what IS it that makes this impractical?”), you’ll be fine, but if you get defensive when people say it’s unworkable, well, that’s not going to be a lot of fun for you.

But, broadly speaking, Python Help is the answer to what you’ve said.

You can’t. In fact, a lot of stupid ideas have the potential for greatness. Whoever first came up with JIT compilation must have been insane - “hey, let’s not compile everything at the start, let’s wait until the user is WAITING for us, and only THEN start compiling stuff!” - but it’s a spectacularly good idea. Etcetera. However, the useful and successful ideas, even if they sound stupid, have to be well thought-out. There’s a difference between a well-planned idea that completely bucks the trend, and a badly-thought-out idea that bucks the trend. One of them has the potential for greatness; the other… nobody can know.

The problem isn’t whether an idea looks stupid. The problem is whether there’s a real, solid, debatable idea at its kernel. For example, PEP 312 proposed an implicit lambda which could serve a number of extremely useful purposes. It turns out that it’s better to do things other ways (you can see that the examples given are both features that have been given their own syntax), but the idea has enough solid merits that it can, at least, be discussed. As another example, people have frequently asked for integers to become iterable, allowing you to write for i in 10: to iterate ten times. That got written up as PEP 276 but versions of it keep showing up. They keep getting rejected, and yet, in my opinion, they are entirely valid ideas - there’s a real concept that can be solidly discussed.

So if you DON’T have something like that, what DO you have? A thought. A notion. A question. These sorts of things are all eminently discussable, just as long as you’re not too attached to them, and are happy to let them morph along with the discussion. :slight_smile:

2 Likes

That is very sensible. Although to me the name somewhat suggests that “I am looking for help” as opposed to “I want to chat about my crazy ideas”.

Regardless, it seems like a valid place for such discussions and then it brings this to 2.:

Centralization of resources regarding idea lifecycle, where among other things:
a) “1% baked ideas have a place in Python Help” should be clearly stated
b) “How do I know where should I go with my idea?” should be clearly answered

Also, this is not well addressed. Description of “Core Development” group states:

(usage of Python should be discussed in the “Python Help” category, new ideas for Python to “Ideas” )

Indicating that “Python Help” is for usage, while ideas, regardless of their quality are about contributing to python.

Yeah, it’s the “General” section so it gets a lot of random stuff in it, but the name isn’t perfect. I’m sure the Discourse admins would be happy to hear a proposal for a better name, but so far, nobody’s come up with something that really covers it :slight_smile:

“General discussions”? :slight_smile:

I think Help is a fine place to propose unbaked ideas, because in a sense you are asking for help: how to make your idea go from 1% to 50%. When a user posts an unbaked idea, even though they may not explicitly ask for help, the underlying intent is to inquire something along the lines of “why is Python currently the way it is?”, “have there been previous proposals for this idea and why were they rejected?”, etc., these are all appropriate in the Help category. If they already know these answers, their idea is definitely past the 1% mark and they should post it in Ideas.

5 Likes

“I want help fleshing out my crazy idea.”

2 Likes

“General discussions”? :slight_smile:

That’s essentially what it was before (“user discussions”
technically, I think?), but was renamed to help because people
looking for help, especially people for whom English isn’t their
first language and people just starting out in programming, couldn’t
figure out to ask their questions in the general category and were
just asking them any old place (core development, python software
foundation, et cetera).

Maybe the underlying problem is that a lot of people who want help
and a lot of people who are wanting to start general discussions
don’t want to do those things in the same category, and no one term
is going to convince them to do so?

As long as it works I think “Python Help” is a sensible place for it. Although I also think that giving a second thought about creating a separate one is worthwhile. As you say, just the fact of separating them could make things more intuitive and clear. It doesn’t feel natural to me to go pitch my 1%-baked idea to the place where some people are asking basic python questions. It just doesn’t feel that I will receive an audience that I would like to receive.

So something in the middle could be useful after all. A place where I probably will not get attention from people who do not want to waste time on such things, but at least I know that it will be in a place where people discuss ideas.

I also think that topics get quickly burried by other topics. There are on average 10 posted every day.

Maybe the underlying problem is that a lot of people who want help
and a lot of people who are wanting to start general discussions
don’t want to do those things in the same category, and no one term
is going to convince them to do so?

I think the underlying problem is that people are going to assume that
the Help and Ideas categories mean what they sound like they mean. In
the mailing list days we had:

python-help – help with using Python as it currently is

python-ideas – all speculative ideas

python-dev – all things currently under development or being seriously
considered for inclusion

This was a simple and intuitive division. You’re going to have an uphill
battle getting people to interpret the Discourse categories any other way.

4 Likes

If you try to split Ideas into something like “less than 50% baked ideas” and “at least 50% baked ideas”, that will require people to make a value judgement about the level of bakedness of their idea. I don’t think vaguely-defined categories like this work very well.

2 Likes

Yes, this is the only thing that would take effort to make this work. A clear definition for what qualifies as <50% baked.

I don’t think it is that hard. Just look at all of the discussions that have been deemed as such. And also similar kind threads that pop up in “Python Help” from time to time and find common differences compared to those that harmoniously fit in “Python Ideas”.

Results of such comparison would be beneficial in themselves and would help to deal more efficiently with misunderstandings of similar kind.

Yeah. Everyone thinks their idea is self-explanatory and perfectly reasonable. It’s those other ideas that are half-baked. :sweat_smile:

1 Like

It’s one of those irregular verbs, isn’t it? I have a fully self-explanatory proposal with obvious merits; you have a half-baked idea that is in desperate need of work; he is totally off the mark and suggesting things that make no sense in the language.

3 Likes

Although I agree that his could be a very high level summary of situation from a certain point of view, I don’t think settling on such definition is a productive approach.

If you didn’t take the time to watch the linked video, I’ll summarize: it’s a piece of classic British comedy and not to be taken seriously, except when it is. Given what the Python programming language was named after, I hope that we here can appreciate a good comedy piece!

The video I liked. :slight_smile:

1 Like

Yes, the problem is where the line should be drawn (why 50%, or why not 40% or 60%?), and by what measure bakedness is determined.

To me, it’s much more intuitive to let an idea post be a post about asking to make a change to Python while a help post be a post be about asking for help using Python as it is.

A 1%-baked idea to make a change to Python is still an idea. Let the overall concensus that follows determine if an idea post can be already satisfied with an approach using Python as it is, or if a help post can only be helped by making a change to Python, and then move the posts to the other forum accordingly.

In other words, there’s nothing wrong with the way it is now IMHO.

1 Like