如果一家公司从事 matlab 项目,那么他们如何向客户提供该项目?我的意思是他们将哪个文件发送给客户,因为他们无法向客户移交整个代码和数据?
这取决于很多事情,例如您为客户构建的产品的性质、您与他们的关系和合同协议,以及他们将来是否需要修改产品。
当我为公司提供 MATLAB 项目咨询时,我通常会向他们提供 MATLAB 源代码。合同的一部分通常会说他们拥有我为他们生成的代码(以及代码的版权),然后他们可以用它做几乎任何他们想做的事情。
如果您有不同的关系,您继续拥有代码并需要阻止他们阅读和/或修改它,那么问题实际上与任何其他语言相同:您依赖于技术的混合限制和法律限制,旨在根据您的需要进行限制,同时最大限度地减少最终用户的不便。
例如,
- 您可以使用以下命令混淆代码
pcode
。这将阻止几乎所有没有坚定决心的人查看您的代码并对其进行修改(尽管存在一些漏洞),但他们仍然能够在 MATLAB 中运行它。缺点可能是您的代码在 MATLAB 的未来版本中可能无法执行,因此您可能需要再次支持它才能稍后修复该问题。为了缓解这种情况,您可以在合同或许可协议中指定仅支持特定版本的 MATLAB。
- 您可以使用 MATLAB Compiler 生成包含加密形式代码的独立库或可执行文件。缺点可能是他们更愿意使用 MATLAB 内部的代码。一个好处是,与第一个选项不同,它不需要 MATLAB,因此您将来不会受到向后兼容性问题的影响。
- 您可以在 MATLAB 应用程序中包含许可证管理代码。您可以自己动手,也许可以通过调用一些 Java 来进行加密(您可能无法使其非常安全,除非您非常有才华,但您可能能够制作一些简单且可行的东西) ,或者您可以购买性能良好的第三方 C 库,并从 MATLAB 调用它们。
- 您可以简单地在代码中添加版权行,表明您拥有版权,并根据特定条款将代码许可给他们,例如他们可以查看、使用它,但不能修改或重新分发它。如果您确实愿意,您可以要求他们还签署一份保密协议,要求他们不得与第三方讨论代码的内容。
尽管 MATLAB 中可用的技术限制与 C 或 Java 等编译语言中的技术限制略有不同,但归根结底,这些限制只是为了让诚实的人保持诚实 - 任何有决心的人都能够绕过最终,他们很可能会给诚实的人带来不便,让他们讨厌你的产品或服务。
最好结合使用非常宽松的技术限制、清晰的合同和许可条款以及信任。
<advert> 我提供的咨询服务之一是为部署准备 MATLAB 代码(包括保护代码)提供建议和帮助。如果您认为您会从中受益,请与我们联系。 /advert>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)