I’m not trying to convert Arnab to linux just yet, since he’s been the main Windows tester that ensures compatibility of development codebase with OpenEMR. He’s taking one for the team
For his testing copy, best to do on same OS as his production copy.
For LM 17, the relocation is not that big of a deal (anymore, at least) since a user can either install the ubuntu package and not worry about the path or install the tarball into the new /var/www/html path.
ZH is using Zend Framework for new functionality. That is based on concept of modules. If you write code using that architecture you will ‘publish’ it to installer and users have option to activate that ‘module’. Unless entire project moves to ZF2, you should still be able to do write your own modules old way.