Discussion:
Source for winucase.c
Ben Hutchings
2013-10-18 01:04:29 UTC
Permalink
fs/cifs/winucase.c is commented as:

* The const tables in this file were converted from the following info
* provided by Microsoft:
*
* 3.1.5.3 Mapping UTF-16 Strings to Upper Case:
*
* http://msdn.microsoft.com/en-us/library/hh877830.aspx
* http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=10921
*
* In particular, the table in "Windows 8 Upper Case Mapping Table.txt" was
* post-processed using the winucase_convert.pl script.

Isn't "Windows 8 Upper Case Mapping Table.txt" then the preferred form
for modification of the tables? In which case, it should be included in
the kernel sources.

Also, shouldn't this file acknowledge Microsoft's copyright, if it's a
derivative work of their file?

Ben.
--
Ben Hutchings
Horngren's Observation:
Among economists, the real world is often a special case.
Jeff Layton
2013-10-18 10:43:05 UTC
Permalink
On Fri, 18 Oct 2013 02:04:29 +0100
Post by Ben Hutchings
* The const tables in this file were converted from the following info
*
*
* http://msdn.microsoft.com/en-us/library/hh877830.aspx
* http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=10921
*
* In particular, the table in "Windows 8 Upper Case Mapping Table.txt" was
* post-processed using the winucase_convert.pl script.
Isn't "Windows 8 Upper Case Mapping Table.txt" then the preferred form
for modification of the tables? In which case, it should be included in
the kernel sources.
Also, shouldn't this file acknowledge Microsoft's copyright, if it's a
derivative work of their file?
Ben.
(cc'ing samba-technical and Bradley Kuhn in the hopes that he can help
clarify)

Good questions. I'm not certain on either point. When I queried the MS
folks about the licensing on that file, they said:

"I discovered the content you used is in fact referenced by the
MS-UCODEREF document, in section 3.1.5.2.3.1 Windows Sorting Weight
Table. I discussed with the appropriate folks here, and for use in
Samba it's certainly covered under Samba's existing PFIF license."

Bradley, any thoughts as to Ben's questions?
--
Jeff Layton <jlayton-H+wXaHxf7aLQT0dZR+***@public.gmane.org>
Simo
2013-10-18 14:11:38 UTC
Permalink
Post by Jeff Layton
On Fri, 18 Oct 2013 02:04:29 +0100
Post by Ben Hutchings
* The const tables in this file were converted from the following info
*
*
* http://msdn.microsoft.com/en-us/library/hh877830.aspx
* http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=10921
*
* In particular, the table in "Windows 8 Upper Case Mapping Table.txt" was
* post-processed using the winucase_convert.pl script.
Isn't "Windows 8 Upper Case Mapping Table.txt" then the preferred form
for modification of the tables? In which case, it should be included in
the kernel sources.
Also, shouldn't this file acknowledge Microsoft's copyright, if it's a
derivative work of their file?
Ben.
(cc'ing samba-technical and Bradley Kuhn in the hopes that he can help
clarify)
Good questions. I'm not certain on either point. When I queried the MS
"I discovered the content you used is in fact referenced by the
MS-UCODEREF document, in section 3.1.5.2.3.1 Windows Sorting Weight
Table. I discussed with the appropriate folks here, and for use in
Samba it's certainly covered under Samba's existing PFIF license."
Bradley, any thoughts as to Ben's questions?
The file from Microsoft in fact does not contain a Copyright Header.

IANAL, but a collection of facts is hardly copyrightable material
anyway.

These tables cannot be arbitrarily changed some even if they were
copyrightable they would probably fall under various fair use or
interoperability exceptions in different laws at least in US and EU.

