Top line

80% of our feature requests are for changes to the language, and most seem to come from folks with no experience of core development. Whereas over the past 5 years most work on toke.c and perly.y is from just 5 people

Karl, LeoNerd, Tony, Zefram, Dave

(with the first 3 far more prominent)

There’s a massive disparity between how many ideas we have and how many people we have to even mentor others, let alone implement things.

To get out of this hole, we need an approach that acknowledges this and emphasises scaling up and out with what we have, instead of pretending that we’re short on ideas and long on under-used talent.

Meaning

Sure, we do not want to rule out “unsolicited” ideas, but we have to assume that these were unlikely to go far unless someone else with the right skills buys into them.

I really don’t want to just create a “roadmap” of “aspirations” that blocks for years because no-one implements it. “Yes, we’re going to add desugaring assignment…”

So I want it to be clear

I want to avoid

Bugs, optimisations, build improvements etc

Feature requests are

It’s not helpful to place both in the same “queue” and process them as variants of the same thing, because they are not. They don’t even need to be in the same repository - you don’t need the possible future history of Perl in order to build it from source, or use it to write working programs.

We can strive to reach 0 bugs.

Unlike bugs, the functionality of released Perl doesn’t suffer if we have infinite open features. We gain nothing from striving to reach 0 open feature requests.

I’m really keen to

  1. Split the bug queue from the idea queue
  2. Distinguish between “someone’s idea” and “idea we like and think is viable”
  3. Be clear that there are no magic coding fairies (it should be the exception rather than the rule that we accept ideas without an idea of who is going to do it)
  4. Be clear that there is a bunch of project management stuff that folks can help with to champion their feature - that’s how they help us scale. “oh, but I can’t hack C so clearly I can’t help here” is a misconception
  5. Give equal prominence to ideas that didn’t make it
  6. And of assessments of why

What are we trying to achieve

Basically the MVP - Minimum Viable Process.