It's changed recently. Now it's really easy. Here's ADVI:
Focus on the abstraction. The
model and an initialization is provided. All an algorithm developer has to do is utilize that. And if you're unclear on how to drive it, this test shows you how:
In the past, it was a bit harder, but all the pieces were still there. It's now just easier to follow along. In the past, all the algorithm developers we knew about just reached out to us and it was easy for us to show how to do it, but you're right... we never went out of our way to document it so it was super-easy.
That's out of context. For Stan, I completely agree. For a feature to get into the code base, it should be stable. There's a lot of maintenance to contend with -- even if the code is as perfect as it can be.
For experimenting, all gloves are off. Go forth and develop algorithms in sandboxes and prove to yourself that it works. Be fast about it. Be as robust as possible. But at the point someone wants it into the code base for distribution, it's a commitment.