我下载了一些开源框架,目的是学习并最终为它们做出贡献。很多时候,框架需要使用我没有源代码的名称空间(例如Telerik.Web.MVC.UI),这让我想到了我的问题。
当命名空间提供核心功能时,框架真的是开源的吗?我很感激免费获得一些东西,但不禁要问,这怎么能被宣传为“完全开源”呢?我是否误解了.NET中的命名空间?
发布于 2011-06-01 09:22:28
开放源代码依赖于封闭源代码组件是非常常见的。例如,任何依赖于Microsoft .net的开放源代码都依赖于大量的封闭源代码。反过来,任何针对Windows本身的代码都取决于关闭的Windows源代码。
你的例子和上面我的例子没有概念上的区别。
发布于 2011-06-01 09:22:55
首先,真正困扰您的是代码依赖于外部库这一事实。命名空间只是引用它们的一种方式。
至于你的实际问题:嗯。从程序员的角度看:他们公开了他们编写的所有代码。它们不能授予只导入的代码的权限。然而,不同“可见性”的代码集合在冲突时如何表现的问题实际上是一个激烈讨论的问题,例如,看看GPL (自由软件,衍生的一切都将是免费的)和LGPL (自由软件,可以用于非自由软件)之间的区别。这是一个稍微不同的方面,它也是“其他方向”(从库到应用程序)-尽管如此,这些都是重要的问题。
至于你的具体情况,把它称为开源也许是可以的,但这可能只是意味着,仅仅是开放源码并不能使它成为一个有趣的源代码;)
https://stackoverflow.com/questions/6198668
复制相似问题