Thanks all for the corrections. The "official" results are... [7] +1 Accept Juneau into the Apache Incubator Jochen Wiedmann (binding) Craig Russell (binding) Niall Pemberton (binding) Bertrand Delacretaz (binding) Josh Elser (binding) Stian Soiland-Reyes John D. Ament (binding)
[0] +/-0 Not overly bothered either way [0] -1 DO NOT accept Juneau into the Apache Incubator On Fri, Jun 24, 2016 at 9:29 PM, Niall Pemberton <niall.pember...@gmail.com> wrote: > I am also on the IPMC and my vote is binding. > > Niall > > On Fri, Jun 24, 2016 at 10:14 PM, John D. Ament <johndam...@apache.org> > wrote: > > > Please note, both Bertrand and I are binding votes. > > > > Don't rely on the voter to indicate whether they are binding or not, > always > > check against http://home.apache.org/phonebook.html?ctte=incubator > > If they're in that list, they're binding. > > > > John > > > > On Fri, Jun 24, 2016 at 11:51 AM James Bognar < > james.bog...@salesforce.com > > > > > wrote: > > > > > The results are in and voting is now closed. The votes were... > > > > > > [7] +1 Accept Juneau into the Apache Incubator > > > Jochen Wiedmann (binding) > > > Craig Russell (binding) > > > Niall Pemberton > > > Bertrand Delacretaz > > > Josh Elser (binding) > > > Stian Soiland-Reyes > > > John D. Ament > > > > > > [0] +/-0 Not overly bothered either way > > > > > > [0] -1 DO NOT accept Junea into the Apache Incubator > > > > > > Juneau has been accepted into the Incubator! > > > > > > Thanks everyone who took time to look at the project and vote! > > > > > > The vote thread can be found here: > > > > > > > > > https://lists.apache.org/thread.html/9930cf5160a0409937f901f9d1aeab67e967e3506005fcfcb619c630@%3Cgeneral.incubator.apache.org%3E > > > > > > ---------- Forwarded message ---------- > > > From: James Bognar <james.bog...@salesforce.com> > > > Date: Tue, Jun 21, 2016 at 1:10 PM > > > Subject: [VOTE] Accept Juneau into the Apache Incubator > > > To: general@incubator.apache.org > > > > > > > > > Hi all, > > > > > > It looks like the discussion thread has died down so I am now calling a > > > vote on accepting Juneau into the Apache Incubator. > > > > > > For those who are interested the DISCUSS thread can be found at > > > > > > > > > https://lists.apache.org/thread.html/cabhuohovdfkncfawcsu58g0vvod19kocaquabo9j7fd9aei...@mail.gmail.com > > > > > > This vote will run for the usual 72 hours. > > > > > > Please VOTE as follows > > > [ ] +1 Accept Juneau into the Apache Incubator > > > [ ] +/-0 Not overly bothered either way > > > [ ] -1 DO NOT accept Juneau into the Apache Incubator (please state > why) > > > > > > Thanks everyone who contributed to DISCUSS and is able to participate > in > > > VOTE. > > > > > > -- > > > James Bognar > > > > > > > > > ### PROPOSAL ### > > > > > > = Juneau Toolkit = > > > > > > == Abstract == > > > > > > Apache Juneau is a toolkit for marshalling POJOs to a wide variety of > > > content types using a common framework, and for creating sophisticated > > > self-documenting REST interfaces and microservices using VERY little > > code. > > > > > > == Proposal == > > > > > > An external website has been set up to point to existing libraries and > > > documentation: > > > https://sites.google.com/site/apachejuneau/ > > > > > > Juneau consists of 4 components: '''Core''', '''Server''', > '''Client''', > > > and '''Microservice'''. > > > * '''Core''' > > > * Simple, flexible, all-in-one API for serializing/parsing Java POJOs > > to > > > JSON, XML, HTML, URL-Encoding, UON, RDF/XML, RDF/XML-ABBREV, N3, > Turtle, > > > N-Tuple, XML-Schema, JSON-schema, and Cognos-XML. > > > * Serialize/parse structured documents using beans, or unstructured > > > free-form documents using generic Maps and Collections. > > > * DTO objects for creating ATOM feeds, Cognos, and JSON-schema in any > > > supported languages (e.g ATOM in JSON or RDF). > > > * Serializers have many options for tweaking output (e.g. whitespace > > > options, XML namespace options, strict/non-strict syntax, etc...) > > > * Sophisticated JSON parsing support. Supports ALL valid JSON. It > > also > > > supports Javascript-style comments, single or double quoting, quoted > > > (strict) or unquoted (non-strict) attributes, JSON fragments (e.g JSON > > > string, numeric, boolean values), and concatenated strings. > > > * Sophisticated API for reading and manipulating configuration INI > > files > > > using POJOs. > > > * '''Server''' > > > * Build complex REST interfaces using annotations and servlets. > > > * Automatic parsing of POJOs from HTTP bodies, form posts, query > > > parameters, URL variables, request attributes, headers, etc... > > > * Automatic serializing of POJOs to HTTP responses. > > > * Automatic error handling. > > > * Automatic self-documenting OPTIONs pages. > > > * Support for guards, filters, etc... > > > * Simple internationalization support. > > > * JAX-RS integration support. > > > * '''Client''' > > > * Simple REST Client API for interacting with REST services using > > POJOs. > > > Built on top of Apache HTTP Client. > > > * Ability to retrieve POJO proxies that use REST as the communcations > > > protocol. > > > * '''Microservice''' > > > * Build self-contained REST interfaces as executable jars. > > > * Built on top of embedded Jetty and configured through either > external > > > INI config files or manifest files. > > > > > > == Background == > > > > > > Juneau has been in use for years on over 50 projects throughout IBM. > > > Recently it was hosted as a component of Jazz Foundation where it was > > used > > > by several projects that make up Rational Collaborative Lifecycle > > > Management. Many projects use only the marshalling framework, while > > others > > > use the entire API to create sophisticated REST server/client > interfaces. > > > > > > It started life as an IBM Community Source (internal open source) > project > > > called "JJSON", a POJO JSON marshalling library. It was later renamed > > > "Juno" due to existing use of the name. > > > > > > Between 2008-2012, the project was used by many IBM projects and was at > > > times the 2nd-most popular community source project in IBM. > > > > > > In 2012, the project was merged into Jazz Foundation, but it also > > remained > > > as a separate IBM Community Source project. The "main" stream was in > > Jazz > > > Foundation, and the streams would periodically be synced to produce > > > standalone releases for non-Jazz products. > > > > > > In April 2016, the lead developer left IBM to join Salesforce. IBM > > agreed > > > to make it an open source project so that development on it could > > continue. > > > > > > Peter Haumer is the IBM liaison in this endeavor. He will be handling > > the > > > legal aspects of this contribution. He uses Juneau in multiple > projects > > > and has an interest in seeing development continue. He has plans on > > > enhancing the RDF support. > > > > > > == Rationale == > > > > > > Currently, there is no common framework for marshalling POJOs in a > > > consistent fashion to a variety of content types. Having a single > common > > > API for serializers and parsers allows for a REST API that's > considerably > > > simpler than similar frameworks such as JAX-RS. > > > > > > The use of a common infrastructure for marshalling has many advantages. > > > Enhancements can often be made in the core framework without having to > > > modify the serializers and parsers. And an exhaustive set of JUnit > > > testcases ensure that POJOs are represented in a consistent way when > > > represented in any of those content types. > > > > > > Combining the marshalling framework with an annotation-based REST API > > > produces a framework that allows developers to create REST interfaces > > using > > > POJOs without having to deal with complexities of proper handling of > > Accept > > > and Content-Type headers on HTTP requests and responses. The result > is a > > > REST interface that can automatically parse requests into POJOs and > > > serialize POJOs in responses in any of the supported languages. > > > > > > == Initial Goals == > > > > > > The goals of Juneau include: > > > * Simplicity! The ability to create complex REST interfaces in as > > little > > > code as possible. Let the developers deal with POJOs and let the > > framework > > > handle the details of marshalling those POJOs. > > > * Discoverability! Users should be able to navigate through and > figure > > > out how to use a REST interface through the use of auto-generated > OPTIONs > > > pages. > > > * Customizability! Lots of easy-to-understand configurable options > > > throughout the framework. > > > * Performance! Lots of work has been done to optimize the marshalling > > > framework for use in high-concurrency environments. POJOs are > marshalled > > > directly without the use of intermediate DOM objects. > > > * No code generation or code scanning. Code generators are great > until > > > they break and nobody knows how to fix them. > > > * No configuration or setup for using. Simply include the library in > > your > > > existing code and start using. Packaged as either an all-in-one jar or > > as > > > OSGi bundles. > > > * Mimimal dependence on any 3rd party libraries. See prereqs below. > > > * Always up-to-date information by using Javadocs for documentation. > > The > > > Javadoc overview document provides an overview of the toolkit with > links > > to > > > detailed package-level topics. > > > > > > == Current Status == > > > > > > Juneau currently exists under the code name "Juno" within Jazz > Foundation > > > and is actively used in many business units throughout IBM and > throughout > > > the world. This project is an attempt to convert that code base into > an > > > open source library. "Juneau" is a fork from this existing codebase > that > > > will be maintained and hosted in a separate !GitHub repository. > > > > > > The codebase is mature and tested. The code and documentation is > > > up-to-date. It includes 3000+ JUnit testcases that ensure that POJOs > are > > > represented consistently across all supported content types. > > > > > > === Meritocracy === > > > > > > Juneau was originally created by James Bognar, team lead in Jazz > > > Foundation, in 2007 as part of Rational Asset Analyzer as a tool for > > > converting POJOs to JSON. Later, it grew as a superior replacement to > > > Restlet for creating REST interfaces. Then in 2012, it was merged into > > > Jazz Foundation as the preferred framework for creating REST interfaces > > in > > > Jazz-based products. > > > > > > === Community === > > > > > > Juneau created a strong following over the years as an IBM Community > > Source > > > project. > > > > > > Slack has been used heavily by this community within IBM. A new Slack > > > community has been set up as a transition for this community: > > > https://juneau-cloud.slack.com > > > > > > === Core Developers === > > > > > > Juneau was started as an internal IBM Community Source project with a > > > diverse set of community members from around the world. > > > The initial list of core developers started from that community and > have > > an > > > interest in seeing it opened up as an open source project outside of > IBM. > > > > > > === Alignment === > > > > > > Juneau contains dependencies on the following projects: > > > * Apache Jena > > > * Apache !HttpClient > > > > > > == Known Risks == > > > > > > === Orphaned products === > > > > > > Most of the development of the project has been done by James Bognar. > > Much > > > work has been done by this developer to make this a consumable library, > > and > > > so there is a desire to continue it's development. > > > > > > This reliance on a single developer is a known issue that we hope to > > > remediate. > > > > > > === Inexperience with Open Source === > > > > > > The initial developers are very familiar with the use of existing open > > > source products in commercial products and working on projects within > the > > > Eclipse community. > > > > > > This is the first time the developers have submitted and worked on an > > > Apache open source project. > > > > > > === Homogenous Developers === > > > > > > The two initial developers span two different companies: Salesforce > and > > > IBM. > > > > > > We highly anticipate that the list of developers will quickly grow to > > > include existing community members located in places such as China and > > > India. > > > > > > === Reliance on Salaried Developers === > > > > > > It's expected that development will occur primarily on volunteer time > as > > it > > > has in the past. > > > > > > === Relationships with Other Apache Products === > > > > > > Juneau contains dependencies on the following projects: > > > * Apache Jena > > > * Apache !HttpClient > > > > > > === A Excessive Fascination with the Apache Brand === > > > > > > Our interest in submitting this as an Apache-branded product is mostly > > due > > > to its existing co-dependence on other Apache-branded products. > > > > > > We plan on making this an open-source project regardless of whether it > > > makes it out of incubator stage. > > > > > > == Documentation == > > > > > > Links to all documentation: > > > https://sites.google.com/site/apachejuneau/links > > > > > > Javadocs: https://juno-cloud-api-javadocs.mybluemix.net/index.html > > > > > > Overview: > > > > https://juno-cloud-api-javadocs.mybluemix.net/overview-summary.html#TOP > > > > > > Release Notes: > > > > > > > > > https://juno-cloud-api-javadocs.mybluemix.net/overview-summary.html#ReleaseNotes > > > > > > == Initial Source == > > > > > > The source code is currently located in a Rational Team Concert source > > code > > > repository internally in IBM. > > > > > > == Source and Intellectual Property Submission Plan == > > > > > > IBM legal has given approval for making this project available as an > > > Apache-branded product. Peter Haumer will handle requests for more > > > information. > > > > > > All source code will be made available under the Apache V2 license. > > > > > > == External Dependencies == > > > > > > The dependences all have Apache compatible licenses. > > > > > > == Cryptography == > > > > > > Juneau contains no cryptographic resources. > > > > > > == Required Resources == > > > > > > === Mailing lists === > > > > > > priv...@juneau.incubator.apache.org > > > d...@juneau.incubator.apache.org > > > > > > === Subversion Directory === > > > > > > Not used. > > > > > > === Git Repository === > > > > > > Source code: > > > https://git-wip-us.apache.org/repos/asf/incubator-juneau.git > > > > > > Site code: > > > https://git-wip-us.apache.org/repos/asf/incubator-juneau-site.git > > > > > > === Issue Tracking === > > > > > > JIRA Juneau > > > > > > === Other Resources === > > > > > > None. > > > > > > == Initial Committers == > > > > > > * James Bognar > > > * Peter Haumer > > > * Craig Chaney > > > * Min Idzelis > > > * David M Goddard > > > * Brian Laskey > > > > > > == Affiliations == > > > > > > * Salesforce: James Bognar, Craig Chaney, Min Idzelis > > > * IBM: Peter Haumer, David M Goddard, Brian Laskey > > > > > > == Sponsors == > > > > > > === Champion === > > > > > > John D Ament - (johndament at apache dot org) > > > > > > === Nominated Mentors === > > > > > > John D Ament - (johndament at apache dot org) > > > > > > Jochen Wiedmann - (jochen at apache dot org) > > > > > > Craig L Russell - (craig dot russell at oracle dot com) > > > > > > === Unofficial Mentors === > > > > > > Stian Soiland-Reyes - (stain at apache dot org) > > > > > > === Sponsoring Entity === > > > > > > We request that the Incubator PMC sponsors this project > > > > > > > > > > > > -- > > > James Bognar > > > > > > -- James Bognar