Simo.
Jeff Layton
2013-10-18 14:58:15 UTC
Permalink
On Fri, 18 Oct 2013 10:11:38 -0400
Post by Simo
Post by Jeff Layton
On Fri, 18 Oct 2013 02:04:29 +0100
Post by Ben Hutchings
* The const tables in this file were converted from the following info
*
*
* http://msdn.microsoft.com/en-us/library/hh877830.aspx
* http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=10921
*
* In particular, the table in "Windows 8 Upper Case Mapping Table.txt" was
* post-processed using the winucase_convert.pl script.
Isn't "Windows 8 Upper Case Mapping Table.txt" then the preferred form
for modification of the tables? In which case, it should be included in
the kernel sources.
Also, shouldn't this file acknowledge Microsoft's copyright, if it's a
derivative work of their file?
Ben.
(cc'ing samba-technical and Bradley Kuhn in the hopes that he can help
clarify)
Good questions. I'm not certain on either point. When I queried the MS
"I discovered the content you used is in fact referenced by the
MS-UCODEREF document, in section 3.1.5.2.3.1 Windows Sorting Weight
Table. I discussed with the appropriate folks here, and for use in
Samba it's certainly covered under Samba's existing PFIF license."
Bradley, any thoughts as to Ben's questions?
The file from Microsoft in fact does not contain a Copyright Header.
Right, that was the main reason I asked MS about the license on that
file. Since they said the facts within it were covered by the PFIF, I
decided to roll with that.

This is somewhat similar to what we do with protocol level constants
that we have to send on the wire. Granted there that we usually do copy
them by hand.
Post by Simo
IANAL, but a collection of facts is hardly copyrightable material
anyway.
These tables cannot be arbitrarily changed some even if they were
copyrightable they would probably fall under various fair use or
interoperability exceptions in different laws at least in US and EU.
I think the main question at this point is whether the post-processing
of that file into a set of C tables construes a derived work. I tend to
think not, since it is just a collection of facts, but maybe it is...

I suppose we could copy the info from MS-UCODEREF by hand if it's a
problem, but....ick.
--
Jeff Layton <jlayton-H+wXaHxf7aLQT0dZR+***@public.gmane.org>
Bradley M. Kuhn
2013-10-18 18:47:42 UTC
Permalink
Jeff,

Thanks very much for bringing Conservancy into this thread.
Post by Jeff Layton
Bradley, any thoughts as to Ben's questions?
On behalf of the Samba project (which is a member project of
Conservancy), I want to study this question with the benefit Samba's and
Conservancy's legal counsel (who is Conservancy's General Counsel, Tony
Sebro (cc'ed)). We're going to look into this issue and we'll report
back conclusions to the list here.

It may take us a bit of time. Even seemingly simple questions like this
often end up requiring more research and careful investigation than it
seems it should. :) In particular, questions that have interrelated
copyright and contractual agreements involved can often be like that.

Feel free to ping me if you want a status update on our progress at any
point.
--
Bradley M. Kuhn, Executive Director, Software Freedom Conservancy
Jeff Layton
2013-10-18 19:56:42 UTC
Permalink
On Fri, 18 Oct 2013 11:47:42 -0700
Post by Bradley M. Kuhn
Jeff,
Thanks very much for bringing Conservancy into this thread.
Post by Jeff Layton
Bradley, any thoughts as to Ben's questions?
On behalf of the Samba project (which is a member project of
Conservancy), I want to study this question with the benefit Samba's and
Conservancy's legal counsel (who is Conservancy's General Counsel, Tony
Sebro (cc'ed)). We're going to look into this issue and we'll report
back conclusions to the list here.
It may take us a bit of time. Even seemingly simple questions like this
often end up requiring more research and careful investigation than it
seems it should. :) In particular, questions that have interrelated
copyright and contractual agreements involved can often be like that.
Feel free to ping me if you want a status update on our progress at any
point.
Mea culpa -- I should probably have done that when I first proposed
this patch. Thanks for taking a look. I do want to make sure we have
everything on the up and up.

In any case, here's a quick summary:

The main patch in question is commit c2ccf53dd0ddf0b48 in the Linux
kernel. which added a number of tables that I autogenerated using a
script to postprocess the tables that MS published here.

http://msdn.microsoft.com/en-us/library/hh877830.aspx

The questions are in Ben's original email, so let us know what you
think.

