I'd like to consider migrating some of the libraries that make up the
"Annotator Toolkit", so to speak, into the Apache Annotator project. For
this, I am requested some help from our mentors, the permission of the rest
of the PPMC and the library authors, and feedback from the community on
this list.

Some of the libraries were mentioned in the initial project proposal [1]
while others have been developed since [2][3]. The primary authors of these
libraries are myself, Gerben (PPMC member, CC'd, @Treora on GitHub) and
Robert (CC'd, likely subscribed, @robertknight on GitHub).

This e-mail is broken into three parts:

1. Questions for Library Authors
2. Licensing Questions
3. Thoughts on Packaging

Questions for Library Authors

Gerben, would you be interested in bringing dom-highlight-range into the
project? We have an open issue [4] to build a highlighter. Benjamin and I
discussed at I Annotate that it would be immensely valuable for users to
have even a simple implementation. Your project is already a dependency of
the Apache Annotator demo, and its LICENSE [5] credits
dom-anchor-text-position.

Robert, would you be interested in bringing approx-string-match-js into the
project? The recent thread convinced me that there's a strong likelihood
that it could be leveraged by the selector framework that is starting to
take shape here.

For my part, I'm interested in bringing dom-node-iterator [6] and dom-seek
[7] into the project, both of which are now being used as dependencies.
These were both mentioned in the proposal [1], the latter under the name
"node-iterator-shim". I am the sole author of both of these.

Additionally, I may be interested in bringing dom-anchor-text-position [8]
into the project. It also contains an implementation of
Range.prototype.toString that I would like to be using.

Licensing Questions

For the mentors and anyone else familiar with Apache licensing
requirements, I would like to understand what steps are needed to import
code to an incubating project correctly.

For do-node-iterator and dom-seek, I am the sole author. It's possible I
could just commit this directly without any other process, but I would like
some advice first as to whether I need to formalize any copyright
assignment.

In the case of dom-highlight-range, Gerben is the sole author. Whatever
applies to the previous two libraries applies equally here, as Gerben is a
PPMC member.

For approx-string-match-js, Robert is the sole author. For
dom-anchor-text-position, I am the primary author and Robert has a
non-trivial contributions. The only other contribution was a small
correction to the README by Arun Prasad (https://github.com/akprasad).
Assuming Robert responds positively to bringing one or both of these
projects into Apache Annotator, I would like advise on what other steps we
would need to take to do that correctly.

Thoughts on Packaging

The repository is set up for bumping package version numbers in lockstep.
However, since all of these packages are published on npm, I probably want
to change the Lerna setup to make them independently versioned. It might
make sense to continue publishing some libraries under their original
names. We would still bundle and release these as part of
separately-versioned Apache Annotator releases, the first of which is a
topic I will raise in a separate thread shortly.

Regards,
Randall

[1]: https://cwiki.apache.org/confluence/display/ANNO/Annotator+Proposal
[2]: https://github.com/Treora/dom-highlight-range
[3]: https://github.com/robertknight/approx-string-match-js
[4]: https://github.com/apache/incubator-annotator/issues/22
[5]:
https://raw.githubusercontent.com/Treora/dom-highlight-range/master/LICENCE
[6]: https://github.com/tilgovi/dom-seek
[7]: https://github.com/tilgovi/dom-node-iterator
[8]: https://github.com/tilgovi/dom-anchor-text-position

Reply via email to