智力属性和minified/obfuscatedjavascript代码
Intellectual property and minified/obfuscated javascript code
我们的供应商为我们提供了一个 javascript 库,我们在客户端使用它来收集一些数据,他们在使用 Ajax 发送(到他们的收集服务器)之前加密数据。
他们 minified/obfuscated javascript 因此我们无法从代码中轻易分辨出他们在收集什么。
我们问过他们是否可以提供一个 un-minified/de-obfucated 版本,以便我们可以在出现问题时进行调试,但他们拒绝了,原因是他们的知识 属性。
我的问题是,因为我们已经将所有代码下载到每个用户的浏览器,理论上我们无论如何都可以手动解码。他们真的可以不向我们提供 un-minified/de-obfuscated 代码吗?
Are they really in the position to NOT provide us the un-minified/de-obfuscated code?
是的。除非您与他们有 协议 要求他们提供原始源代码,否则他们不必这样做;即没有法律义务。
假设他们写了代码,我不会说他们也有道德义务。这包括您付钱让他们为您编写代码,但您并不要求他们为您提供源代码的情况。 (例如,他们向您收取的费用可能低于开发成本,因为他们希望通过将相同的代码出售给其他客户来收回成本。)
如果代码不是他们写的,但他们是从开源代码中派生出来的,情况就不同了。然后可能会要求他们提供源代码……这取决于原始作品的开源许可。例如,如果您要求,GPL 许可证将强制他们提供源代码(包括他们修改的源代码)。
所以这里我们有两个问题。
第一个问题是关于法律的。如果他们是此代码的所有者,则他们可以确定使用此代码的任何变体。如果他们买了,他们的权利将受到协议的限制。
第二个问题是关于这样做的感觉。没有明确的答案。我认为(但这只是我的意见)在开发过程中对您隐藏代码并不是一个好主意。但是……先看点。
这是一个很好的工具。
但如果未经许可使用您的代码,您可能会遇到法律问题。
虽然很难屏蔽浏览器中显示的代码...
不,他们没有义务,但是,您可以使用自动化工具取消它。到那时,任何优秀的开发人员都可能会查看代码并大致了解正在发生的事情,足以进行调试。您也可以进行去混淆处理,但这取决于代码的复杂程度、拥有源代码对您的重要性以及您愿意花费多少开发时间。
我们的供应商为我们提供了一个 javascript 库,我们在客户端使用它来收集一些数据,他们在使用 Ajax 发送(到他们的收集服务器)之前加密数据。
他们 minified/obfuscated javascript 因此我们无法从代码中轻易分辨出他们在收集什么。
我们问过他们是否可以提供一个 un-minified/de-obfucated 版本,以便我们可以在出现问题时进行调试,但他们拒绝了,原因是他们的知识 属性。
我的问题是,因为我们已经将所有代码下载到每个用户的浏览器,理论上我们无论如何都可以手动解码。他们真的可以不向我们提供 un-minified/de-obfuscated 代码吗?
Are they really in the position to NOT provide us the un-minified/de-obfuscated code?
是的。除非您与他们有 协议 要求他们提供原始源代码,否则他们不必这样做;即没有法律义务。
假设他们写了代码,我不会说他们也有道德义务。这包括您付钱让他们为您编写代码,但您并不要求他们为您提供源代码的情况。 (例如,他们向您收取的费用可能低于开发成本,因为他们希望通过将相同的代码出售给其他客户来收回成本。)
如果代码不是他们写的,但他们是从开源代码中派生出来的,情况就不同了。然后可能会要求他们提供源代码……这取决于原始作品的开源许可。例如,如果您要求,GPL 许可证将强制他们提供源代码(包括他们修改的源代码)。
所以这里我们有两个问题。 第一个问题是关于法律的。如果他们是此代码的所有者,则他们可以确定使用此代码的任何变体。如果他们买了,他们的权利将受到协议的限制。
第二个问题是关于这样做的感觉。没有明确的答案。我认为(但这只是我的意见)在开发过程中对您隐藏代码并不是一个好主意。但是……先看点。
这是一个很好的工具。
但如果未经许可使用您的代码,您可能会遇到法律问题。
虽然很难屏蔽浏览器中显示的代码...
不,他们没有义务,但是,您可以使用自动化工具取消它。到那时,任何优秀的开发人员都可能会查看代码并大致了解正在发生的事情,足以进行调试。您也可以进行去混淆处理,但这取决于代码的复杂程度、拥有源代码对您的重要性以及您愿意花费多少开发时间。