On 07/03/2023 07:14, Han Li wrote:
On Mar 7, 2023, at 14:39, Konstantin Kolinko <knst.koli...@gmail.com> wrote:
вт, 7 мар. 2023 г. в 09:17, <li...@apache.org <mailto:li...@apache.org>>:

This is an automated email from the ASF dual-hosted git repository.

lihan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/main by this push:
new 1fc4b7c95d Align with spec
1fc4b7c95d is described below

commit 1fc4b7c95dce1db3d86db9393c78023b93725f63
Author: lihan <li...@apache.org>
AuthorDate: Tue Mar 7 14:16:53 2023 +0800

Align with spec

-1 (veto)

Please revert.
Ok.

The text of the specification comes with a license.

I have not checked recently (with the spec is managed by Eclipse
Foundation), but in earlier times (for specs copyrighted by Oracle) it
was clear that you were not allowed to copy their text as you wish.

You are not the first one to make such changes. There were similar
discussions in earlier years.

I probably understand what means, and I have another question that if I just 
align code with spec there’s no problem, right?

That is generally problematic too.

It is OK to copy the stuff we have to copy to implement the spec - i.e. the method signatures.

While there may be other parts of the code where copyright does not apply, that judgement is a subjective one. The only place to get a definitive answer is in the courts.

Generally, we should not be copying anything apart from the message signatures from the specifications.

It is worth mentioning a couple of complicating factors:

- A long time ago the specification projects were based at the ASF so
  some of the code has ASF license headers and copyrights.

- I am a committer both here and for most of the specifications that
  Tomcat implements so it is possible for me to commit the same changes
  to both projects under different licenses. It is not possible for
  someone else to take my work from one project and commit to the other
  and change the license. If anyone else does that, the original license
  has to be retained (which creates legal hoops for folks to jump
  through if the copy is taken in either direction).

One of the tests in the TCK is to ensure that the spec has the correct public API. Tomcat passes those tests for all stable versions so there should not be any changes in the public API between Tomcat and the specification projects.

You may occasionally see differences in the public API in the current development branch. That is usually because I am working on a change to the specification.

There are differences in implementation detail. These are expected given that the implementation has been developed in separate projects by (mostly) different teams.

If you identify differences in functional behavior then that is worth looking at a little more closely. Usually the change history and associated comments provides and explanation. To give a couple of examples:

- There are a couple of Tomcat specific features that required changes
  in the specification classes.

- If the specification language was ambiguous, the specification project
  and the Tomcat may interpret the language differently resulting in
  slightly different behavior (the specification projects are trying to
  clarify these as they find them).

- You might have found a bug.

Sorry this turned out to be such a long email. If you got this far, thanks for taking the time to read it.

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to