Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java字节码操作-许可问题?_Java_Assembly_Licensing_Bytecode Manipulation - Fatal编程技术网

Java字节码操作-许可问题?

Java字节码操作-许可问题?,java,assembly,licensing,bytecode-manipulation,Java,Assembly,Licensing,Bytecode Manipulation,如果我要发布一个对核心Java类(sun.*)进行字节码操作的实用程序,我应该担心许可问题吗 为了提供更多的上下文:为了运行自动回归测试套件,我们需要将自己的MockSystem.currentMillis()实现注入到调用原始java.lang.System.currentMillis()的地方 由于我认为这个小实用程序对许多开发人员都很有用,我现在想知道当我的(即将成为)MIT许可代码操纵许可代码时,是否会涉及许可问题。我不是律师,但一般来说,第三方代码的许可条款在您发送该第三方代码时生效

如果我要发布一个对核心Java类(sun.*)进行字节码操作的实用程序,我应该担心许可问题吗

为了提供更多的上下文:为了运行自动回归测试套件,我们需要将自己的
MockSystem.currentMillis()
实现注入到调用原始
java.lang.System.currentMillis()
的地方


由于我认为这个小实用程序对许多开发人员都很有用,我现在想知道当我的(即将成为)
MIT
许可代码操纵许可代码时,是否会涉及许可问题。

我不是律师,但一般来说,第三方代码的许可条款在您发送该第三方代码时生效

因此,如果您使用您的实用程序,然后发送由您的实用程序修改的代码,那么很可能会出现问题

但是,如果您只发送代码,而有人在他们的机器上使用您的代码(用于运行测试),而没有发送由您的实用程序修改的代码,那么许可问题就会降低

你的工具的用户需要确保他们遵守你的工具的许可证(MIT基本上是一个“这是代码,做你想做的,但如果它在你面前爆炸了不要怪我”的许可证,所以他们应该可以使用你的工具)并确保它们符合运行实用程序的代码的许可证


当然,如果他们不告诉任何人他们正在违反第三方许可证,并且没有人知道他们正在违反第三方许可证,那么他们自己的风险很低。。。但他们将不得不对更高的权力(如果有)负责,因为他们是一个不遵守许可证的坏人

我不是律师,但一般来说,第三方代码的许可条款在您发送该第三方代码时生效

因此,如果您使用您的实用程序,然后发送由您的实用程序修改的代码,那么很可能会出现问题

但是,如果您只发送代码,而有人在他们的机器上使用您的代码(用于运行测试),而没有发送由您的实用程序修改的代码,那么许可问题就会降低

你的工具的用户需要确保他们遵守你的工具的许可证(MIT基本上是一个“这是代码,做你想做的,但如果它在你面前爆炸了不要怪我”的许可证,所以他们应该可以使用你的工具)并确保它们符合运行实用程序的代码的许可证


当然,如果他们不告诉任何人他们正在违反第三方许可证,并且没有人知道他们正在违反第三方许可证,那么他们自己的风险很低。。。但他们将不得不对更高的权力(如果有)负责,因为他们是一个不遵守许可证的坏人

应该没有问题。如果字节码操作存在法律问题,那么我们早就听说了

NullUserException写入:


你最好问问律师


如果你想要一个有坚实法律基础的答案,那是真的。但我认为在这种情况下没有必要。只需简单阅读许可证即可。我看不到任何东西阻止您编写或发布字节码操作工具。

应该没有问题。如果字节码操作存在法律问题,那么我们早就听说了

NullUserException写入:


你最好问问律师


如果你想要一个有坚实法律基础的答案,那是真的。但我认为在这种情况下没有必要。只需简单阅读许可证即可。我看不到任何东西阻止您编写或发布字节码操作工具。

我是从java许可证获得的。随便你读吧


F.JAVA技术限制。您不得创建、修改或更改以任何方式标识为“java”、“javax”、“sun”、“oracle”的类、接口或子包的行为,也不得授权您的许可证持有人创建、修改或更改这些类、接口或子包的行为或Oracle在任何命名约定指定中指定的类似约定。

我从java许可证中获得了这一点。随便你读吧


F.JAVA技术限制。您不得创建、修改或更改以任何方式标识为“java”、“javax”、“sun”、“oracle”的类、接口或子包的行为,也不得授权您的许可证持有人创建、修改或更改这些类、接口或子包的行为或Oracle在任何命名约定中指定的类似约定。

您是否考虑过这一点:是的,我们考虑过。事实上,有计划的工作正是为了做到这一点——但一如既往,这需要时间,字节码操作库为我们提供了一个坚实的基础。你最好问一位律师。我投票结束这个问题,因为它是关于许可或法律问题,而不是编程或软件开发。详细信息,请参阅。您是否考虑过这一点:是的,我们考虑过。事实上,有计划的工作正是为了做到这一点——但一如既往,这需要时间,字节码操作库为我们提供了一个坚实的基础。你最好问一位律师。我投票结束这个问题,因为它是关于许可或法律问题,而不是编程或软件开发。有关详细信息,请参阅。如果您能提供指向此许可证的链接,那就太好了。但它只适用于您选择下载、安装或使用的二进制形式的“Java软件”。因此,它禁止我们替换或修改JRE发行版中的
System.class
二进制文件,但不禁止在执行某些Java组件时在内存中替换/修改
System
类的运行时映像