This is a great question. I want to make our OSS development sustainable, responsible and predictable. I wrote our "policy" on the subject as a result: https://zeit.co/blog/oss
Some of the most important principles are:
- It has to have demonstrated its value within the company. The project should almost be in a "desperate need" to be open source. This happened to us with Next.js, for example. We were building quite a bit of internal documentation. I wanted to set that free. I find myself learning from the community now! We've had a lot of great help, insight and ideas via GitHub issues and the likes
- The software we open source has to have a small and limited yet extensible surface. A trick for accomplishing this is focusing on components (like Next.js) or plugins (like Hyper). This takes away a lot of the burden from maintainers, and also at the same time puts the community "in charge". It's a great balance. Moving forward, I'm skeptical of projects that don't meet this criteria and likely won't open source any, unless they're small components and such.