+1 (binding)

Regards
JB

On 06/19/2015 09:15 AM, Jacopo Cappellato wrote:
Following the discussion in the thread [1], I would like to call a VOTE to 
accept Freemarker as a new Apache Incubator project.

The proposal is available on the wiki at [2] and is also attached to this mail.

The VOTE is open for at least the next 72 hours:

[ ] +1 accept Freemarker into the Apache Incubator
[ ] ±0 Abstain
[ ] -1 because...

Thank you,

Jacopo Cappellato

1.
http://mail-archives.apache.org/mod_mbox/incubator-general/201505.mbox/%3cccefe3ed-66c4-4766-a3d2-6d8bda855...@gmail.com%3e

2.
https://wiki.apache.org/incubator/FreemarkerProposal

======================================================

Freemarker Apache Incubator Proposal

Abstract

Freemarker is a "template engine", i.e., a generic tool to generate text output 
based on templates. Freemarker is implemented in Java as a class library for programmers.

Freemarker is a mature, widely used template engine. We propose to make 
Freemarker a top level project of the Apache Software Foundation, primarily so 
that it can build a stronger developer community, which provides more safety, 
stability and support to the large user base, and also helps evolving the 
engine and its integration with other projects (many of which are Apache 
projects).

Proposal

Freemarker is a "template engine"; a generic tool that generates text output 
(HTML web pages, e-mails, configuration files, source code, etc.) based on templates and 
changing data. It's not an application for end-users in itself, but a Java library, a 
component that programmers can embed into their products.

Freemarker was originally created for generating HTML Web pages, particularly 
in servlet-based applications following the MVC pattern. It’s not bound to 
servlets or HTML, however.

The Freemarker Template Language (FTL) is not a full-blown programming language 
like PHP. It’s a simple, specialized language (although among template 
languages it’s quite flexible). You meant to prepare the data to display in a 
real programming language, like issue database queries and do business 
calculations, and then the template displays that already prepared data.

Freemarker 1.x was initially released under the LGPL license. Later, by 
community consensus, we have switched over to a BSD-style license. As of 
Freemarker 2.2pre1 (2003), the original author, Benjamin Geer, has relinquished 
the copyright in behalf of Visigoth Software Society, a nonprofit organization 
started by Jonathan Revusky. With Freemarker 2.3.21 (2014) the license has 
changed to Apache License, Version 2.0, and the owner has changed from Visigoth 
Software Society to three of the Freemarker 2.x developers, Attila Szegedi, 
Daniel Dekany, and Jonathan Revusky. Apache License, Version 2.0, is the 
current license.

Freemarker is a mature, widely used template engine. While it continues to have a large 
user base, the active developer community has become rather small at this point, and we 
think that the "Apache Way" governance model and being part of the ASF 
(together with other projects that are already using Freemarker) would help to bring new 
life and energy to the project to better support the maintenance and improvements of the 
Freemarker codebase. A larger community may also help to improve tooling (such as IDE 
plugins) and integration with popular frameworks (such as Spring MVC, Struts, etc.), 
which could foster the adoption of Freemarker. Last but not least, being under the Apache 
umbrella would put the project into a more trustworthy legal context, which also helps 
adoption, particularly among bigger corporate users.

We believe that Freemarker should become a Top Level Project as opposed to a 
subproject because it has a long history and already a large feature set, 
codebase and documentation and there is a lot of room for innovation and 
improvement that would involve more community management; governance and 
autonomy to make its own direction and manage its own community may be 
important long term factors for the success of the project.

Background

A template engine is a template language with the basic infrastructure around 
it (configuring, caching, etc.). A template language is a language specialized 
on generating text based on changing data. Template languages like Freemarker 
Template Language are by design much simpler than general purpose languages, 
while providing convenient specialized language devices for tasks that are 
frequent during text generation.

Template engines, like Freemarker, play an important role in applications that 
leverage the MVC (Model View Controller) pattern; for example, several web 
applications and web application framework implement the MVC pattern in the 
user interface layer: the appearance of a page can be changed without 
programmers having to change or recompile code, because the application logic 
(for example a Java program or a Groovy script) and page design (for example a 
Freemarker template) are separated. Freemarker is used to implement the View 
(V) component of the MVC pattern.

Freemarker is also used for generating e-mail, configuration files, and pretty 
much anything that’s text. The same governing MVC principles apply there too, 
which helps to split the problem to more manageable pieces.

Rationale

Freemarker is a mature, stable, proven and feature rich template engine.

While there are multiple alternative template engines for Java, after more than 
15 years of life, Freemarker is still one of the most featureful and most 
widely used product in the category of templating engines for the Java 
platform. Despite its age, Freemarker still has potential to improve its 
functionality without breaking out-of-the-box backward compatibility, like 
fixing historical design mishaps, adopting proven ideas from template languages 
of other platforms, or to innovate with novel solutions to common templating 
problems.

Freemarker is integrated in several proprietary and open source products such 
as Apache Struts, Apache OFBiz, Apache Camel, Liferay, Alfresco, Magnolia, and 
new open source frameworks such as Moqui. Some popular IDEs, including IntelliJ 
and Eclipse, have plugins for the development of Freemarker templates.

With Freemarker joining the ASF, we hope that more developers would be able to 
join the effort and help improve and maintain the codebase, build new features 
and tools that could foster the long-term future of the product.

Current Status

Freemarker is a mature product created and maintained by a small open source 
community for more than 15 years.

