In this web content, the author discusses best practices for handling context plumbing in Go. The three main rules highlighted are: only entry-point functions should create new contexts, contexts are only passed down the call chain, and contexts should not be stored or used after the function returns. The author emphasizes that while it may seem easy to obey these rules, it can be easy to inadvertently store contexts. The author shares a personal story of encountering this issue and provides a revised solution that adheres to the best practices. The controversial information is that libraries starting their own goroutines is considered an anti-pattern.
https://zenhorace.dev/blog/context-control-go/