开源到底要开什么地方的源

lulianqi 2016-01-19 12:19:07
关于“.NET没有开源” 这个问题其实自己一直都是迷迷糊糊搞不清楚,到底是什么意思

jdk的类库可以通过导入源码包看到源码。
.NET的自己的类库不是也都可以通过Reflector 看到易读的源代码么。vs本身也带工具可以看IL码

那开源到底是要开什么源,难道是指clr , jvm这种的源码,自己从来没有搞清楚过。

可能问的有点LOW,还希望知道的大神解释一下。
...全文
271 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
cheng2005 2016-01-19
  • 打赏
  • 举报
回复
framework源码 http://referencesource.microsoft.com/
  • 打赏
  • 举报
回复
开源精神中的“开”的意思就是搞一个行业的政策的自由化,并且用最“狠”的办法传播复制这种自由化。不是指让别人可以阅读。
liups 2016-01-19
  • 打赏
  • 举报
回复
从技术上说,.net可以进行代码混淆,这样反编译出来的源码没有可阅读性。比如VS中自带的Dotfuscator就是作这个的
lulianqi 2016-01-19
  • 打赏
  • 举报
回复
那是不是说 其实最终都只剩下 法律跟规范的问题。 即使看到了源码也是不被承认的,就像厂里生产了2件衣服,一件被厂家授权是XX品牌,那另外一件即使一模一样也得不到认可,不能在市场上宣称自己是XX品牌。 能这样理解么?
  • 打赏
  • 举报
回复
在 Mono 项目中,程序员阅读 .net framework 的源代码,但是自己发明了许多新的兼容的设计做法来与 .net 进行底层交互操作。然后 Mono 是开源的,所以全世界的程序员都喜欢在阅读 .net framework的源代码的同时,也研究 Mono 的不一样的实现方法,甚至直接引用 Mono 的而不是 .net framework 的类库。 微软的开源,看似是 Mono 可以直接使用它的源代码而不用自己研发了,实际上也是可以通过一段时间之后让 Mono 变成废物的一种手段。 .net framework 以前不开源不是什么“不让阅读和学习.net 的源代码”。绝不是这个意思。有些别有用心的人用这个“不开源”来攻击微软而已。
  • 打赏
  • 举报
回复
开源精神大致是这样的原则:如果你用了开源软件源代码(而不是闭源的编译发布的二进制产品)到自己的代码中,那么你必须也开源自己的整个产品源代码。 所以当我在 InfoQ 看到有些公司的讲师特别去表示自己的公司的“框架”已经开源了,我总是觉得这些人非常地虚伪。你既然在人家开源软件的基础上对人家的代码做了修改,你现在又想来在 InfoQ 上给你自己的产品或者“平台”打广告,就必须开源自己的产品,否则(按说,如国内的法院受理这类诉讼的话)就是违法的。
xuzuning 2016-01-19
  • 打赏
  • 举报
回复
微软12014年11月13日宣布更多.NET的部分将纳入开源计划之中,包含整个.NET服务器端的核心类别,ASP.NET 5.0、.NET Common Language Runtime(CLR)、Just-In-Time Compiler、Garbage Collector以及Base Class Libraries等,都在开源的范畴之中。 开放源码并不表示没有版权,这一点在开源协议中说的很清楚了
  • 打赏
  • 举报
回复
引用 楼主 lulianqi 的回复:
关于“.NET没有开源” 这个问题其实自己一直都是迷迷糊糊搞不清楚,到底是什么意思 jdk的类库可以通过导入源码包看到源码。 .NET的自己的类库不是也都可以通过Reflector 看到易读的源代码么。vs本身也带工具可以看IL码 那开源到底是要开什么源,难道是指clr , jvm这种的源码,自己从来没有搞清楚过。 可能问的有点LOW,还希望知道的大神解释一下。
比如说你往一个垃圾场上扔东西、同时也可以去捡东西(至少有些人的吃穿用都靠垃圾场),那么那些人就认为这就是开源的好处。以前,开源其实一大堆互不兼容、混乱的垃圾软件的代名词。但是最近4、5年,有1%的代码质量提高了、流行了,所以开源也提高了信用度。 开源不是说源代码可以读取。早在几十年前,windows系统的源代码就可以被许多微软公司的合作公司人员读取。而且任何项目的程序员也能读取源代码。主要是法律和协议问题。只要解决法律声明问题,就行了。
  • 打赏
  • 举报
回复
开源还包含了开源协议,不是说可以看源代码就是开源了
lulianqi 2016-01-19
  • 打赏
  • 举报
回复
引用 2 楼 starfd 的回复:
http://baike.baidu.com/link?url=GngyWPgNiOe04h07ABh0LgyeDxOaiuZJjwUXP3qVSt6nN-NAhbv4aE2stWcK4td6ezerIWiqmCcH0wqG53I68q 简单的你可以认为就是开放源代码
我是不理解到底要开放哪些源代码,因为我的认识是.NET的库通过Reflector 这种工具好像都是可以看到源代码的。 是不是不止要开放这些库的源代码,还有什么需要开发出来。
lulianqi 2016-01-19
  • 打赏
  • 举报
回复
引用 1 楼 wddw1986 的回复:
framework源码 http://referencesource.microsoft.com/
这样的代码通过 .NET Reflector 这类工具, 不是一直都可以看到么

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