Of course, anyone can change the permissions and ownership to their liking after downloading the project (or maybe they are on other platforms) but is there a best-practice on what to set owner, user and group to initially?
Just leave the ownership to default values. Once someone clones a repository on their machine, they'll become the owner.
Same for ...
The only way I know you could solve is by find a trusted third party, hand your code over to them and let them compile and run it (maybe on a neutral cloud platform). If you want to provide / host the server on your own, you will probably have to let the trusted third party audit your internal processes.
No that is impossible. Even if you included a service method that has some challenge/response mechanism, the service provider could run a proxy and pass on the request. And any mechanism could be reproduced easily because it is all open.
Even knowing they are running the same sever would not guarantee it would behave as expected. Results could be input ...
This question was asked a really long time ago, but saying as you didn't mark a solution, I think I'll add a contribution.
Basing of my experience with open source, you should consider a few things before setting up structure.
Things to consider
Language and Technology: Frameworks and languages dictate a lot of what your structure should look like. For ...