Encouraging informal pitches

As I suppose we should expect, there's been an increase in proposals materializing without much, if any, prior discussion. This isn't a particularly new phenomenon, though. It happens fairly frequently that people who work on the compiler present an evolution pitch with a fully-written proposal and PR ready to go.

Yet, even in that case, I think skipping an informal pitch is quite risky. There are lots of smart people around and you never know what ideas or problems someone might find. And then there's the (perhaps more fraught) community engagement and buy-in. Fairly regularly I just throw wild thoughts out there to see if anyone gets interested. Perhaps I'm a little too cavalier in this regard, but I really value brainstorming and knowing what people think up front before I've invested too much time. It has also happened to me on multiple occasions that I have discovered someone already working on the exact same thing by doing this.

And so while pondering all this I got to thinking: should an informal pitch be an official recommendation?

The arguments against, that I can think of anyways, are:

  • I have found the work that goes into formalizing a proposal to be itself very clarifying. Skipping this could have a negative impact on the concept.
  • Some goes for implementation. Maybe some ah-ha moments could be missed.
  • It's extra work in an already demanding process.
  • it is another opportunity for people to rehash complaints or resistance.

And yet, I have a hard time seeing this as a net-negative. Catching problems early is so valuable. As is finding potential collaborators. Speaking purely for myself, the bar to producing a real implementation is a sky-high, borderline-insurmountable obstacle. Also, there's nothing stopping you from having a draft of a formal proposal ready as well. Distilling the contents down to a more digestible form for this informal pitch could be a great exercise too.

And there's also a higher-level aspect. Communication is so vital to the process that, in my experience, the implementation may be the least important component. Clearly articulating the problem and the solution in a way others understand is challenging and I expect this will only become more so with time.

Clear and effective community discussion is, in my view, such a central component of the work itself that it kinda feels like a no-brainer to discourage individuals from even starting an implementation without first discussing it and helping the community to both understand and get on board.

Thoughts?

15 Likes

Not much to add here, I agree this should be a no-brainer.

Speaking from my own experience, I'm glad that I heeded Jamie’s advice and made my intention to work on Async{Throwing}Stream public so early on. As you said, creating a high-quality implementation, and possibly even requiring additional work to make your proposed change possible in the first place, requires a great amount of effort and time, not only on your part, but also on whoever needs to review it.

4 Likes

Agreed. It's actually recommended in the evolution process.

Pitches are great a way to get feedback from others that you may not have ever considered. It makes for a stronger proposal, if it gets to that stage.

1 Like

The evolution process document already puts things in this order: start a pitch, have an informal conversation, then write a proposal document coming out of that. And I generally do recommend that people follow that if they’re comfortable with it. You’ve listed some good reasons people might avoid doing so, though. To that i can add some more:

  • Starting an open conversation can sometimes be taken as being less prepared. While some of us have enough cachet to breeze through that, other people may fairly worry that it’ll be held against them. It shouldn’t be, but that doesn’t mean it never is.
  • Open discussions can leave people wondering if the idea is actually going anywhere. Having at least a first draft of the proposal ready makes a more credible statement that this is close to review and can encourage more engagement.
  • A lot of times (especially for small proposals) the open conversation has already been happening, just scattered around in reviews and other pitches. Starting a dedicated thread can then feel a little weird if you’re not making a specific contribution, and having the proposal document ready is a pretty clear contribution.

So I don’t really anticipate pushing to harden this recommendation beyond the vague level it’s already at.

13 Likes