知识产权和缩小/混淆的JavaScript代码

时间:2016-06-23 11:54:38

标签: javascript minify deobfuscation unminify

我们的供应商为我们提供了一个javascript库,我们在客户端使用它来进行一些数据收集,并在使用Ajax发送(到他们的收集服务器)之前加密数据。

他们缩小/混淆了javascript,以便我们可以轻松地从代码中告诉他们收集的内容。

我们已经问过他们是否可以提供一个未缩小/解除歧视的版本,以便我们可以在出现问题时进行调试,但他们拒绝了,原因是它的知识产权。

我的问题是,因为我们已将所有代码下载到每个用户的浏览器中,理论上我们无论如何都可以手动解码它。他们是否真的能够不向我们提供未缩小/去混淆的代码?

4 个答案:

答案 0 :(得分:2)

  

他们是否真的能够不向我们提供未缩小/去混淆的代码?

是。除非您与他们有协议,要求他们提供原始源代码,否则他们不必这样做;即没有法律义务。

假设他们编写了代码,我不会说他们也有道德义务。这包括您支付给他们编写代码的情况,但您并不要求他们为您提供源代码。 (例如,他们可能会向您收取低于开发成本的费用,因为他们希望通过向其他客户销售相同的代码来收回成本。)

如果他们没有编写代码,情况会有所不同,但他们是从开源代码中获取的。然后可能要求他们提供源代码......取决于原始作品的开源许可证。例如,如果您要求,GPL许可证将强制他们提供源代码(包括其修改的源代码)。

答案 1 :(得分:1)

所以这里有两个问题。 第一个问题是关于法律。如果他们是此代码的所有者,他们可以确定使用此代码的任何变体。如果他们买了它们,他们的权利就受到协议的限制。

第二个问题是关于这样做的意义。没有明确的答案。我认为(但这只是我的观点),在开发过程中隐藏代码并不是一个好主意。但是......先看点。

答案 2 :(得分:0)

这是一个很好的工具。

http://jsbeautifier.org/

但如果您未经许可使用您的代码,则可能会遇到法律问题。

虽然很难屏蔽浏览器中显示的代码......

答案 3 :(得分:0)

不,他们没有义务,但是,您可以使用自动化工具来消除它。在这一点上,任何优秀的开发人员都可以查看代码并了解正在发生的事情,无论如何都足以进行调试。您也可以进行反混淆处理,但这取决于代码的复杂程度,拥有源代码的重要性,以及您愿意花费多少小时。