JAVA開源是什么意思?標準C和C++是不是開源的?
1 回答

白板的微信
TA貢獻1883條經驗 獲得超3個贊
一種語言有很多實現。你說的是sun公司的java,其他公司也有java的版本,比如ibm,還有gnu的Java。 語言本身是一種標準,沒有開源不開源的說法,除非大家有種默認的說法。例如如果沒有特指其他的java,java自然直sun公司的java。
開源指的是語言的實現是開源的。比如c,有turbo c,源代碼不公開的,就不是開源的。但是linux下默認的gcc是更符合c/c++標準的一種實現,同時也是開源的。而微軟的各種c/C++實現(visualc++)就不是開源的。
如果某種語言所有的實現都不是開源的,那它就不是開源的。例如C#過去可以認為它不是開源的,因為僅有的實現visual c#不開源。但c#是一種國際標準,如果有能力誰都可以做出自己的實現,像現在有了Mono project,它是一個開源的c#實現,甚至可以在linux下用。
強調的是,不是說只要公開就是開源,實際上還有其他版權的一些條款,你必須符合某種開源的版權。還有不是說開源的你就可以隨便用了,有很多開源產品都有類似“強盜”的條款:粗略地說,只要你用了它的代碼,你的代碼也必須開源,否則就侵權了。如果做商用,必須仔細看你用的每一個開源庫的版權聲明,看是否要求你也開源。
添加回答
舉報
0/150
提交
取消