我正在与一家小公司探讨合作关系。该公司正在寻找一种可以提高利润的算法,我有一些原型软件可以帮助他们。我的软件的核心是非常机密的,如果公司掌握它,那么他们肯定不需要我。我肯定会和他们签订合同,我会得到法律保护,但我仍然希望尽可能多地保护他们和我的“商业秘密”。
我可能必须与他们的开发人员密切合作,以自动化我的算法并将其集成到他们的系统中,但我想在DLL中提供核心功能,以便我可以保护我的“商业秘密”,但仍然有能力与开发人员合作。鉴于我的情况,混淆是否值得?还有其他合理的选择吗?
答案 0 :(得分:9)
我不知道这是否适合您,但您可以考虑使用WCF或Xml-rpc或REST或其他方式将该算法提供为网络服务。
当然是HTTPS。
这样他们就可以使用算法,但他们永远无法获得你的代码。
只要算法不需要太多往返或大量数据被传输,就应该可以工作。也就是说,只要该算法不需要实时使用且响应度<&lt; 100ms左右。
答案 1 :(得分:7)
选项1:Dotfuscator或类似产品
http://www.preemptive.com/products/dotfuscator/overview
选项2:对商业秘密所涵盖的部分使用C或C ++。
答案 2 :(得分:3)
混淆会让您更加了解IP保护。检查这个免费工具,它可能是一个很好的起点http://www.ntcore.com/phoenix.php
我认为真正保护您的知识产权的是合同和法律。确保在参与开始时明确定义,并制定协议以保护您的利益。