如何给客户端一个matlab项目?

时间:2014-12-08 05:07:30

标签: matlab

如果公司在matlab项目上工作,那么他们如何为客户提供项目?我的意思是他们发送给客户端的文件是什么,因为他们无法将整个代码和数据交给客户端?

2 个答案:

答案 0 :(得分:4)

这取决于很多事情,例如您为客户建立的产品的性质,您与他们的关系和合同协议,以及他们是否需要在将来修改产品。

当我为公司进行MATLAB项目咨询时,我通常会为它们提供MATLAB源代码。合同的一部分通常会说他们拥有我为他们制作的代码(以及代码的版权),然后他们可以随心所欲地做任何事情。

如果你有不同的关系,你继续拥有代码并且需要阻止他们阅读和/或修改它,那么问题就像任何其他语言一样:你依赖于技术限制和法律限制的混合,旨在尽可能限制,同时最大限度地减少对最终用户的不便。

例如,

  1. 您可以使用命令pcode对代码进行模糊处理。这将阻止几乎所有不确定的人看到你的代码并修改它(虽然有一些漏洞),但他们仍然能够在MATLAB中运行它。缺点可能是您的代码可能在将来的MATLAB版本中变得不可执行,因此您可能需要再次支持它以便以后修复它。为了缓解这种情况,您可以在合同或许可协议中指定仅支持特定版本的MATLAB。
  2. 您可以使用MATLAB Compiler生成包含加密形式代码的独立库或可执行文件。缺点可能是他们宁愿使用MATLAB中的代码。一个好处是,与第一个选项不同,它不需要MATLAB,因此您将来不会受到向后兼容性问题的影响。
  3. 您可以在MATLAB应用程序中包含许可证管理代码。您可以自己动手,也许可以通过调用一些Java进行加密(除非您非常有才能,否则您可能无法使其变得非常安全,但您可能能够做出一些东西简单且可行的,或者你可以购买做得好的第三方C库,并从MATLAB中调用它们。
  4. 您可以简单地在您的代码中加入版权专线,说明您拥有版权,并根据特定条款将代码许可给他们,例如他们可以查看,使用,但不能修改或重新分发。如果您真的想要,您可以要求他们签署保密协议,要求他们不要与第三方讨论代码内容。
  5. 尽管MATLAB中可用的技术限制与C或Java等编译语言略有不同,但最终只能保证诚实的人诚实 - 任何坚定的人都能做到最终绕过他们,他们可能会给诚实的人带来不便,让他们不喜欢你的产品或服务。

    最好使用非常轻的技术限制,明确的合同和许可条款以及信任。

    < 广告>我提供的咨询服务之一是为部署准备MATLAB代码提供建议和帮助,包括保护它。如果您认为自己从中受益,请与我们联系。 < /广告>

答案 1 :(得分:0)

您可以使用Matlab编译器将代码编译为windows的exe文件。这是公司通常所期望的。有些R& D本身可能会根据您与他们的关系/合同要求您提供原始的m代码或特定功能。我被要求多次提供m代码,并且根据我的合同说我想向他们提供这些信息。 (英国)