open-source - 为基于 XSD 的标准选择开源许可证

标签 open-source licensing xsd lgpl

<分区>

有一个关于我计划实现的开源项目的问题(托管在 Codeplex 或 Sourceforge)。

简而言之,该项目将包含一个 XSD 文件,用于定义要遵循的 XML 文件架构,以及一些用于处理这些 XML 文件的 C# 代码。

但我不确定我应该给它什么许可证,尤其是 XSD 文件。该项目将主要是一个类库,所以我很想使用 LGPL,这样它就可以被免费和专有软件使用。

但有一件事是,我不希望 XSD 文件能够被更改,因为我正试图建立一个特定问题域的数据共享标准,而我认为这没有意义做一个标准的开源,还是?

或者我应该将 XSD 作为一个单独的项目发布吗?不确定什么是正确的方法...

感谢您对此事的任何建议。

马修

最佳答案

我认为你犯了一个大错误。事实上,我认为 XSD 文件应该在更自由的许可下发布。

如果有人想创建一个专有版本的 HTML 并 fork Firefox 来使用它,他们只是在为自己做不必要的工作。大多数情况下,它不会给 Mozilla 或 W3C 带来任何问题,因为没有人会关心或使用它。诚然,Netscape 和 Microsoft 曾一度试图添加专有的 HTML 扩展。微软最终意识到了浏览器互操作性的值(value)。 Netscape 的持续时间还不够长,以至于它不再重要。

如果您对架构设置限制性许可,您将降低任何人采用您的标准的可能性。许多开发人员受到他们可以在项目中使用的组件的许可证的限制。除非它对所有开发人员开放,否则制定标准有什么意义?

请记住,XSD 文件 不是标准 或模式。它只是标准的表示

例如,如果您有一个 XHTML XSD,则更改 XSD 不会更改 XHTML 架构。 XHTML 模式由 W3C 发布的英文文档定义。改变 XHTML 架构的唯一方法是让 W3C 发布和更新版本的文档。如果更改 XHMTL XSD,则创建了不同架构的表示。

将 XSD 文件置于限制性许可之下并不能保护您的架构,它只会迫使某人从头开始编写新的 XSD 文件以用于其专有扩展。

您是否考虑过您的标准可能存在缺陷,或者未涵盖您未考虑的某些用例?如果您的标准不能满足开发人员的所有需求,他们就不会使用它。你可以 promise 对标准进行改进,但如果你被公共(public)汽车撞了怎么办?如果您是唯一可以合法更改标准的人,它最终会停滞不前并变得无关紧要。

关于open-source - 为基于 XSD 的标准选择开源许可证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5052135/

相关文章:

linux - 'ls' 命令在 Linux/Unix 中如何工作?

java webapps 并将现有项目开源到 github - 属性文件

linux - Squid 代理服务器管理界面

java - 如何为我的 Java 软件创建许可证?

windows - Windows 附带的字体许可证?

xml - 出现在 Web 服务模式中的 tns

python - 对作为网络服务运行的程序进行逆向工程, future ?

open-source - 我应该使用什么 OSS 许可证?

reference - XSD 架构是否可以在其中包含另一个 XSD 的内容?

java - 为什么 XML 注释不应该包含隐藏命令?