incubator-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <>
Subject [Incubator Wiki] Update of "CorinthiaProposal" by janIversen
Date Wed, 26 Nov 2014 10:55:25 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Incubator Wiki" for change notification.

The "CorinthiaProposal" page has been changed by janIversen:

added proposal.

- ## page was copied from AriesProposal
- = Apache Aries =
+ ## Proposal
+ The goal of Corinthia is to provide a responsive design editor as well as a toolkit that
enacts a defined conversion between different office document formats. Responsive design fits
the layout as needed, tablet or desktop. The editor is a lightweight editor - an extension
and not a replacement for the desktop editor.
- === Abstract ===
+ Many office document programs claim to read/write to the ISO open standards for office documents,
OpenDocument Format (ODF) and Open Office XML (OOXML), but do not document which parts are
left unimplemented. Furthermore, the standards have a large number of "implementation defined"
parts, making real-world congruence chancy. The Corinthia toolkit wants to put this unacknowledged
aspect into the open and provide "compliance sheets" for document formats, as known from industry
computer protocols.
- The Aries project will deliver a set of pluggable Java components enabling an enterprise
OSGi application programming model. This includes implementations and extensions of application-focused
specifications defined by the OSGi Alliance Enterprise Expert Group (EEG) and an assembly
format for multi-bundle applications, for deployment to a variety of OSGi based runtimes.
+ Corinthia aims at generating a large set of test documents, which can be used to verify
the "compliance sheets". The code can work as test case for other applications (or entities
tendering for OOXML/ODF based systems) as well.
- === Proposal ===
+ The base of Corinthia and its toolkit is the library DocFormats, which converts between
different office document file formats. Currently it supports .docx (part of the OOXML specification),
HTML, and LaTeX (export-only).
- It is a goal of the Aries project to provide a natural home for open source implementations
of current and future OSGi EEG specifications, including the opportunity for the collaborative
development of compliance tests, and an environment to demonstrate the composition of these
technologies and to explore areas where EEG specifications lack coverage. A further goal of
this project is to leverage experience gained from it to inform contributions to OSGi EEG
requirements and specification documents.
+ The design  of DocFormats is based on on the idea of bidirectional transformation (BDT),
in which a specific document (the original file in its source format) is converted into an
abstract document (in the destination format). A modified version of the abstract document
can then be used to update the specific document in a non-destructive manner, keeping intact
all parts of the file which are not supported in the abstract format by modifying the original
file rather than replacing it.
- Aries will offer an enterprise OSGi application programming model that enables applications
to leverage Java EE and other enterprise technologies and to benefit from the modularity,
dynamism and versioning capabilities of OSGi. A significant feature of Aries will be a container
for OSGi Blueprint components - an implementation of the new OSGi v4.2 Blueprint component
model that defines a standard dependency injection mechanism for Java components, which is
derived from the Spring framework and extended for OSGi to declaratively register component
interfaces as services in the OSGi service registry. 
+ Descriptions of BDT can be found in:
- In addition, the Aries project will develop a model for assembling an application/subsystem
into a deployable unit, consisting of multiple bundles, as an archive which may include metadata
that describes the version and external location of the application's constituent bundles
or which may contain the bundles directly.
+ Aaron Bohannon, J. Nathan Foster, Benjamin C. Pierce et. al. Boomerang: Resourceful Lenses
for String Data. Technical Report MS-CIS-07-15 Department of Computer and Information Science
University of Pennsylvania. November 2007. [boomerang.pdf](
+ Benjamin Pierce. Foundations for Bidirectional Programming. ICMT2009 - International Conference
on Model Transformation. June 2009. [icmt-2009-slides.pdf](
+ The short term goal of the project is to have an easy-to-integrate library that any application
can use to embed support for a range of different file formats, and use the parsing, serialisation,
and conversion facilities for various purposes. These include editors, batch conversion tools,
web publishing systems, document analysis tools, and content management systems. By abstracting
over different file formats and using HTML as a common intermediate format, one can just code
an application to that end, and let DocFormats take care of conversion to other formats.
+ The medium term goal of the project is to have a series of end-user applications (separate
from the library itself), including an editor and file conversion tool. These will serve as
examples of how the libraries can be used.
+ And ultimately to have a touch based UI for office documents.
+ It is also a goal to cooperate with other open source projects, in terms of getting input
from them as well as providing APIs for their use. Corinthia is meant to be easy to understand
and work with, making it more approachable for a range of projects.
+ ## Background
+ DocFormats has been shipping as part of UX Write on the iOS app store since February 2013.
From this perspective, it is a stable, mature library that works for the most commonly-used
features of .docx formats. As an open source project, it is completely new, and from this
perspective is very much in its early stages. We are currently exploring the best way to leverage
the existing work that has been done to make it easier to integrate in other projects, as
well as support more file formats.
+ ## Rationale
+ Apache's mission to produce software for the public good, fits with Corinthia's idea of
providing an editor and thoroughly documented conversion of office documents, thereby hopefully
show that implementations can and should be documented especially where the standards offer
options, which will help to ensure interoperability.
+ We strongly believe the project has potential to grow by cooperating with other projects
and offers something mature projects cannot offer, a chance to take advantage of new architectures
and design philosophies, as well as also to learn from, and not just reproduce, history.
+ We have found that Apache committers are loyal to Apache, and more likely to take part in
Corinthia.incubator than Corinthia.GitHub.
+ ## Initial Goals
+ The initial and most important goal is to enlarge the community consisting of developers,
testers, and people who know the standards in depth.
- The Aries project will deliver run-time componentry that supports applications, running
in an OSGi framework, exploiting enterprise Java technologies common in web applications and
integration scenarios including web application bundles, remote services integration and JPA.
The project is not expected to deliver a complete application or integration server runtime
but will instead deliver enterprise application componentry that can be integrated into such
runtimes. The project will develop extensions that go beyond the OSGi EEG specifications to
provide a more complete integration of OSGi modularity with Java enterprise technologies,
in particular delivering support that includes but is not restricted to:
-  * isolated enterprise applications composed of multiple, versioned bundles with dynamic
-  * declarative transactions and security for Blueprint components
-  * Container-managed JPA for Blueprint components
-  * Message-driven Blueprint components
-  * Configuration of resource references in module blueprints.
-  * Annotation-based Blueprint configuration
-  * Federation of lookup mechanisms between local JNDI and the OSGi service registry.
-  * Fully declarative application metadata to enable reflection of an SCA component type
- In order to maximise the potential scope of Aries adoption it is anticipated the project
will remain agnostic of a number of complementary technologies and projects.  It is the  expectation
that Aries will therefore not be delivering components such as: an application or integration
server runtime kernel; a persistence provider; distribution provider; a deployment provider
or a Web container. Aries will instead seek to enable the use of such components from other
+ Technically there are four goals:
+ - Cleanup core, to make it easy to add filters (format converters)
+ - Complete the ODF filter
+ - Add spreadsheeet/drawing formats to the ODF and OOXML filters
+ - Produce an editor based on JavaScript & HTML which can be embedded in mobile apps
or used in a Web browser
- === Background ===
+ Our initial goals might not be big visions, but we prefer something reachable, and then
make bigger goals as we grow.
- OSGi is a mature and Java modularity technology that is well-used in many environments but,
in the enterprise space, has more typically been exploited by the internals of the runtime
infrastructure than the applications that run on it. This is primarily because of a lack of
a clear enterprise OSGi application programming model and implementation of OSGi-enabled Java
technology to support enterprise applications. OSGi specifications are specified and maintained
by the OSGi Alliance which recognized this state of affairs several years ago and established
the Enterprise Expert Group within the Alliance to focus specifically on the needs of enterprise
applications. The objective of this project is to deliver open source implementations of these
application-centric technologies to enable the development of application components, benefiting
from the modularity of OSGi combined with standards-based programming models, which can be
deployed to a variety of target runtimes.
+ ## Current Status
+ ### Meritocracy
+ Some of the initial committers are already part of Apache, and those who are not are getting
used to working "the Apache way".
- === Rationale ===
+ ### Community
+ Our community could be larger, and committers from AOO and others have shown interest in
the project, but we have preferred to stay a stable, but very active group until we are part
of Incubator.
+ Apache/Incubator provides a lot of tools (e.g., mailing lists) and community practices—The
Apache Way--that enable community engagement and growth. 
- Aries aims to build a community of developers interested in the delivery of software components
that support an enterprise OSGi programming model and which can be integrated into a number
of different runtime environments. 
- Apache hosts the Felix project which provides an OSGi framework implementation and a variety
of projects which provide technologies exploited by enterprise application components as well
as projects which provide runtimes to host application components.  There is currently no
Apache project focussed on OSGi enterprise applications that is independent from both the
OSGi framework and the enterprise runtime environment in which application components are
hosted. By maintaining independence of both the target runtime and underlying OSGi framework
it is our intention to build the broadest possible community of developers for Aries, and
to maximize the potential environments where Aries componentry can be used.
- === Initial Goals ===
+ ### Core Developers
+ Peter Kelly,<br>
+ Jan Iversen, ASF member++<br>
+ Svante Schubert, ASF committer
+ Dennis E Hamilton, ASF committer
- We will initially focus on the Blueprint container and extend this with enterprise features
such as support for container managed JPA and container managed transactions. Another initial
focus area will be the contribution of code to support the assembly of isolated, multi-bundle
applications that can be deployed as a unit.
+ Remark: Louis and Dorte do not develop, but help with non-coding tasks.
- == Current Status ==
+ ### Alignment
+ Corinthia has commonalities with AOO, but is not competing. AOO is a desktop product and
integrated suite and Corinthia is a lightweight editor and a developer product (library).
- === Meritocracy ===
+ Corinthia has a document API like POI, but the focus is different. Corinthia targets a conversion
library and an editor. POI is a handling API.
- The Aries contributors recognize the desirability of running the project as a meritocracy.
We are eager to engage other members of the community and operate to the standard of meritocracy
that Apache emphasizes; we believe this is the most effective method of growing our community
and enabling widespread adoption.
+ Sharing test documents with projects like AOO and POI seems to make a lot of sense.
- === Community ===
+ ## Known Risks
+ The biggest risk Corinthia faces is failing to attract a larger community (not only developers
but also testers and documenters). A number of actions has already been taken to minimize
the risk:
+ - Contact to student projects (in particular Capstone)
+ - Talks at ApacheConEU
- OSGi is a mature Java modularity technology that is well-used in many environments but,
in the enterprise space, has more typically been exploited by the internals of the runtime
infrastructure than the applications that run on it. This is primarily because of a lack of
a clear enterprise OSGi application programming model and implementation of OSGi-enabled Java
technology to support enterprise applications. There is a need for open source implementations
of these technologies and there is currently no Apache project focused on the wider goal of
delivering components for an enterprise OSGi application programming model. We recognise that
projects comprising multiple components face challenges maintaining cohesion as a community
but believe the common focus on the enterprise OSGi programming model is a strong theme that
will guide the activities of the community as a whole. Aries aims to build a community of
developers interested in the definition and delivery of software components that support an
enterprise OSGi programming model and which can be integrated into a number of different runtime
environments. By maintaining independence of both the target runtime and underlying OSGi framework
it is our intention to build the broadest possible community of developers.
+ The project uses existing technologies, so there are no real technological risks.
- === Alignment ===
+ There is of course a risk that nobody wants to use the project, but the fun building the
community and project make this risk bearable.
- The purpose of Aries is to develop implementations of application-centric enterprise OSGi
technologies that run on an OSGi framework, but not a specific one, and are used by application
components deployed into a variety of runtime environments without being tied to any specific
environment. For this reason we believe Aries is a project whose community would be best served
if it could leverage but be independent from the communities that provide underlying OSGi
framework technology and enterprise application server and integration bus technologies, all
of which exist as open source efforts within Apache and elsewhere. We expect, for example,
that some code developed in Aries will run directly on top of an OSGi framework such as Felix
and that applications exploiting Aries technologies could be deployed to runtimes such as
!ServiceMix and Geronimo.
+ ### Orphaned products
+ None
- == Avoiding the Warning Signs ==
+ ### Inexperience with Open Source
+ All initial committers have worked several years with open source.
- === Orphaned products ===
+ ### Homogenous Developers
+ The initial committers are geographically distributed across the world. Half of the initial
developers are experienced Apache committers and all have experience in working in distributed
development communities.
- The contributors are leading vendors of OSGi-based technologies and have a long standing
in the OSGi Alliance whose application-centric specifications this project will implement.
There is minimal risk of this work becoming non-strategic and the contributors are confident
that a larger community will form within the project in a relatively short space of time.
+ The original source has already been partly refactored by other developers to make sure
knowledge is spread among multiple people.
- === Inexperience with Open Source ===
+ ### Reliance on Salaried Developers
+ No committers are being paid to participate.
- Many of the committers have experience working in one or more open source projects including
Apache Geronimo, Felix, !ServiceMix, OpenEJB, and CXF. 
+ However, it should be mentioned the Peter Kelly and Louis Suarez-Potts have a company that
has added a commercial editor for iPhone on top of the library. The issue has been discussed.
- === Homogeneous Developers ===
+ ### Relationships with Other Apache Products
+ Corinthia has/will have a relation to at least the following projects:
+ - **AOO**, core developers have been told on dev@ that for targeting mobile platforms, a
rewrite of AOO would be better than building on top of the existing sources. It is our hope
to have long and beneficial interaction with AOO.
+ - **Httpd**, we would like to make a module that on the fly presents odf/ooxml documents
as pure html.
+ - **POI**, Corinthia library is similar to POI, but simpler, more generic, and written in
C. We hope to be able to share know-how as well as test cases.
- The list of initial committers, geographically distributed across the U.S. and Europe, consists
of developers from two companies - IBM and Progress software - with similar goals but for
different scenarios. Many of these developers are experienced Apache committers already and
all are experienced with working in distributed development communities. It is our hope that,
through the incubator, further contributors with a broad background of experience but common
interest in enterprise OSGi technologies will become involved with this project.
+ Corinthia is based on document standards which are used by numerous high-profile projects.
We would like to cooperate with the projects to exchange knowledge.
+ ## Documentation
+ The current documentation can be found at [github](<br>
+ The project is aware that this is work in progress and there is special attention on this
- == Relationships with Other Apache Projects ==
+ ## Initial Source
+ The initial source was closed-source developed solely by Peter Kelly. The source has moved
to GitHub as Open Source and all files changed to ASLv2 to signal the grant.
- Aries will have a potential relationship with the Apache projects listed in this section.
These projects all serve different purposes from Aries and have their own communities. It
is hoped that each of these communities will become involved with Aries and help to build
a diverse but independent Aries community.
+ Remark, the source was part of the UX Write product. The editor of UX Write is currently
not part of the grant.
+ ## Source and Intellectual Property Submission Plan
+ Source code will be moved from the GitHub uxproductivity organisation space to the Apache
space as defined by incubator.<br>
+ Peter Kelly will grant the repo to ASF.
- '''Apache Felix Karaf''' -
- Apache Felix Karaf is an OSGi based runtime which provides a lightweight container onto
which various components and applications can be deployed. It is related to Aries:
-  1. as a target OSGi based runtime to which Aries applications can be deployed. In this
role, Karaf is a consumer of Aries technology.
+ ## External Dependencies
+ The current source includes 2 third party libraries (see [DocFormats/3rdparty](
to which minor modifications have been made.
+ - **minizip**, a layer on top of zlib
+ - **w3c-tidy-html5**, a html5 manipulation lib.
+ Remark, currently the changes made to the original sources are undocumented. The plan is
to have the 1-1 sources in the repo (or have users download it), and then apply a patch.
- '''Apache Felix''' -
- Apache Felix is primarily a core OSGi framework implementation. It is related to Aries:
-  1. as an underlying OSGi framework implementation and potentially other extensions that
can be used both by Aries run-time components and the applications which use them.
+ Furthermore, Corinthia depends on
+ - libxml2
+ - zlib
+ - SDL
+ ## Cryptography
+ Corinthia does not use cryptography nor are there plans to use it.<br>
+ In the medium term we would like to use digital signing of the convenience binaries.
- '''Apache Geronimo''' -
- Apache Geronimo is a server runtime framework and fully certified Java EE 5 application
server runtime. It is related to Aries in two ways:
-  1. as a target runtime to which Aries applications can be deployed. In this role, Geronimo
is a consumer of Aries technology.
-  1. the Geronimo blueprint sandbox -
- contains an implementation of the OSGi Blueprint container which will be moved to Aries.
- '''Apache Tuscany''' -
- Apache Tuscany provides a comprehensive infrastructure for SOA development and management
that is based on Service Component Architecture (SCA) standard. It can be a consumer of Aries
technology to provide an Aries SCA implementation type for composing Aries applications in
coarse grained and potentially heterogeneous service assemblies. 
+ ## Required Resources
+ ### Mailing lists
+ We would like to have:
+ for general discussions<br>
+ for private discussions
- '''Apache CXF''' - 
- Apache CXF provides a Java Web Services framework for distributed computing and remote service
realization and invocation using API's such as JAX-WS and JAX-RS. 
- It also provides the OSGi Remote Services (OSGi RFC 119) reference implementation in a subproject: It is related to Aries in the following way:
-  1. As Remote Services is a significant Enterprise specification being produced by the EEG,
it is expected that consumers of Aries will be looking for an implementation of this specification.
CXF provides an implementation of this specification which already has a significant active
community. The Aries project will make it easy for Aries consumers to consume the CXF Remote
Services implementation, possibly by providing an instance of the application model that references
the CXF Remote Services implementation. This would mean that end users will seamlessly pull
in the required components from CXF by using the Aries-provided definition.
- '''Apache !ServiceMix''' -
- Apache !ServiceMix provides an ESB that combines the functionality of a Service Oriented
Architecture (SOA) and Event Driven Architecture (EDA) to create an agile ESB. !ServiceMix
runs on OSGi and was the source of the Apache Felix Karaf runtime.  It can be a consumer of
Aries applications and associated componentry as a natural evolution of its existing Karaf
"feature" usage.
+ ### Subversion Directory
+ We prefer not to use SVN.
- '''Apache OpenJPA''' -
- Apache OpenJPA is a Java persistence project. It is related to Aries as a JPA persistence
provider, including entity scanning and enhancement. The Aries project will make it easy for
JPA persistence providers such as OpenJPA to be used in an OSGi environment and will provide
container managed persistence for the Blueprint container. 
+ ### Git Repository
+ Our current git repository is [github](
+ We would like the repo to be moved to the github apache organisation under the name "corinthia"
or "corinthia.incubator"
- '''Apache Ace''' -
- Apache ACE is a software distribution framework that allows you to centrally manage and
distribute software components, configuration data and other artifacts to target systems.
It is built using OSGi and can be deployed in different topologies. The target systems are
usually also OSGi based, but don't have to be.
-  1. As a mechanism to distribute and configure the runtime components (those implementing
the enterprise OSGi application programming model).
-  1. To distribute and configure enterprise OSGi application components implemented to the
enterprise OSGi application programming model.
- == Documentation ==
+ ### Issue Tracking
+ We are currently using github issues, which works fine, but would like to change to Jira.
- An early draft of OSGi v4.2 core and compendium specifications - which includes the Blueprint
container specification - is available at: 
+ ### Other Resources
+ - Wiki: We are currently using github wiki, we would like to move to an Apache supported
wiki (preferable mediawiki), before our documentations gets too complicated to move.
- == Initial Source ==
+ - Buildbot: We would like to be able to build/test on OSX, Windows and Ubuntu.
+ - Web: We would like, if possible, to have the home page
(just raw html please).
-  * The Blueprint container impl from the Geronimo sandbox will be moved to the Aries project
for further development:
-  * IBM will also contribute code for:
-   * container-managed JPA support in an OSGi environment.
-   * making OSGi services visible to Java EE components through JNDI.
-   * packaging web components as bundles and a URL handler for recognizing and converting
non-bundled Web components
-  * We will also be soliciting implementations of other OSGi enterprise application-centric
- == External Dependencies ==
+ - Blog: We would like, to have a blog, preferable wordpress.
+ ## Initial Committers
+ Our initial list of committers is not as long as we would have liked it to be, but have
not pushed for a larger community before becoming part of ASF.
-  * Apache Ant Apache License
-  * Apache Commons Apache License
-  * Junit (Java unit test framework) CPL v1.0 license:
-  * Apache Felix (implementation of the OSGi Core and Compendium specifications - compliance
level unknown) Apache License (hosted by ASF).
-  * Eclipse Equinox (compliant implementation of the OSGi Core Specification and Compendium
specifications) Eclipse Public License
-  * OpenJPA Apache License
-  * Serp BSD
-  * Apache Geronimo Apache License
- == Required Resources ==
+ Dennis E Hamilton,
+ Dorte Fjalland, (ICLA mailed)<br>
+ Jan Iversen,<br>
+ Louis Suárez-Potts,<br>
+ Peter Kelly, (ICLA mailed)<br>
+ Svante Schubert,
- === Mailing lists ===
+ ## Affiliations
+ None
- `aries-private` (with moderated subscriptions)
+ ## Sponsors
+ ### Champion
+ Jan Iversen
- `aries-dev`
+ ### Nominated Mentors
+ Jan Iversen (IPMC)
+ Daniel Gruno (IPMC)
- `aries-commits`
+ Since jan is involved in the project, it would be beneficial to have at least a second mentor
with a "outside" view, who can help focus on the administrative logistics.
- `aries-user`
+ ### Sponsoring Entity
+ Incubator IPMC.
- === Subversion Directory ===
- === Issue Tracking ===
- == Web Site ==
- Confluence (Aries)
- === Initial Committers ===
- Names of initial committers with affiliation and current ASF status: 
-  * Alan Cabrera (!LinkedIn, ASF Member)
-  * Alasdair Nottingham (IBM)
-  * Andrew Osborne (IBM)
-  * Bernd Kolb (SAP)
-  * Carsten Ziegeler (Individual, ASF member)
-  * Dan Kulp (Progress, ASF member)
-  * David Bosschaert (Progress, ASF committer)
-  * David Jencks (IBM, ASF member)
-  * Dimo Stoilov (SAP)
-  * Eoghan Glynn (Progress, ASF committer)
-  * Graham Charters (IBM)
-  * Guillaume Nodet (Progress, ASF member)
-  * Hiram Chirino (Progress, ASF member)
-  * Ian Robinson (IBM)
-  * James Strachan (Progress, ASF member)
-  * Jarek Gawor  (IBM, ASF member)
-  * Jean-Sebastien Delfino (IBM, ASF committer)
-  * Jeremy Hughes (IBM,  ASF committer)
-  * Joe Bohn (IBM, ASF committer)
-  * Lin Sun (IBM, ASF committer)
-  * Kiril Mitov (SAP)
-  * Mark Nuttall (IBM)
-  * Niclas Hedhman (individual, ASF member)
-  * Niklas Gustavsson (individual, ASF committer)
-  * Nikolai Tankov (SAP)
-  * Oisin Hurley (Progress)
-  * Peter Peshev (SAP)
-  * Raymond Feng (IBM, ASF committer)
-  * Rick !McGuire (IBM, ASF committer)
-  * Roman Roelofsen (!ProSyst)
-  * Sabine Heider (SAP)
-  * Sergey Beryozkin (Progress, ASF committer)
-  * Stuart !McCulloch (individual, ASF committer)
-  * Timothy Ward (IBM)
-  * Todor Boev (!ProSyst)
-  * Valentin Mahrwald (IBM)
-  * Violeta Georgieva (SAP)
-  * Zoe Slattery (IBM)
- == Affiliations ==
- The majority of the initial committers listed on the proposal initially are employed by
IBM corp or Progress Software. One objective of the incubator is to attract a diverse community
of contributors and we anticipate future contributors to have other affiliations. Indeed,
since the proposal was initially posted, further initial committers have volunteered from
SAP, !ProSyst, !LinkedIn and some individuals.
- == Sponsors ==
- === Champions ===
- Kevan Miller, Guillaume Nodet
- === Nominated Mentors ===
- Guillaume Nodet, Davanum Srinivas (Dims), Kevan Miller, Bertrand Delacretaz
- === Sponsoring Entity ===
- The incubator. Successful graduation from Incubator should result in Aries becoming a new

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message