incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jukka Zitting <>
Subject [VOTE] Accept Apache Callback for incubation
Date Tue, 11 Oct 2011 21:09:54 GMT

As discussed, the PhoneGap project would like to enter the Incubator
under the Apache Callback name (potential alternative names to be
discussed during incubation). The initial proposal has been well
received and there are no major open issues, so it's time to vote!

Thus I'm now calling a formal VOTE on the Apache Callback proposal as
included below. The proposal is also available at on
the PhoneGap wiki, and I'll place a copy for our archives on the
Incubator wiki as soon as it stops giving me internal server errors.

Please VOTE:

    [ ] +1 Accept Apache Callback for incubation
    [ ] -1  Don't accept Apache Callback for incubation because...

This vote is open for the next 72 hours. Everyone is welcome to
participate, but only votes from the Incubator PMC members are

Thanks! My vote is +1.

Best regards,

Jukka Zitting


Apache Callback Proposal


Apache Callback is a platform for building native mobile applications
using HTML, CSS and JavaScript.


Apache Callback allows web developers to natively target Apple iOS, Google
Android, RIM BlackBerry, Microsoft Windows Phone 7, HP webOS, Nokia Symbian
and Samsung Bada with a single codebase. The Callback APIs are based on
open web standards. The Callback bridge technology enables access to native
device capabilities. Utilizing the Callback bridge native plugins allow
for any type of native access from the embedded webview.


Apache Callback is the free software evolution of the popular PhoneGap

PhoneGap evolved from a hack that enabled a FFI (Foreign Function Interface)
to an embedded WebView on iOS to a complete suite of tools for tackling
parity across many mobile device and desktop platforms.

PhoneGap has always focused on two complementary goals. Our first goal,
is to see the web as a first class development platform. Not a sandbox
without a filesystem but a real first class platform that includes access
to the local system apis, sensors and data, in addition to first class
tooling such as system debuggers. The second goal of PhoneGap  is for
the project to cease to exist. This is not a nihilistic sentiment, rather
we at the PhoneGap project are providing a reference implementation for
web browsers to assist and guide the standardization process of browser APIs.

The name and trademark of PhoneGap will become the commercial entity for
the project. The source, code, documentation and related assets will all
be contributed to the Apache Foundation as Callback.

The Callback name comes from the event of the same name that is fired
when the FFI bridge is established.


The dominate window to the web is quickly becoming devices, mostly phones.
The manufacturers of devices, creators of mobile operating systems, and
authors of web browsers are consolidating. (In many cases these are all
already the same company.) Those stakeholders may see a future for the
web but their bottom line is not necessarily motivated to participate in
an open web. It is especially clear that while many of these platforms
have been seeing some level of strategic neglect in favor of enhanced
experiences at the price locking developers into their respective
platforms. The Callback project exists to bring the focus back to an
open and accessible web.

Initial Goals

* License all PhoneGap source code and documentation to the Apache
  Software Foundation. (We already name the Apache license in our CLA.)
* Setup and standardize the open governance of the Callback project.
* Rename all assets from PhoneGap to Callback in project src, docs,
  tests and related infrastructure.

Current Status

Callback is a mature software project recently shipping 1.0 on July 29, 2011.


Callback has always been a project driven by merit and, in a sense, our
solution is brute force requiring many collaborating developers to
solve our goals.

It would be far easier, and perhaps more "correct", for the Callback
project to port a single web browser codebase, and API bindings, across
platforms but our executable size would be appreciably larger, unacceptably
so for mobile, and our target abstraction would be only tertiary to
maintaining a codebase of that size. By relying on the platform browser,
exposed by the platform SDK, we get a quick win to the browser and only
have to focus on our bridge. This means the project requires developers
with proficiency on each platform: collaboration is a natural side effect.


The community surrounding Callback is vast, diverse, distributed globally,
and with all levels of proficiency in software development---the common
thread of web development binding them all.  In terms of contribution,
excluding Nitobi Software employees, the Callback project has 70 contributors.

In terms of user adoption, precise numbers are impossible for us to know
due to the open nature of the project. At the time of this writing Callback
is downloaded 60,000 times a month and daily traffic to
is roughly 24,000 uniques (625,000 / mo). The Callback mailing list has over
7,000 members. A quick look on our IRC channel or Twitter usually shows
activity within minutes. The community is engaged and active daily. We
really try to be as responsive, inclusive and honestly emphatic when it
comes to supporting our community.

Core Developers

