Closed Marcono1234 closed 5 months ago
I don't think we have anything to do here, except one small thing noted below. While it perhaps a bit surprising that a file that is mostly copied from Jackson has a Google copyright header, the file does clearly state its origin. The Jackson license is the same as the Gson one (Apache 2.0), and permits adding copyright notices. It says:
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
[It is the same license so we are doing this.]
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
[We could perhaps state this a bit more clearly but it is certainly implied.]
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
[There are no such notices anywhere in the Jackson source code as far as I can see.]
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file [...]
[There is no NOTICE
file in the Jackson sources.]
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
[We have indeed added a copyright statement.]
Even though the original jackson-databind code does not have a license header comment, maybe we should add a jackson-databind license header to these Gson files, in addition to the Gson license header.
As far as I can tell there is no such thing as a jackson-databind license header, and I don't think it's up to us to invent one.
I would be happy to accept a PR that modifies this source code so that it says even more prominently that ISO8601Utils
comes from jackson-databind, and says explicitly that the code in Gson is modified from the original. But I don't see a problem with the status quo.
Thanks for checking this in such detail! This feature request was really more supposed to be a question whether we have to do it, so thanks for answering that.
[There is no
NOTICE
file in the Jackson sources.]
There is one under src/main/resources/META-INF
: https://github.com/FasterXML/jackson-databind/blob/2.17/src/main/resources/META-INF/NOTICE
Do you think we would have to include it?
Problem solved by the feature
The code of
ISO8601Utils
andUtcDateTypeAdapter
is in large parts based on jackson-databind code, see the comments in these files referring to jackson-databind. Currently these files only have Gson license headers, which might be confusing and might violate the jackson-databind license?Feature description
Even though the original jackson-databind code does not have a license header comment, maybe we should add a jackson-databind license header to these Gson files, in addition to the Gson license header.
Inspired by https://github.com/getsentry/sentry-java/pull/3003/files#diff-1ab6fa42a5d8d69c258374fba82f5486467bf693873e223a8f1a44490c86108f