为了账号安全,请及时绑定邮箱和手机立即绑定

JAVA开源是什么意思?标准C和C++是不是开源的?

JAVA开源是什么意思?标准C和C++是不是开源的?

心有法竹 2019-02-14 15:11:37
JAVA开源是什么意思?标准C和C++是不是开源的?
查看完整描述

2 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

一种语言有很多实现。你说的是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下用。

强调的是,不是说只要公开就是开源,实际上还有其他版权的一些条款,你必须符合某种开源的版权。还有不是说开源的你就可以随便用了,有很多开源产品都有类似“强盗”的条款:粗略地说,只要你用了它的代码,你的代码也必须开源,否则就侵权了。如果做商用,必须仔细看你用的每一个开源库的版权声明,看是否要求你也开源。

查看完整回答
反对 回复 2019-03-01
?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

开源不是开放编译器的源代码.
通俗点说, 就是你写了一个软件, 然后把这个软件的源代码发布到网上, 让大家都可以学习,改进. 就是开源!
专业点说, 就是要符合一定的规范, 比如GPL等. 在codeproject等你可以找到很多这样的开源软件.
貌似现在就JAVA是开源的

查看完整回答
反对 回复 2019-03-01
  • 2 回答
  • 0 关注
  • 1077 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信