* Brian LeRoux, Nitobi
* Dr. David Charles Johnson, Nitobi
* Fil Maj, Nitobi (BlackBerry)
* Joe Bowser, Nitobi (Android)
* Shazron Abdullah, Nitobi (iOS)
* Michael Brooks, Nitobi (Tooling, Docs)
* Herm Wong, Nitobi (webOS)
* Anis Kadri, Nitobi (Bada)
* Jesse MacFadyen, Nitobi (WP7)
* Brett Rudd, Nitobi
* Ryan Willoughby, Nitobi
* Bryce Curtis, IBM
* Becky Gibson, IBM (iOS)
* Simon MacDonald, IBM (Android)
* Drew Walters, IBM (BlackBerry)
* Justin Tyberg, IBM (BlackBerry)
* Patrick Mueller, IBM (Tooling, Weinre)


The only way the Callback project can work is if it is an open, transparent
and collaborative effort. The proliferation of operating systems and
platforms requires a large amount of manpower to tackle! The project has
now grown in mind-share and community enough that we believe it is time
we work with a foundation to see the code mature in a fashion consistent
with our values.

Known Risks

There are many organizations outside Nitobi and IBM behind the Callback
project but generally it is these two organizations that divide, and
conquer, the work. We recognize the risk of having two sponsoring
corporations with salaried developers behind the project and would
like to see more free collaboration from the community. That said,
many, if not most, project contributors work on Callback in their own
time and outside of the daily grind.


It should be noted that a community effort is currently underway translating
the Callback documentation from English into Japanese, Chinese, Spanish
and Portuguese.


Initial Source

Callback is a diverse project. Originally we maintained all platforms from
a single source tree. This became untenable as new platforms and structure
was introduced. All projects related to the Callback project can be found
on GitHub under the PhoneGap organization (

The main Callback repositories are:

* PhoneGap/iOS
* PhoneGap/Android
* PhoneGap/BlackBerry
* PhoneGap/webOS
* PhoneGap/WP7
* PhoneGap/Bada
* PhoneGap/Mac
* PhoneGap/Docs
* PhoneGap/Debug
* PhoneGap/Test

Beta, deprecated, and experimental codebases make up the rest.

Source and IP Submission Plan

* All canonical source will be moved to Apache infrastructure under the
  name Callback.
* Documentation should be moved completely over to the Apache systems.
* All open to further understanding of Apache infrastructure.
* The existing PhoneGap trademark will be used as a commercial entity.

External Dependencies

All Callback projects rely on the native SDKs for their respective
platforms. The Callback project itself does not rely on 3rd party libs.
The BlackBerry implementation does have its own Java implementation of
JSON library with more compatible licensing.

Required Resources

Mailing Lists

* callback-dev
* callback-commits
* callback-private

Subversion Directories

* incubator/callback/ios
* incubator/callback/android
* incubator/callback/blackberry
* incubator/callback/wp7
* incubator/callback/bada
* incubator/callback/mac
* incubator/callback/docs

(Git mirrors of these codebases will also be needed.)

Issue Tracking (Jira)

* Callback/iOS (CBIOS)
* Callback/Android (CBANDROID)
* Callback/BlackBerry (CBBLACKBERRY)
* Callback/WP7 (CBWP7)
* Callback/Bada (CBBADA)
* Callback/Mac (CBMAC)
* Callback/Docs (CBDOCS)

Initial Committers

* Brian LeRoux (b at
* Dr. David Charles Johnson (dave.c.johnson at
* Fil Maj (maj.fil at
* Joe Bowser (bowserj at
* Shazron Abdullah (shazron at
* Michael Brooks (michael at
* Herm Wong
* Anis Kadri (anis.kadri at
* Jesse MacFadyen (jesse.macfadyen at
* Brett Rudd (brett.rudd at
* Ryan Willoughby (rywillo at
* Bryce Curtis, IBM
* Becky Gibson, IBM (iOS)
* Simon MacDonald, IBM (Android)
* Drew Walters, IBM (BlackBerry)
* Justin Tyberg, IBM (BlackBerry)
* Patrick Mueller, IBM (Tooling, Weinre)
* Abu Obeida Bakhach, Windows Phone 7 (abu.obeida at
* Sergey Grebnov, Windows Phone 7 (sergeyg at



* David Nuescheler
* Sam Ruby

Nominated Mentors

* Jukka Zitting
* Christian Grobmeier
* Gianugo Rabellino
* Ross Gardler
* Andrew Savory

Sponsoring Entity

* Apache Incubator

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

View raw message