I have a relatively large C# project. I want to allow other developers to collaborate with me on the project. But I'm afraid they will copy the source code verbatim. I want to protect my code. Is there a way I could grant collaborators usage of existing .dll's w/o them able to read the source code? Or grant them temporary access to the .dll's and later when they roll off the project just disable their ability to use the .dll?
Absolutely, you can give other people DLLs without access to the source code. In most situations like this, you would obfuscate the dll (many tools to do this, I would start with the Dotfuscator included with Visual Studio) so they can't decompile it.
If you want them to be able to see the source, there isn't much you can do to avoid them copying it, same with "disabling their ability to use it". If they have a copy of the file, there isn't much you can stop them from doing (technologically speaking). The only security I can think of for that would be to have all public functions check against some server before executing (thus making the DLL useless if you have that server not allow them to run), but that isn't 100% and would make for a terrible experience for end-users of the code.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With