1 回答

TA貢獻1877條經(jīng)驗 獲得超6個贊
一種語言有很多實現(xiàn)。你說的是sun公司的java,其他公司也有java的版本,比如ibm,還有g(shù)nu的Java。 語言本身是一種標(biāo)準(zhǔn),沒有開源不開源的說法,除非大家有種默認的說法。例如如果沒有特指其他的java,java自然直sun公司的java。
開源指的是語言的實現(xiàn)是開源的。比如c,有turbo c,源代碼不公開的,就不是開源的。但是linux下默認的gcc是更符合c/c++標(biāo)準(zhǔn)的一種實現(xiàn),同時也是開源的。而微軟的各種c/C++實現(xiàn)(visualc++)就不是開源的。
如果某種語言所有的實現(xiàn)都不是開源的,那它就不是開源的。例如C#過去可以認為它不是開源的,因為僅有的實現(xiàn)visual c#不開源。但c#是一種國際標(biāo)準(zhǔn),如果有能力誰都可以做出自己的實現(xiàn),像現(xiàn)在有了Mono project,它是一個開源的c#實現(xiàn),甚至可以在linux下用。
強調(diào)的是,不是說只要公開就是開源,實際上還有其他版權(quán)的一些條款,你必須符合某種開源的版權(quán)。還有不是說開源的你就可以隨便用了,有很多開源產(chǎn)品都有類似“強盜”的條款:粗略地說,只要你用了它的代碼,你的代碼也必須開源,否則就侵權(quán)了。如果做商用,必須仔細看你用的每一個開源庫的版權(quán)聲明,看是否要求你也開源。
- 1 回答
- 0 關(guān)注
- 1340 瀏覽
添加回答
舉報