Currently Freemarker provides a fully functional implementation licensed under 
ALv2. The project home is at http://freemarker.org/ and the majority of 
development is coordinated via Sourceforge 
(https://sourceforge.net/projects/freemarker/) and GitHub 
(https://github.com/freemarker/freemarker).

The project sports detailed documentation and a big ecosystem of projects 
leveraging it. In fact, quite a few existing ASF project have various 
integrations with Freemarker (OFBiz, Struts, Camel etc.).

Meritocracy

Freemarker has been run by a few core project members with a few contributions 
coming from a wide community of participants in the project. In the past, core 
project members have emerged because of their activity and merits as 
contributors. The Freemarker community is open to new ideas and to revisit old 
ones.

The committers and contributors that were actively involved in the project will 
be encouraged to join the new incubating community.

We want to expand our developer and user community and run the Freemarker project in the 
"Apache Way" clearly signaling not only the licensing, but also the governance 
choice.

Users and new contributors will be treated with respect and welcomed; they will 
earn merit in the project by providing quality patches and support that move 
the project forward. Those with a proven support and quality patch track record 
will be encouraged to become committers. Committers that will work for the 
growth and health of the community will be invited to become PMC members.

Community

There are currently just a few active core team members in the project and a 
small group of occasional contributors. The user base is quite large and 
composed by end users (developers using Freemarker for their job) and other 
open source projects.

Core Developers

Core developers are used to work in the openly governed communities. The core 
developers are not currently affiliated with the ASF.

Alignment

The Freemarker product is already licensed under ALv2 and has been created and 
maintained by an open source community for more than a decade. Freemarker has 
been integrated into Apache OFBiz, Apache Struts, Apache Camel, Apache Tiles 
and other projects. Becoming part of the ASF family can strengthen the 
collaboration with these and other projects.

Known Risks

While the Freemarker product is stable and very widely used, in the recent 
years the active core developer community practically has shrunk to one person 
(Daniel Dekany). The core group should grow by attracting new contributors in 
order to ensure continued maintenance in the future, and to win resources that 
helps Freemarker to evolve faster next to the maintenance burden.

In fact, if Freemarker will be accepted in the Incubator, the main goal during the 
incubation phase will be attracting new contributors and growing the community with an 
"Apache Way" governance model.

Orphaned products

The Freemarker project is backed up by an open source community that has 
created and maintained the product for more than 15 years.

Inexperience with Open Source

The proposers are experienced open source developers. Freemarker to date has 
been developed as an open source project.

Homogeneous Developers

The Freemarker community is not backed up by any corporation and is diverse in 
terms of geography and backgrounds of developers.

Reliance on Salaried Developers

The Freemarker contributors are volunteers that are not paid for their 
contributions to the project.

Relationships with Other Apache Products

Freemarker is an independent product but there are some relationships with 
other Apache products. Freemarker currently uses some Apache products, mostly 
in its build process (for example Apache Ant, Apache Ivy, Apache Xalan). 
Freemarker has been integrated into other Apache products such as Apache OFBiz, 
Apache Struts, Apache Camel, Apache Tiles. Becoming part of the ASF family 
could strengthen the collaboration with these and other projects. Apache 
Velocity is similar in purpose to Freemarker and both address similar needs for 
a template language in text generating applications. However Freemarker and 
Apache Velocity have a very different philosophy, design and implementation and 
there is a sufficient user base and history for both projects to justify their 
independent existence.

An Excessive Fascination with the Apache Brand

While we intend to leverage the Apache ‘branding’ when talking to other 
projects as testament of our project’s ‘neutrality’, we have no plans for 
making use of Apache brand in press releases nor posting billboards advertising 
acceptance of Freemarker into Apache Incubator.

Documentation

A mature project website is available at freemarker.org. In the website a 
complete manual is available: http://freemarker.org/docs/index.html

Initial Source

Initial source is available on GitHub under the ALv2:

        • https://github.com/freemarker/freemarker: The template engine itself
        • https://github.com/freemarker/site: Generates the freemarker.org Web 
site
        • https://github.com/freemarker/docgen: Transforms an XDocBook subset 
to HTML; used for the Freemarker Manual. (Also for the Web site in the future.)

Source and Intellectual Property Submission Plan

We know of no legal encumberments in the way of transfer of source to Apache. 
The copyright holders are the three main contributors in the history of the 
project, of which one is the current maintainer and main actor in this 
incubation process. The other two have been contacted to sign the Software 
License Agreement.

External Dependencies

The dependencies all have Apache compatible licenses.

Required Resources

Mailing lists

        • priv...@freemarker.incubator.apache.org (moderated subscriptions)
        • d...@freemarker.incubator.apache.org
        • notificati...@freemarker.incubator.apache.org (commits, CI reports)

Git Repository

        • https://git-wip-us.apache.org/repos/asf/incubator-freemarker.git: the 
template engine itself
        • 
https://git-wip-us.apache.org/repos/asf/incubator-freemarker-site.git: 
generates the freemarker.org Web site
        • 
https://git-wip-us.apache.org/repos/asf/incubator-freemarker-docgen.git: 
transforms an XDocBook subset to HTML; used for the Freemarker Manual (also for 
the Web site in the future).

Issue Tracking

JIRA Freemarker (FREEMARKER)

Initial Committers

        • Dániel Dékány, ddekany at freemail.hu
        • Evangelia Dendramis, evangeliad at gmail.com

Affiliations

        • Independent: Dániel Dékány
        • Independent: Evangelia Dendramis

Sponsors

Champion

Jacopo Cappellato

Nominated Mentors

        • David E. Jones - Apache Member
        • Jacopo Cappellato - Apache Member
        • Jean-Frederic Clere - Incubator PMC
        • Ralph Goers - Incubator PMC
        • Sergio Fernández - Incubator PMC

Sponsoring Entity

We would like to propose Apache Incubator to sponsor this project.


--
Jean-Baptiste Onofré
jbono...@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com

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

Reply via email to