incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Niclas Hedhman <nic...@hedhman.org>
Subject Re: [VOTE] Accept Zeta Components into the incubator
Date Wed, 19 May 2010 00:07:01 GMT
+1

On Tue, May 18, 2010 at 1:22 AM, Tobias Schlitt <tobias@schlitt.info> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Please vote on the acceptance of Zeta Components for incubation at the
> Apache Incubator. The full proposal is available at the end of this
> message and on the wiki at
>
>        http://wiki.apache.org/incubator/ZetaComponentsProposal
>
> We ask the Incubator PMC to sponsor the project with Erik Abele as the
> Champion and Craig L. Russel, Julien Vermillard and Christian Grobmeier
> volunteering to be mentors. Note that the acceptance of Julien and
> Christian for the IPMC is currently pending.
>
> Please cast your votes:
>
> [ ] +1, bring Zeta into Incubator
> [ ] +0, I don't care either way
> [ ] -1, do not bring Zeta into Incubator, because...
>
> The vote is open for the next 72 hours and only votes from the Incubator
> PMC are binding.
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~
> Proposal: Zeta Components
> ~~~~~~~~~~~~~~~~~~~~~~~~~
>
> Zeta Components is a high-quality library of loosely-coupled PHP components.
>
> - ------
> Status
> - ------
>
> The proposal has been discussed on the incubator mailinglist. 3 mentors
> have volunteered, the confirmation of Julien Vermillard and Christian
> Grobmeier for the IPMC is pending.
>
> - --------
> Proposal
> - --------
>
> Originally developed as an open source project named eZ Components [1]
> by eZ Systems AS [2] under New BSD license. eZ Systems has agreed to
> relicense the source code and documentation, under the name Zeta
> Components, and donate it to the Apache Software Foundation.
>
> The goal of the project is to provide high-quality, loosely-coupled
> components for the development of applications based on PHP version 5.1
> and above. Zeta contains standard PHP framework components (e.g.
> database abstraction, templating, email, image manipulation); and
> modules which are unique in the PHP world, like a document format
> conversion component, a WebDAV server module and a workflow based
> programming framework.
>
> The project is developed with a strong focus on code and documentation
> quality, and backwards compatibility. It follows a well-defined
> development process with extensive architecture and design discussions,
> and prescribes a test-driven development approach.
>
> - ----------
> Background
> - ----------
>
> PHP is the most common language for developing web applications, but is
> also in use in other areas. While the language itself already ships with
> many libraries to solve different tasks, there is still a need for user
> land libraries to provide more complex repetitive functionality.
>
> Zeta provides components dedicated to such functionality. An example for
> a tasks that can be solved using Zeta are processing and sending of
> email. This is already possible from within pure PHP. But working with
> multi-part MIME emails is not easily possible and a real pain when doing
> that on your own. For that reason, a module exists in Zeta which allows
> the developer to easily create and send such emails and to receive and
> process them.
>
> The Zeta project currently consists of the following components:
>
>  * Archive
>  * Authentication
>  * AuthenticationDatabaseTiein
>  * Base
>  * Cache
>  * Configuration
>  * ConsoleTools
>  * Database
>  * DatabaseSchema
>  * Debug
>  * Document
>  * EventLog
>  * EventLogDatabaseTiein
>  * Execution
>  * Feed
>  * File
>  * Framework
>  * Graph
>  * GraphDatabaseTiein
>  * ImageAnalysis
>  * ImageConversion
>  * Mail
>  * MvcAuthenticationTiein
>  * MvcFeedTiein
>  * MvcMailTiein
>  * MvcTemplateTiein
>  * MvcTools
>  * PersistentObject
>  * PersistentObjectDatabaseSchemaTiein
>  * PhpGenerator
>  * Search
>  * SignalSlot
>  * SystemInformation
>  * Template
>  * TemplateTranslationTiein
>  * Translation
>  * TranslationCacheTiein
>  * Tree
>  * TreeDatabaseTiein
>  * TreePersistentObjectTiein
>  * Url
>  * UserInput
>  * Webdav
>  * Workflow
>  * WorkflowDatabaseTiein
>  * WorkflowEventLogTiein
>  * WorkflowSignalSlotTiein
>
> As can be seen, there are typical web-application modules included, such
> as the Feed component - which allows users to generate and consume
> different types of aggregation feeds -, the already mentioned Mail
> component, a template component for website templates and a WebDAV
> server component. Beside that, the library also contains many modules
> which are not only suitable for web applications, like a component for
> managing various archive file formats, multiple layers of database
> abstraction, tools for image manipulation, basic interfaces and
> implementations of a model-view-controller structure and more.
>
> In contrast to other frameworks, the components in Zeta are loosely
> coupled and there are almost no hard inter-dependencies between them.
> Instead, if a component can be integrated with another one, a so-called
> Tiein component is provided, supplying the classes necessary to couple
> the components. This allows users to cherry pick the components they
> need, without the need of using the whole stack. That is especially
> useful for using the provided modules in legacy code or when there is a
> standard framework to build new applications on.
>
> - ---------
> Rationale
> - ---------
>
> Zeta is a library of high-quality, loosely coupled components for
> application development on basis of PHP. The project existed for five
> years now under the New BSD license, named eZ Components. It has been
> developed so far as a product of eZ Systems AS by a team of lately 4
> core developers and received various contributions from 3rd parties.
>
> The unique characteristics of the project are a strong focus on
> high-quality code and documentation as well as extensibility.
>
> About the project
> =================
>
> The Zeta project is well established under the name eZ Components and
> has a vital open source community around it. Its goal is to provide
> high-quality PHP code in form of general purpose, re-usable components.
> Being developed for 5 years now, the project has well established
> processes for development in place:
>
> Zeta underlies very hard code and documentation quality constraints. For
> each new feature or component, requirements and architecture documents
> need to be provided and publicly discussed, before they are implemented.
> In addition, a test driven development approach is appointed, ensuring
> few bugs and backwards compatibility. Full API documentation, a tutorial
> and extensive examples are required for every components, before it is
> released.
>
> More information about the development process can be found in the
> development process [3] and the coding standards [4].
>
> History
> =======
>
> The Zeta project was initially started in 2005 and developed until now
> by eZ Systems under the name eZ Components [1]. The initial goal was to
> refactor the core libraries used by the open source content management
> system eZ Publish [5] for the purpose of cleaning up the code base and
> migrating it to PHP version 5.
>
> Already during the initial planning phase, it turned out that a
> refactoring was not feasible and a re-write of the desired library
> became necessary. In addition, it was decided not to concentrate on the
> needs of eZ Publish exclusively, but to create a general purpose library.
>
> The source code base was mainly developed by employees of eZ Systems
> under the New BSD license, with multiple contributions from 3rd parties.
> Every external contributor needed to sign a CLA [6] which is derived
> from the CLA used by the Apache Software Foundation.
>
> Since eZ Systems will still make use of the Zeta project and plans to
> even increase the usage drastically, their employees will continue to
> contribute. eZ Systems also maintains a very vital open source community
> around eZ Publish and it is expected, that their partners and
> contributors also make use of and contribute to the Zeta project.
>
> The main development team of eZ Components left eZ Systems in early
> 2010. While their initial idea was to continue with the project
> themselves, they finally worked out the plan of moving the project into
> a dedicated foundation together with their old employer. The ASF was
> decided to be the most feasible new owner of the project.
>
> To reflect the change of ownership and the changing project structure,
> the name eZ Components was changed to Zeta Components. The original
> development team is willing to maintain the project further on, as they
> already put lots of efforts into it and feel very passionate about it.
> eZ Systems is so kind to donate the IP of the source code basis,
> documentation and infrastructure code to the Apache Foundation.
>
> The goal of all involved parties is, to avoid a re-focusing of the
> project, in terms of it becoming an exclusive part of the eZ Publish
> content management system, and to further develop Zeta as an independent
> project.
>
> The most recent state of the eZ Components project can be found here:
>
>  * Website: http://ezcomponents.org
>  * Code repository: http://svn.ez.no/svn/ezcomponents/
>  * Issue tracker: http://issues.ez.no/ProjectSelect.php?Id=1
>  * Mailinglist archive: http://lists.ez.no/pipermail/components/Systems
>
> Statistics
> ==========
>
> Zeta currently consists of:
>
>  *  712,708 lines of code:
>   * 294,234 of these are non*test code:
>     * 151,439 of these docs
>     * 142,795 of these non*docs
>  * Non test code consists of:
>   * 1,909 classes:
>     * 184 abstract classes (9.64%)
>     * 1725 concrete classes
>   * ~123 lines of code per class
>  * Tests consist of:
>   * 651 classes with 7134 methods
>
> Needs for Zeta Components
> =========================
>
> Some of the initial reasons to start the project have already been
> explained in the "About the project" section. Find in following a
> summary of the reasons why there is still a need for the project and
> where its benefits are:
>
> While there are many frameworks and class repositories for the PHP
> language out there, none of them has such a strict focus on quality.
> Many frameworks are developed by hobby programmers and do therefore, or
> for historical reasons, not have a quality assurance process in place.
> The result is varying code quality and often un-maintained code. Many of
> them also still support PHP 4, which results in slow and hard to
> maintain code. In addition to that, many such projects suffer from
> lacking architecture and design processes, as well as naming and usage
> inconsistencies. Furthermore they allow code duplication and therefore
> do not give the user a consistent choice of functionality.
>
> The Zeta project has, in contrast to that, strict quality assurance,
> architecture and design processes and consistent naming, development and
> documentation guidelines. Its components are built upon PHP 5.1 and
> support all later versions. Zeta focuses on generality and
> extensibility. Beside that, Zeta components provide many components
> which cannot be found in any other PHP library in this way. These are:
>
> DatabaseSchema:
>
> A component to read, write and store database schemas independent from
> the relational database system in use. Beside that, schema differences
> can be stored and written to a database to update the schema.
>
> Document:
>
> Using this component, a developer can convert between many different
> document formats, like (X)HTML, DocBook XML, ODF, Wiki markup and more.
> The component is designed to support any kind of document format in the
> future.
>
> Graph:
>
> This module is used to render many different kinds of charts from
> numerical data into various image file formats. It can be used with any
> of the image generation libraries available in PHP.
>
> Mail:
>
> While most email libraries just support sending plain text or HTML
> emails, this component supports various email RFCs including multi-part
> MIME. Furthermore it can receive email via IMAP and POP and process
> these mails to be presented in the very same way as they are represented
> for sending.
>
> PersistentObject:
>
> This component is inspired by Javas Hibernate component, providing an
> object-relational mapping mechanism. It supports typical CRUD operations
> and has an optional layer for identity mapping.
>
> Search:
>
> An abstraction layer for different search engines, one of them being
> Solr, is realized in this component. Its goal is to enable an
> application developer to transparently exchange the search engine used
> in an application.
>
> Webdav:
>
> This module delivers a fully featured, customizable WebDAV (class 1 and
> 2) server implementation to the user. Its is developed with focus on
> interaction with different clients and to iron out their misbehaviours.
> The server can easily be integrated into custom applications.
>
> Workflow:
>
> There is currently no other known library for graph (or workflow) driven
> development in PHP. This framework provides the basis for such a
> programming approach as well as control and storage mechanisms.
>
> The current code base is designed in a flexible and extensible way, so
> that integration of new features is easily possible. Several such
> feature additions have already been noted down in the
> issue tracker [7] to be implemented in the future (current count is
> 124). In addition to that, several new components have already been
> discussed on the mailinglist for being added in the future.
>
> The current user and developer base almost guarantees, the there is an
> active future for the project.
>
> Zeta and the ASF
> ================
>
> In early 2010 the last members of the eZ Components development team
> left eZ Systems for various reasons. Since they gave their all for the
> project in the past and still fully support the project and its ideals,
> the idea of spinning off the project into an independent foundation was
> born. Discussions with eZ Systems' management and developers turned out,
> that this is the way to go.
>
> The Apache Software Foundation is the most accepted OSS foundation and
> best supports the ideas involved in the spin-off perfectly:
>
>  * Maintain clean IP
>  * Keep permissive licensing
>  * Grow the contributor base
>  * Stick to a meritocratic approach
>
> There is no comparable project inside the ASF and we really think, that
> both parties (the project and the ASF) would benefit from contribution
> the code base. Zeta and its community will get a new and secure home and
> will flourish from the above named facts. The ASF will receive many new
> developers and enthusiasts, which are likely to also participate in the
> foundation itself and possibly other Apache projects.
>
> - --------------
> Current status
> - --------------
>
> The following sections give you an overview of the state of the Zeta
> project, in terms of its compatibility and willingness to become an
> Apache project.
>
> Meritocracy
> ===========
>
> Although initialized and led by a company so far, the project has been
> following a quite meritocratic approach from its start. All technical
> decisions have been discussed publicly on the mailinglists and were
> never dictated by the management. Furthermore, the project was always
> open for 3rd party contributed components, patches and feature requests.
>
> This approach is mainly the result of all core developers being involved
> in other open source projects around PHP. Find details on this in the
> "Core Developers" section of this document.
>
> One reason for moving the project to the ASF is to stabilize and expand
> the meritocratic approach. We want to communicate this goal clearly to
> the community and want to gather more contributors for the project.
>
> Community
> =========
>
> eZ Components was mainly developed by the core team of lately 4
> employees of eZ Systems. During the past 5 years, 10 employees
> contributed actively to the project. In addition, 18 external
> contributors signed the CLA and actively provided patches or full
> components to the project.
>
> The project maintains a vital open source community, with currently more
> than 15 people active on the development mailinglist, discussing and
> contributing. In addition, there is an active IRC channel, which counts
> between 20 and 40 people and is used for support and technical discussions.
>
> We are sure that this community will stay with the project, if it moves
> to the ASF, and that there is growing potential from the PHP users
> community. Especially when people realize that the project is no more a
> "product of eZ Systems", but a fully independent OSS project.
>
> eZ Systems plans to integrate the components provided by the Zeta
> project further into their product eZ Publish. Therefore, the company
> also plans to have their developers contribute further. This includes
> bug fixes, feature additions and potentially new components.
>
> In addition to that, there is a vital community of partners and open
> source contributors around eZ System's product eZ Publish. These parties
> already make heavy use of eZ Components and will continue to use it as
> Zeta Components, since the project provides essential building blocks
> for eZ Publish development. While some of them already contribute to the
> project, it is expected, that contributions and participation from this
> community grow in the future.
>
> Beside that, the contributors are willing to represent and evangelize
> the project at open source events and to attract new contributors.
>
> Core Developers
> ===============
>
> Zeta has four core developers by now, which all have a degree in
> computer science and are long time members of the open source community
> around PHP. As there are:
>
> Derick Rethans:
>
> Derick works on the core and multiple extensions for the PHP language
> itself. In addition, he is the creator of the widely used Xdebug PHP
> debugging extension [8].
>
> Sebastian Bergmann:
>
> As the creator and maintainer of PHPUnit [9], Sebastian is head of
> development of this de-facto standard for unit testing in the PHP world.
>
> Kore Nordmann:
>
> Kore Nordmann maintains several open source projects, for example Arbit
> [10], a PHP based issue tracking and project management system. Beside
> that, he regularly contributes to various other projects in the PHP world.
>
> Tobias Schlitt:
>
> As a long time member of the PEAR project [11], the standard PHP code
> collection, Tobias has brought experiences in software architecture and
> PHP development. Beside his work on Zeta, he contributes to various
> other open source projects and is a maintainer of Planet PHP [12].
>
> Alignment
> =========
>
> The Zeta project fits especially into the ASF for its meritocratic
> development approach and the target of having a very permissive license.
> There is currently only one component in Zeta interacting with an ASF
> project: The Search component supports Solr as a backend. However, PHP
> is a project that is quite close to the ASF and many applications
> written on basis of Zeta will run in an Apache web server.
>
> In addition, some employees of eZ Systems also contribute to other ASF
> projects. Jerome Renard maintains some custom Apache server modules and
> contributed bug reports and patches in the past. Paul Borgermanns
> contributes to Solr and Tika.
>
> - -----------
> Known Risks
> - -----------
>
> In following, we try to analyze the risks for the Zeta project.
>
> Orphaned Products
> =================
>
> The Zeta project has been developed for the past 5 years under the name
> eZ Components. There is a vital and active community around it. While
> the core development team has been paid for development in the past,
> they did that also with their heart and soul and will therefore not
> allow the project of becoming orphan.
>
> eZ Systems will continue to use the project in its main product (eZ
> Publish) and even plans to extend the usage. To realize this, eZ Systems
> will make its developers contribute to the project.
>
> The project is in use by many PHP companies and in open source projects
> like Arbit. In addition, 2 of the core developers plan to found a
> company and to build their business model onto this project, among others.
>
> Chances that development of Zeta will die away in the future are
> therefore rare.
>
> Inexperience with Open Source
> =============================
>
> The project exists since 5 years as an open source project and one
> reason for putting it into the ASF is to keep it this way. All core
> developers have long time experiences in leading and contributing to
> various open source projects. eZ Systems is an open source company and
> its business model is fully built upon OSS.
>
> Homogeneous Developers
> ======================
>
> 3 of the 4 core developers of Zeta reside in Germany, but work for 2
> different companies. One of them resides in London, UK. eZ Systems is
> located in Norway and has a vital community of partners and contributors
> among Europe and even world wide. All parties involved in the project
> are looking forward to new team members from all over the world.
>
> Reliance on Salaried Developers
> ===============================
>
> The four core contributors were paid for working on the project in the
> past 5 years. However, their intention to work on the project on a not
> salaried basis is clear and strong, as can be seen by the efforts put
> into the project becoming independent.
>
> eZ Systems might pay developers for working on Zeta in the future. Two
> of the core contributors might work on the project in terms of their own
> company in the future.
>
> Relationships with Other Apache Products
> ========================================
>
> Zeta Components are already used in some open source projects outside
> the Apache Foundation, like eZ Publish and Arbit. We encourage other
> projects to make use of the components and are looking forward to their
> feature requests and contributions. Beside that, the Search component in
> Zeta enables the easy usage of Solr (Lucene) from within PHP.
>
> We would also be happy to receive technical input from any other Apache
> project and OSS projects in general and are looking forward to
> integrating with them.
>
> A Excessive Fascination with the Apache Brand
> =============================================
>
> All core contributors of the project already have a well-established
> standing in the OSS community, since they contribute to various projects
> for a long time now. The goal of joining the ASF is not driven by the
> demand of more publicity. None of the contributors has misdemeanors
> against any OSS project / foundation at any time.
>
> However, the core contributors fully agree with the values and ideals of
> the ASF and would be happy to be part of this movement.
>
> - -------------
> Documentation
> - -------------
>
> [1] Current project website: http://ezcomponents.org
> [2] eZ Systems AS: http://ez.no
> [3] Dev. process: http://ezcomponents.org/contributin/dev_process
> [4] CLA: http://ezcomponents.org/contributing/coding_standards
> [5] eZ Publish: http://ez.no/ezpublish
> [6] CLA: http://ezcomponents.org/contributing/cla
> [7] Issue tracker: http://issues.ez.no/ProjectSelect.php?Id=1
>
> [8] Xdebug: http://xdebug.org
> [9] PHPUnit: http://www.phpunit.de
> [10] Arbit: http://arbitracker.org
> [11] PEAR: http://pear.php.net
> [12] Planet PHP: http://planet-php.net
>
> - --------------
> Initial Source
> - --------------
>
> Alls source code was developed in the SVN repository provided by eZ
> Systems so far. This repository, including all releases and branches of
> the code, can be found in http://svn.ez.no/svn/ezcomponents/.
>
> - ---------------------
> External Dependencies
> - ---------------------
>
> There are no external dependencies which need to be taken into account.
> Zeta components works on basis of PHP and its bundled libraries. It can
> optionally work with external tools like e.g. Solr and ImageMagick, but
> there is no reason to bundle these resources users are not forced to
> make use of them.
>
> - ------------------
> Required Resources
> - ------------------
>
> All essential project project infrastructure should be hosted in the
> ASF. This includes:
>
>  * SVN
>  * mailinglists
>  * basic website
>  * issue tracker
>
> The version history of the old SVN (hosted by eZ Systems) should be
> imported to the ASF SVN.
>
> Mailinglists
> ============
>
>  * zeta-private
>  * zeta-dev
>  * zeta-commits
>  * zeta-users (could initially also be handled on zeta-dev)
>
> Subversion directory
> ====================
>
> We would like to have the code repository hosted by the ASF:
>
>    https://svn.apache.org/repos/asf/incubator/zeta
>
> Issue Tracking
> ==============
>
> Although some of the core developers would favor having Arbit [10] as
> the issue tracker, we agree that this essential piece of infrastructure
> should be hosted central in the ASF and not on a sponsored, external
> server. We would therefore go with Jira. Regarding CI, we will probably
> require a Hudson instance.
>
> - ------------------
> Initial Committers
> - ------------------
>
>  * Derick Rethans <ezc@derickrethans.nl>
>  * Kore Nordmann <kore@php.net>
>  * Tobias Schlitt <toby@php.net>
>  * Sebastian Bergmann <sebastian@php.net>
>  * Ole Marius Smestad <oms@ez.no>
>  * Roland Benedetti <rbg@ez.no>
>
> All reminded to send CLAs, some known to be received already.
>
> - ------------
> Affiliations
> - ------------
>
> Ole Marius Smestad is head of development of eZ Publish, Roland
> Benedetti is product manager of eZ Publish, both employed by eZ Systems.
> Kore Nordmann and Tobias Schlitt are in the process of creating a
> company together. All four core contributors worked together on the
> original eZ Components project on behalf of their employment at eZ
> Systems AS, but are now independent of this company.
>
> - --------
> Sponsors
> - --------
>
> Champion
> ========
>
> Erik Abele (ASF member) accepted being our champion.
>
> Mentors
> =======
>
>  * Julien Vermillard (ASF member, applying for IPMC)
>  * Craig L. Russel (ASF member)
>  * Christian Grobmeier (not ASF member, applying for IPMC)
>
> The acceptance of Julien and Christian for the IPMC is still pending.
>
> We are still looking for more mentors.
>
> Sponsoring Entity
> =================
>
> We want to kindly ask the Apache Incubator project for sponsoring.
>
> - --
> Tobias Schlitt         tobias@schlitt.info       GPG Key: 0xC462BC14
> a passion for php                     http://schlitt.info/opensource
> eZ Components are Zeta Components now!          http://bit.ly/9S7zbn
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.10 (GNU/Linux)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
>
> iEYEARECAAYFAkvxe2IACgkQ5bO3TcRivBTRWgCcCD58fxfc0JIom3c7/Y6S94pf
> h8cAn2ZRoEew4RK+gJEaZqH1Vbr8KX2q
> =F6vk
> -----END PGP SIGNATURE-----
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
> For additional commands, e-mail: general-help@incubator.apache.org
>
>



-- 
Niclas Hedhman, Software Developer
http://www.qi4j.org - New Energy for Java

I  live here; http://tinyurl.com/2qq9er
I  work here; http://tinyurl.com/2ymelc
I relax here; http://tinyurl.com/2cgsug

---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
For additional commands, e-mail: general-help@incubator.apache.org


Mime
View raw message