如果公司在matlab项目上工作,那么他们如何为客户提供项目?我的意思是他们发送给客户端的文件是什么,因为他们无法将整个代码和数据交给客户端?
答案 0 :(得分:4)
这取决于很多事情,例如您为客户建立的产品的性质,您与他们的关系和合同协议,以及他们是否需要在将来修改产品。
当我为公司进行MATLAB项目咨询时,我通常会为它们提供MATLAB源代码。合同的一部分通常会说他们拥有我为他们制作的代码(以及代码的版权),然后他们可以随心所欲地做任何事情。
如果你有不同的关系,你继续拥有代码并且需要阻止他们阅读和/或修改它,那么问题就像任何其他语言一样:你依赖于技术限制和法律限制的混合,旨在尽可能限制,同时最大限度地减少对最终用户的不便。
例如,
pcode
对代码进行模糊处理。这将阻止几乎所有不确定的人看到你的代码并修改它(虽然有一些漏洞),但他们仍然能够在MATLAB中运行它。缺点可能是您的代码可能在将来的MATLAB版本中变得不可执行,因此您可能需要再次支持它以便以后修复它。为了缓解这种情况,您可以在合同或许可协议中指定仅支持特定版本的MATLAB。尽管MATLAB中可用的技术限制与C或Java等编译语言略有不同,但最终只能保证诚实的人诚实 - 任何坚定的人都能做到最终绕过他们,他们可能会给诚实的人带来不便,让他们不喜欢你的产品或服务。
最好使用非常轻的技术限制,明确的合同和许可条款以及信任。
< 广告>我提供的咨询服务之一是为部署准备MATLAB代码提供建议和帮助,包括保护它。如果您认为自己从中受益,请与我们联系。 < /广告>
答案 1 :(得分:0)
您可以使用Matlab编译器将代码编译为windows的exe文件。这是公司通常所期望的。有些R& D本身可能会根据您与他们的关系/合同要求您提供原始的m代码或特定功能。我被要求多次提供m代码,并且根据我的合同说我想向他们提供这些信息。 (英国)