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?