- Have a documented installation and uninstallation process that conform to our implementation guidelines
- Have a documented upgrade process that conform with our implementation guidelines
- Provide a mechanism by which support (community or otherwise) can be requested
- Provide a mechanism by which patches can be proposed
I'd hope that these apply to all services we develop, not just in-house ones. They seem pretty fundamental to maintainability (the ability to test locally, the ability for volunteers to get involved...)