我已经下载了一些开源框架,目的是学习并最终为他们做出贡献。很多时候,框架需要使用我没有源代码的命名空间(例如Telerik.Web.MVC.UI),这引出了我的问题。
当命名空间提供核心功能时,框架是否真的是开源的?我可以欣赏免费获得的东西,但不禁质疑如何将其宣传为
答案 0 :(得分:5)
开源代码依赖闭源组件是很常见的。例如,依赖于Microsoft .net的任何开源代码都依赖于非常大量的封闭源代码。反过来,任何针对Windows本身的代码都依赖于封闭的源代码Windows代码。
您的示例与我的示例之间没有任何概念差异。
答案 1 :(得分:2)
首先,这里真正令你烦恼的是代码依赖于外部库。 名称空间只是一种引用它们的方式。
至于你的实际问题:嗯。从程序员的角度来看:他们公开了他们编写的所有代码。他们不能授予他们只导入的代码的权利。然而,不同“可见性”代码的集合在它们发生冲突时如何表现的问题实际上是一个强烈讨论的问题,例如,参见GPL(自由软件,所有派生的内容也将是免费的)和LGPL(自由软件)之间的区别,可用于非自由软件)。这是一个稍微不同的方面,它也是“另一个方向”(从图书馆到应用程序) - 仍然只是说这些都是重要的问题。
至于你的具体案例;可以把它称为开源,但它可能只是意味着单独使用开源的东西并不能使它成为一个有趣的源代码;)