Выбор лицензии с открытым исходным кодом для стандарта на основе XSD

У меня есть вопрос о проекте с открытым исходным кодом, который я планирую разместить (для размещения в Codeplex или Sourceforge).

Короче говоря, проект будет состоять из XSD-файла, определяющего схему для XML-файлов, которые необходимо придерживаться, и некоторого кода C# для работы с этими XML-файлами.

Но я не уверен, какую лицензию я должен дать, особенно файл XSD. Проект будет в основном библиотекой классов, поэтому я испытываю желание использовать LGPL, поэтому его можно использовать как в свободном, так и в проприетарном программном обеспечении.

Но с одной стороны, я не хочу, чтобы файл XSD мог быть изменен, потому что я пытаюсь установить стандарт для обмена данными в конкретной проблемной области, и, следовательно, нет смысла делать стандарт с открытым исходным кодом, или это?

Или я должен выпустить XSD как отдельный проект? Не уверен, что это правильный путь...

Спасибо за любые советы по этому вопросу.

Матье

1 ответ

Решение

Я думаю, что вы делаете большую ошибку. Фактически, я думаю, что файлы XSD должны быть выпущены под более либеральной лицензией.

Если кто-то хочет создать проприетарную версию HTML и разветвить Firefox для работы с ним, он создает только ненужную работу для себя. По большей части, это не вызывает никаких проблем для Mozilla или W3C, потому что никто не собирается заботиться или использовать его. Конечно, одно время и Netscape, и Microsoft пытались добавить проприетарные HTML-расширения. В конечном итоге Microsoft осознала ценность взаимодействия браузеров. NETscape не продержался достаточно долго, чтобы это имело значение.

Если вы установите ограничительную лицензию на схему, вы уменьшите вероятность того, что кто-нибудь примет ваш стандарт. Многие разработчики ограничены лицензиями компонентов, которые они могут использовать в своих проектах. Какой смысл иметь стандарт, если он открыт для всех разработчиков?

Имейте в виду, и файл XSD не является стандартом или схемой. Это только представление стандарта.

Например, если у вас есть XST XHTML, изменение XSD не изменит схему XHTML. Схема XHTML определяется английским документом, опубликованным W3C. Единственный способ изменить схему XHTML - заставить W3C публиковать и обновлять версию документа. Если вы измените XHMTL XSD, вы создали представление другой схемы.

Помещение XSD-файла под ограничительную лицензию ничего не делает для защиты вашей схемы, оно лишь заставляет кого-то с нуля кодировать новый XSD-файл для своих собственных расширений.

Считаете ли вы, что ваш стандарт может иметь недостатки или не покрывать определенные случаи использования, которые вы не рассматривали? Если ваш стандарт не может удовлетворить все потребности разработчика, он не будет его использовать. Вы можете пообещать внести улучшения в стандарты, но что произойдет, если вас сбьет автобус? Если вы единственный человек, который может на законных основаниях изменить стандарт, он в конечном итоге застаивается и становится неактуальным.

Другие вопросы по тегам