incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Benjamin Young <byo...@bigbluehat.com>
Subject RE: [PROPOSAL] Apache Annotator
Date Tue, 31 May 2016 14:32:36 GMT
Thanks, John!

Posted:
https://wiki.apache.org/incubator/AnnotatorProposal

-----Original Message-----
From: John D. Ament [mailto:johndament@apache.org] 
Sent: Tuesday, May 31, 2016 9:50 AM
To: general@incubator.apache.org; Benjamin Young <byoung@bigbluehat.com>
Subject: Re: [PROPOSAL] Apache Annotator

Hi Benjamin,

I've added bigbluehat to the contributors group, feel free to post your proposal there.

John

On Tue, May 31, 2016 at 9:46 AM Benjamin Young <byoung@bigbluehat.com>
wrote:

> Hi all,
>
> I have been working with the AnnotatorJS.org community to move our 
> community to the ASF. We have in the past been a BDFL-led group, but 
> that has proved unsustainable and resulted in many forks and lost opportunity.
>
> Recently, many community members gathered at the http://iannotate.org/ 
> conference and subsequent hackathon and discussed the future of the 
> project. We again concluded that the ASF held the most promise for a 
> governance style that could support our growing community and assure 
> that collaboration continue into the future.
>
> Our Incubator Proposal is current here (also below in markdown):
> https://github.com/openannotation/annotator/wiki/Apache-Incubation-Pro
> posal
>
> I would be happy to move the proposal to the incubator wiki-my user 
> name there is `bigbluehat`.
>
> Our current mailing list has a running vote/discussion around this 
> proposal and our move to the ASF:
> https://lists.okfn.org/pipermail/annotator-dev/2016-May/001615.html
>
> Lastly, we have a Champion (Daniel Gruno), but are still in need of 
> Mentors.
>
> Thank you for considering this proposal!
> Benjamin - bigbluehat@apache.org
>
>
>
> Apache Annotator Proposal:
> #### Abstract
> > A short descriptive summary of the project. A short paragraph, 
> > ideally
> one sentence in length.
>
> Annotation enabling code for browsers, servers, and humans.
>
> #### Proposal
> > A lengthier description of the proposal.
>
> The Annotator community seeks to build a foundational set of libraries 
> under a liberal license providing the pieces necessary for developers 
> to add annotation to their projects.
>
> #### Background
> > Provides context for those unfamiliar with the problem space and history.
>
> Annotator.js was originally created by Open Knowledge (formerly The 
> Open Knowledge Foundation) to provide annotation over works by Shakespeare.
> Since that time, Annotator has found its way into a wide range of 
> browser-based annotation systems such as Hypothes.is, 
> LacunaStories.com, and various academic, publishing, and scientific research projects.
>
> Sadly, this increased usage has primarily happened in forks of the 
> main code or through copy-left licensed plugins that prevent their use 
> by many community members.
>
> However, the community remains interested in combined collaboration 
> and interested in a foundational future for annotation--both in 
> browsers as well as servers and desktop/mobile applications.
>
> #### Rationale
>
> > Explains why this project needs to exist and why should it be 
> > adopted by
> Apache.
>
> Annotation is often implemented in projects in ad hoc ways with 
> developers often re-solving problems well known to the Annotator 
> community. The Annotator community works to provide knowledge and code 
> to help developers more quickly implement or improve annotation within their projects.
>
> We believe bringing the Annotator community into the Apache Software 
> Foundation will allow for wider recognition of the annotation problem 
> space, help more developers find their way to solving this shared 
> problem, provide increased cohesion for our own somewhat fractured 
> community, and increase the use of commonly shared code within a wide range of projects.
>
> #### Initial Goals
>
> * create a collaborative space for the existing Annotator contributors 
> and community
> * further ignite interest and activity around annotation
> * build foundational libraries for annotation
> * implement code to support the Web Annotation Data Model, Protocol, 
> and other annotation related specifications
> * potentially re-license Annotator under the Apache License 2.0
>   * Annotator is currently licensed under a combination of the MIT & 
> GPL
> * consolidate (where possible) community activity around building 
> add-ons, annotation storage providers, and use-case specific feature 
> sets
> * grow interest and activity in annotation
>
> #### Current Status
>
> ##### Meritocracy
> > Apache is a meritocracy.
>
> The project is in transition from a primarily BDFL-based model to one 
> with a more diverse set of committers. There are 36 total known 
> commiters to Annotator. 3 commiters having done the bulk of the coding 
> and decision making. 2 of those commiters acting as project leadership.
>
> However, the community is much larger and more diverse when the 
> various forks and plugin authors are considered.
>
> We intend to invite and include participants from a wide array of 
> annotation problem spaces to collaborate in this new shared space.
>
> ##### Community
> >  Apache is interested only in communities.
>
> Community calls had been being done every 3-6 months with reports of 
> the calls outcome being posted to the mailing list and the 
> annotatorjs.org website.
>
> Most activity within the project happens on the mailing list. There is 
> also a relatively inactive #annotator channel on irc.freenode.net. The 
> website is primarily for promotion and includes promotion of community 
> plugins and showcases projects using Annotator. Documentation is 
> published on readthedocs.org and linked to from the website.
>
> There are many Annotator and W3C Annotation Data Model related 
> projects found on GitHub. Our objective would be to invite these 
> communities to join this collaborative community with the hope of 
> greater stability and community longevity.
>
> ##### Core Developers
> > Apache is composed of individuals.
>
> The 3 primary committers to the project are Nick Stenning of The 
> Hypothesis Project, Randall Leeds of Medal, and Aron Carroll of 
> Dropbox, Inc. Nick Stenning is the original creator of Annotator. 
> Randall Leeds is an Apache CouchDB committer. Aron has been a frequent 
> contributor. All three have been members of The Hypothes.is Project in past years.
>
> Other currently active community members include:
>
> * Andrew Magliozzi of FinalsClub.org
>    * Andrew drives the scheduling of community calls, is active on the 
> mailing list, and encourages progress within the project and community
> * Benjamin Young of Wiley (also formerly of The Hypothes.is Project)
>    * an Apache CouchDB commiter
>    * co-editor of the Web Annotation Data Model
> * Oliver Sauter of WordBrain
>    * active advocate for Annotator and the growth of the annotation 
> community
>
> Other committers have contributed significant amounts of code, 
> content, or issues and discussions, but are currently (in the last 3-6 
> months) less active on the project. However, at recent annotation 
> related conferences the scale of the plugin, fork, and ancillary 
> project activity was shown to be much higher than what was apparent 
> from activity on the main Annotator mailing list--in part due to 
> community fracturing...something we hope to fix with joining the ASF.
>
> A full list of Annotator contributors can be seen here:
> https://github.com/openannotation/annotator/graphs/contributors
>
> ##### Alignment
> > Describe why Apache is a good match for the proposal.
>
> The Annotator community believes that the Apache Software Foundation 
> promotes and enforces the sort of community that will best serve the 
> future of the project. It is also believed that Annotator can serve 
> the ASF by providing its tools to bring annotation into various Apache 
> projects and eventually to the apache.org site, project documentation, 
> and other tools within the ASF.
>
> The priority is on increasing community involvement, defining--via the 
> Apache Way--how we will code and collaborate going forward, and upon 
> creating the best possible annotation solution born out of that 
> collaboration.
>
> #### Known Risks
> > An exercise in self-knowledge. Risks don't mean that a project is
> unacceptable. If they are recognized and noted then they can be 
> addressed during incubation.
>
> ##### Orphaned products
> > A public commitment to future development.
>
> The majority of the core committers were formerly from The Hypothes.is 
> Project which used an earlier version of Annotator within it's 
> annotation web service and BSD-licensed `h` annotation software. 
> However, Hypothesis and most other organizations and projects using 
> Annotator have forked the main code base or created unique plugins 
> which only exist within their projects and have not been contributed upstream.
>
> The fracturing of the community and previous single-entity 
> contribution has greatly prohibited collaboration and growth of the community.
> Concurrently, interest and growth of annotation projects from a wide 
> constituents has grown--though around a much wider array of code and 
> projects. The hope is that the creation of a collaborative space built 
> for discussion and sharing of these tools would provide the 
> opportunity to reach a common core to be shared among the many diverse players.
>
> As such, the Annotator project has begun the process of becoming an 
> Apache project to establish a development and community process that 
> encourages diversity and cross-organization collaboration.
>
> ##### Inexperience with Open Source
>
> Annotator was established as an Open Source project in 2011 with it's 
> first, v0.0.1 release being made on January 1st of that year:
> https://github.com/openannotation/annotator/releases/tag/v0.0.1
>
> The project has continued since that time as an open source project 
> developed on GitHub. The community has grown in diversity since that 
> time and was moved into a separate "openannotation" GitHub 
> organization (from the original "okfn" GitHub organization) in 2014 in 
> an effort to increase community involvement and diversity.
>
> Each of the core committers have worked on and created open source 
> software for themselves or various organizations for the greater than 
> 5 years. Two of the contributors mentioned above also have greater 
> than 5 years contributor experience at the ASF and are both now core 
> committers to a top-level project (Apache CouchDB).
>
> ##### Homogeneous Developers
> > Healthy projects need a mix of developers. Open development requires 
> > a
> commitment to encouraging a diverse mixture. This includes the art of 
> working as part of a geographically scattered group in a distributed 
> environment.
>
> Active community members as well as plugin and compatible annotation 
> storage system builders are from a diverse, though scattered, range of 
> organizations and individually driven projects.
>
> The Annotator community is seeking to combine its efforts into a core 
> group of committers to more accurately encourage a shared foundation 
> as well as continue the growth in diversity of the community.
>
> Geographically, the Annotator community is widely distributed from 
> Germany, Hungary, the East and West coasts of the US, and Australia.
>
> Additionally, the wide range of annotation related projects that may 
> be considered as input for this projects code explorations range in 
> size, contributor diversity, and growth.
>
> ##### Reliance on Salaried Developers
> > A project dominated by salaried developers who are interested in the
> code only whilst they are employed to do so risks its long term health.
>
> In the past, contributors to Annotator project were solely from The 
> Hypothes.is Project and their activity was driven primarily by the 
> needs of that project. However, the diversity of interested 
> participants has greatly increased. There is an additional hope of 
> creating an aggregated community from various projects (including 
> Annotator, Hypothesis' `h` code, and various related libraries and 
> plugins) as well as exploring the creation of new tools--not only for 
> the browser--to further widen the interest and activity around annotation.
>
> ##### Relationships with Other Apache Projects
> > Apache projects should be open to collaboration with other open 
> > source
> projects both within Apache and without. Candidates should be willing 
> to reach outside their own little bubbles.
>
> The Annotator community also provides an annotation storage system
> ("annotator-store") built upon ElasticSearch. There are compatible 
> implementations of that API built on various storage systems 
> (including Apache CouchDB), and the community would encourage the 
> creation of other compatible storage systems built upon other Apache storage projects.
>
> Additionally, Annotator is a JavaScript library which could serve any 
> of the various CMS projects within Apache.
>
> The roadmap for Annotator also includes compatibility with the Web 
> Annotation Data Model which is a JSON-LD serialization of an RDF-based 
> data model for annotation. The growing number of RDF-focused Apache 
> projects could take advantage of and contribute to the creation of these features.
>
> The W3C Annotation Working Group is also creating multiple related 
> deliverables around Web Annotation including an Linked Data 
> Platfrom-based Protocol specification, a note about selector systems, 
> and future notes for various serialization and integration 
> opportunities for the Web Annotation Data Model. Apache Marmotta is 
> one project within the ASF which has native support for LDP and may 
> have an interest in collaborating around implementation of the Web Annotation Protocol.
>
> Lastly, Apache UIMA can currently generates Open Annotation Data Model 
> annotations as an output of it's Natural Language Processing system. 
> These annotations could be displayed via code written within this new 
> Apache project--which could further leverage user interaction with 
> those NLP-based annotation (such as confirmation, rejection, or 
> modification of the annotations made by Apache UIMA's NLP process). 
> There are other NLP projects within the ASF which could similarly 
> benefit from these explorations and code generated here.
>
> ##### A Excessive Fascination with the Apache Brand
> > Concerns have been raised in the past that some projects appear to 
> > have
> been proposed just to generate positive publicity for the proposers. 
> This is the right place to convince everyone that is not the case.
>
> The Annotator community acknowledges the value and recognition that 
> the Apache brand would bring to the Annotator project. However, the 
> primary interest is in the community building process and long-term 
> stability that the Apache Software Foundation provides for its projects.
>
> We do hope for increased recognition of and contribution to an array 
> of annotation code projects built within this community. However, we 
> primarily hope for community aggregation driven by building a core set 
> of tools for our shared set of needs which are now scattered across 
> various annotation endeavors.
>
> Integrating those developers into this new community and adding them 
> as contributors is seen as a much higher priority then increasing 
> awareness through branding.
>
> #### Documentation
> > References to further reading material.
>
> Websites:
> * http://annotatorjs.org/
> * http://w3.org/annotation/
>
> Documentation:
> * http://docs.annotatorjs.org/en/v1.2.x/
> * http://docs.annotatorjs.org/en/latest/
> * http://www.w3.org/TR/annotation-model/
> * http://www.w3.org/TR/annotation-protocol/
>
> Mailing List:
> * https://lists.okfn.org/pipermail/annotator-dev/
> * https://lists.w3.org/Archives/Public/public-annotation/
>
> Code:
> * https://github.com/openannotation/annotator
> * https://github.com/openannotation/annotator-store
> * https://github.com/azaroth42/MangoServer
> * https://github.com/tilgovi/dom-anchor-text-quote
> * https://github.com/tilgovi/dom-anchor-text-position
> * https://github.com/tilgovi/dom-anchor-fragment
>
> Annotator plugin index:
> * http://annotatorjs.org/plugins/index.html
>
> #### Initial Source
> > Describes the origin of the proposed code base. If the initial code
> arrives from more than one source, this is the right place to outline 
> the different histories.
>
> The original Annotator code base was created by Nick Stenning while at 
> the Open Knowledge Foundation. The code has been in development since 
> before
> 2011 with the first public release (v0.0.1) happening on January 1st, 
> 2011 on GitHub.
>
> The example annotation storage system (which works with Annotator's 
> stock Store plugin) had it's first release in February 21, 2011 and 
> was originally built for Apache CouchDB. The contributor list of 
> annotator-store is similar, but the license is simply the MIT (rather 
> than MIT & GPL). The stated copyright is 2010-2012 Open Knowledge Foundation.
>
> Additionally, there is a growing list of forks, plugins, and related 
> tooling created by the community in various places--often embedded 
> within larger projects. The Annotator Plugins index has reference to 
> some such possible inputs to this project's code. The W3C 
> specifications are also being implemented and the growing number of 
> projects available around those specifications would also be 
> considered as possible inputs. Most specifically, Randal Leeds (also a 
> contributor to Annotator) has built a set of libraries focus on 
> implementing the W3C selectors. These libraries could serve as an 
> initial foundation for a core library for browsers or JavaScript-base server code.
>
> #### Source and Intellectual Property Submission Plan
> > Complex proposals (typically involving multiple code bases) may find 
> > it
> useful to draw up an initial plan for the submission of the code here.
> Demonstrate that the proposal is practical.
>
> Our primary goal is to aggregate communities that center around 
> annotation. We intend to focus our initial work on a JavaScript-based 
> library built from Randall Leeds `dom-anchor-*` libraries (single 
> owner copyright; MIT licensed) and potentially reusing code from 
> Annotator (mixed owner copyright; MIT & GPL dual-licensed).
>
> The Annotator community has a stated copyright owner of "The Annotator 
> Community." All contributions are believed to have been made "in kind" 
> and the copyright owned by the various contributors. The three primary 
> committers have stated a willingness to donate their contributions to 
> the Apache Software Foundation and the minimal parts with copyright 
> owned by others will likely be rewritten. Though we also hope to 
> engage these individuals to join the combined efforts being made at the ASF.
>
> The `annotator-store` project is under a clearer, single BSD license. 
> The copyright holder is stated to be the Open Knowledge Foundation 
> with the years 2010-2012. It is likely that this code will only be 
> used for reference or via library inclusion and not directly developed 
> upon within the ASF.
>
> An earlier process was undertaken to collect re-licensing permission 
> from known contributors via the existing mailing list and GitHub 
> issues--using a model similar to Twitter's when it relicensed 
> Bootstrap. General agreement was reached, but no decisive actions were 
> taken as many contributors of smaller amounts of code were no longer reachable.
>
> We hope to engage the various plugin and fork authors along with 
> similar annotation projects to engage future work under a shared 
> license and developed within The Apache Way. The contribution of 
> specific code to this project or its future deliverables will be 
> handled individually by the community over the course of the project.
>
> One core goal of bringing the community to the ASF is to avoid this 
> confused licensing situation in the future.
>
> #### External Dependencies
>
> Annotator depends on the following JavaScript modules from NPM:
>
> * backbone-extend-standalone - MIT
> * browserify-shim - MIT
> * clean-css - MIT
> * enhance-css - MIT
> * es6-promise - MIT
> * insert-css - MIT
> * jquery - MIT
> * through - MIT / Apache License 2.0
> * xpath-range - MIT + GPL-3.0+ Dual License
>
> annotator-store depends on the following Python modules:
>
> * elasticsearch - Apache License 2.0
> * PyJWT - MIT
> * iso8601 - MIT
> * six - MIT
>
> MongoServer (a Web Annotation Platform implementation) is a single 
> owner project currently licensed under the Apache License 2.0.
>
> Randall Leeds `dom-anchor-*` libraries are all licensed under the MIT 
> and include these dependencies:
>
> * dom-anchor-fragment - MIT
>    * no dependencies
> * dom-anchor-text-position - MIT
>    * node-iterator-shim - MIT
>    * dom-seek - MIT
> * dom-anchor-text-quote - MIT
>    * dom-anchor-text-position - MIT
>    * diff-match-patch - Apache License 2.0
>
> #### Required Resources
>
> ##### Mailing Lists
>
> * private@
> * dev@
> * commits@
>
> Note: the Annotator community currently uses a single list hosted by 
> Open Knowledge at:
> https://lists.okfn.org/mailman/listinfo/annotator-dev
>
> ##### Git Repository
>
> * https://git-wip-us.apache.org/repos/asf/incubator-annotator.git
>
> Note: the Annotator community hosts its code on GitHub as part of the 
> "openannotation" organization. Randall Leeds also uses GitHub for his 
> `dom-anchor-*` libraries as does Rob Sanderson for his Web Annotation 
> Protocol implementation. These are all potential code inputs to be 
> considered for reuse or continuation by this community.
>
> * http://github.com/openannotation/annotator
> * http://github.com/openannotation/annotator-store
> * https://github.com/azaroth42/MangoServer
> * https://github.com/tilgovi/dom-anchor-text-quote
> * https://github.com/tilgovi/dom-anchor-text-position
> * https://github.com/tilgovi/dom-anchor-fragment
>
> ##### Issue Tracking
>
> The Annotator community would prefer to continue using GitHub Issues 
> if that is a possibility.
>
> ##### Other Resources
>
> * static website hosting for annotatorjs.org
>
> #### Initial Commiters
>
> * Nick Stenning <nick@whiteink.com>
> * Randall Leeds <randall@apache.org>
> * Benjamin Young <bigbluehat@apache.org>
> * Oliver Sauter <oli@worldbrain.io>
> * Andrew Magliozzi <andrew10961@gmail.com>
> * Aron Carroll <hello@aroncarroll.com>
> * Mariano Giagante <mariano.giagante@gmail.com>
> * Luke Murphy <lukewm@riseup.net>
>
> #### Affiliations
>
> * Nick Stenning of The Hypothes.is Project
> * Randall Leeds of Medal
> * Benjamin Young of Wiley
> * Oliver Sauter of WorldBrain.io
> * Aron Carroll of Dropbox, Inc.
> * Andrew Magliozzi of AdmitHub.com
> * Mariano Giagante of WorldBrain.io
> * Luke Murphy of WorldBrain.io
>
> #### Sponsors
>
> ##### Champion
>
> [Daniel Gruno](http://people.apache.org/phonebook.html?uid=humbedooh) 
> aka `humbedooh`
>
> ##### Nominated Mentors
>
> TBD
>
> ##### Sponsoring Entity
> > The Sponsor is the organizational unit within Apache taking
> responsibility for this proposal. The sponsoring entity can be: the 
> Apache Board, the Incubator, another Apache project
>
> The Incubator
>
Mime
View raw message