更改Java源代码将获得GPL?

时间:2014-07-15 20:09:17

标签: java

如果我复制并更改java的源代码并在我的商业软件中使用它,那么我的完整程序是否会获得GPL?

我需要更改TreeMap的功能。

1 个答案:

答案 0 :(得分:1)

你不应该改变TreeMap的源代码,而应该像escitalopram在评论中所说的那样扩展它:

class MyTreeMap extends TreeMap {
    void myShinyFunction() { ... }

    @Override
    void someNiceFunctionInTreeMap() { ... }
}

如果您没有扩展TreeMap的功能(例如,您希望由于某种原因而更改私有方法/字段而不是公共API),那么您应该自己实现一个新类,而不是修改源代码。 / p>

但要直接尝试回答原来的问题:

据我了解,Java SE位于Oracle Binary Code license

之下
  

Java SE继续在Oracle二进制代码许可下可用   (BCL)免费。

和OpenJDK源代码是released under GPL v2

  

OpenJDK在哪个开源许可下发布?

     

几乎所有虚拟机的GPL v2,以及GPL v2 +   类库的类路径异常和类的那些部分   公开API的虚拟机。

如果您修改了OpenJDK源代码并将其放入商业程序中,那么根据我的理解,您的整个程序需要是GPL。但是,我不是律师,这些信息可能不正确。如果您打算这样做,咨询一个是个好主意。