Thanks,
--
Jeff Layton <***@redhat.com>
Andrew Bartlett
2013-10-18 19:44:59 UTC
Permalink
Post by Jeff Layton
On Fri, 18 Oct 2013 02:04:29 +0100
Post by Ben Hutchings
* The const tables in this file were converted from the following info
*
*
* http://msdn.microsoft.com/en-us/library/hh877830.aspx
* http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=10921
*
* In particular, the table in "Windows 8 Upper Case Mapping Table.txt" was
* post-processed using the winucase_convert.pl script.
Isn't "Windows 8 Upper Case Mapping Table.txt" then the preferred form
for modification of the tables? In which case, it should be included in
the kernel sources.
Also, shouldn't this file acknowledge Microsoft's copyright, if it's a
derivative work of their file?
Ben.
(cc'ing samba-technical and Bradley Kuhn in the hopes that he can help
clarify)
Good questions. I'm not certain on either point. When I queried the MS
"I discovered the content you used is in fact referenced by the
MS-UCODEREF document, in section 3.1.5.2.3.1 Windows Sorting Weight
Table. I discussed with the appropriate folks here, and for use in
Samba it's certainly covered under Samba's existing PFIF license."
Bradley, any thoughts as to Ben's questions?
The worked 'referenced' is the key point, because these are the terms on
the WSPP docs on their website:

Copyrights. This documentation is covered by Microsoft copyrights.
Regardless of any other terms that are contained in the terms of use for
the Microsoft website that hosts this documentation, you may make copies
of it in order to develop implementations of the technologies described
in the Open Specifications and may distribute portions of it in your
implementations using these technologies or your documentation as
necessary to properly document the implementation. You may also
distribute in your implementation, with or without modification, any
schema, IDL’s, or code samples that are included in the documentation.
This permission also applies to any documents that are referenced in the
Open Specifications.

The last line is what they are referring to.

Andrew Bartlett
--
Andrew Bartlett http://samba.org/~abartlet/
Authentication Developer, Samba Team http://samba.org
Jeff Layton
2013-10-18 20:03:16 UTC
Permalink
On Sat, 19 Oct 2013 08:44:59 +1300
Post by Andrew Bartlett
Post by Jeff Layton
On Fri, 18 Oct 2013 02:04:29 +0100
Post by Ben Hutchings
* The const tables in this file were converted from the following info
*
*
* http://msdn.microsoft.com/en-us/library/hh877830.aspx
* http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=10921
*
* In particular, the table in "Windows 8 Upper Case Mapping Table.txt" was
* post-processed using the winucase_convert.pl script.
Isn't "Windows 8 Upper Case Mapping Table.txt" then the preferred form
for modification of the tables? In which case, it should be included in
the kernel sources.
Also, shouldn't this file acknowledge Microsoft's copyright, if it's a
derivative work of their file?
Ben.
(cc'ing samba-technical and Bradley Kuhn in the hopes that he can help
clarify)
Good questions. I'm not certain on either point. When I queried the MS
"I discovered the content you used is in fact referenced by the
MS-UCODEREF document, in section 3.1.5.2.3.1 Windows Sorting Weight
Table. I discussed with the appropriate folks here, and for use in
Samba it's certainly covered under Samba's existing PFIF license."
Bradley, any thoughts as to Ben's questions?
The worked 'referenced' is the key point, because these are the terms on
Copyrights. This documentation is covered by Microsoft copyrights.
Regardless of any other terms that are contained in the terms of use for
the Microsoft website that hosts this documentation, you may make copies
of it in order to develop implementations of the technologies described
in the Open Specifications and may distribute portions of it in your
implementations using these technologies or your documentation as
necessary to properly document the implementation. You may also
distribute in your implementation, with or without modification, any
schema, IDL’s, or code samples that are included in the documentation.
This permission also applies to any documents that are referenced in the
Open Specifications.
The last line is what they are referring to.
That would seem to indicate that it's OK to include a copy of that file
in the kernel sources, but I'll wait until the conservancy folks
confirm this.

Thanks,
--
Jeff Layton <***@redhat.com>
Loading...