开源代码依赖闭源组件是很常见的。例如,任何依赖于 Microsoft .net 的开源代码都依赖于大量的封闭源代码。反过来,任何针对 Windows 本身的代码都依赖于闭源 Windows 代码。
你的例子和我上面的例子没有概念上的区别。
It's very common for open source code to rely on closed source components. For example any open source code relying on Microsoft .net relies on very large amounts of closed source code. In turn, any code that targets Windows itself depends on the closed source Windows code.
There's no conceptual difference between your examples and mine above.
First of all, what's really bugging you here is the fact that code relies on external libraries. The namespace is only a way of referencing them.
As for your actual question: Well. From the perspective of the programmers: They expose all code they have written. They cannot give rights to code they have only imported. However, the question of how collections of code of different "visibility" behave when they clash is in fact a strongly discussed one, see for example the difference between GPL (free software, everything derived will be free as well) and LGPL (free software, may be used in non-free software). This is a slightly different aspect, and it's also the "other direction" (from library to application)- still, just to say these are important questions.
As for your concrete case; it's probably ok to call it open source, but it might just mean that something being open source alone doesn't make it an interesting piece of source to look at ;)
发布评论
评论(2)
开源代码依赖闭源组件是很常见的。例如,任何依赖于 Microsoft .net 的开源代码都依赖于大量的封闭源代码。反过来,任何针对 Windows 本身的代码都依赖于闭源 Windows 代码。
你的例子和我上面的例子没有概念上的区别。
It's very common for open source code to rely on closed source components. For example any open source code relying on Microsoft .net relies on very large amounts of closed source code. In turn, any code that targets Windows itself depends on the closed source Windows code.
There's no conceptual difference between your examples and mine above.
首先,真正让您烦恼的是代码依赖于外部库。 命名空间只是引用它们的一种方式。
至于你的实际问题:嗯。从程序员的角度来看:他们公开了他们编写的所有代码。他们不能授予仅导入的代码的权利。然而,不同“可见性”的代码集合在冲突时如何表现的问题实际上是一个强烈讨论的问题,例如 GPL(自由软件,派生的所有内容也将是免费的)和 LGPL(自由软件)之间的区别,可用于非自由软件)。这是一个略有不同的方面,也是“另一个方向”(从库到应用程序)——不过,只是说这些都是重要的问题。
至于你的具体情况;称其为开源可能没问题,但这可能只是意味着某些东西本身是开源的并不能使它成为一个有趣的源代码;)
First of all, what's really bugging you here is the fact that code relies on external libraries. The namespace is only a way of referencing them.
As for your actual question: Well. From the perspective of the programmers: They expose all code they have written. They cannot give rights to code they have only imported. However, the question of how collections of code of different "visibility" behave when they clash is in fact a strongly discussed one, see for example the difference between GPL (free software, everything derived will be free as well) and LGPL (free software, may be used in non-free software). This is a slightly different aspect, and it's also the "other direction" (from library to application)- still, just to say these are important questions.
As for your concrete case; it's probably ok to call it open source, but it might just mean that something being open source alone doesn't make it an interesting piece of source to look at ;)