You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@incubator.apache.org by Katherine Marsden <km...@apache.org> on 2016/02/29 19:08:11 UTC

[RESULT] [VOTE] Accept Quarks into the Apache Incubator

This vote passes with the following votes

+1 binding
Katherine Marsden, Luciano Resende, Raymond Feng, Daniel Debrunner, 
Flavio Junqueira, Arvind Prabhakar, James Taylor, Julian Hyde, Phillip 
Rhodes, Charitha

Note:Dan and I  were confirmed as IPMC members this morning, so I 
updated our votes to binding.

+1 non-binding
Kathy Saunders, Sandeep Deshmukh, Bhupesh Chawda, Amol Kekre, William 
Marshall

0 - none
-1 - none

Final tally is 10 binding +1, 5 non-binding +1, and no other votes. 
Thank you everyone for voting.

Congratulations to the Quarks community!  I will start the process with 
the other mentors, community, and infrastructure to get the project set 
up in the incubator.

Best

Kathey

On 2/24/2016 9:01 AM, Katherine Marsden wrote:
> The Quarks proposal has been discussed on the incubator list.  The 
> discussion thread is at:
> http://mail-archives.apache.org/mod_mbox/incubator-general/201602.mbox/%3C56C27489.7090202@apache.org%3E 
>
>
> Feedback from the discussion including addition of mentor Justin 
> Mclean has been incorporated into the proposal below and available on 
> the wiki at:
> https://wiki.apache.org/incubator/QuarksProposal
>
> Please cast your vote to:
> [] +1 - accept Quarks as a new incubating project
> []  0 - not sure
> [] -1 - do not accept the Quarks project (because: ...)
>
> Thanks,
>
> Kathey Marsden
>
> = Quarks Proposal =
> === Abstract ===
> Quarks is a stream processing programming model and lightweight 
> runtime to execute analytics at devices on the edge or at the gateway.
>
> === Proposal ===
>  . Quarks  is a programming model and runtime for streaming analytics 
> at the edge.   Applications are developed using a functional flow api 
> to  define operations on data streams that is executed as a graph of 
> "oplets" in a lightweight embeddable runtime.   The SDK provides 
> capabilities like windowing, aggregation  and connectors with an 
> extensible model for the community to expand its  capabilities.
>
> === Background ===
>  . Stream processing systems are commonly used to process  data from 
> edge devices and there is a need to push some of the streaming 
> analytics to the edge to reduce communication costs, react  locally 
> and offload processing from the central systems. Quarks was developed 
> by IBM as an entirely new project to provide an SDK  and lightweight 
> embeddable runtime for streaming analytics at the edge.   Quarks was 
> created to be an open source project that could provide edge  
> analytics to a broad community and foster collaboration on common  
> analytics and connectors across a broad ecosystem of devices.
>
> === Rationale ===
>  . With the growth in number of connected devices (Internet of 
> Things)  there is a need to execute analytics at the edge in order to 
> take local  actions based upon sensor information and/or reduce the 
> volume of data  sent to back-end analytic systems to reduce 
> communication cost.
>  Quarks rationale is to provide  consistent and easy to use 
> programming models to allow application developers to focus on their  
> application rather than issues like device connectivity, threading 
> etc.   Quarks' functional data flow programming model is similar to 
> systems  like Apache Flink, Beam (An incubating Apache project), Java 
> 8 Streams & Apache Spark.   The API currently has language bindings 
> for Java8, Java7 and Android. Quarks was developed to address 
> requirements for analytics at the  edge for IoT use cases that were 
> not addressed by central analytic solutions.  We believe that these 
> capabilities will be useful to many  organizations and that the 
> diverse nature of edge devices and use cases  is best addressed by an 
> open community. Therefore, we would like to contribute Quarks to the 
> ASF as an open source project and begin developing a community of 
> developers and users within Apache.
>
> === Initial Goals ===
>  . Quarks initial code contribution provides:
>
>  * APIs for developing applications that execute  analytics using a 
> per-event (data item) streaming paradigm including  support for 
> windows  against a stream for aggregation
>  * A micro-kernel style runtime for execution.
>  * Connectors for MQTT, HTTP, JDBC, File, Apache Kafka &  IBM Watson 
> IoT Platform
>  * Simple analytics aimed at device sensors (using Apache Common Math)
>  * Development mode including a web-console to view the graph of 
> running applications
>  * Testing mechanism for Quarks applications that integrates with 
> assertion based testing systems like JUnit
>  * Android specific functionality such as producing a stream that 
> contains a phone's sensor events (e.g. ambient temperature, pressure)
>  * JUnit tests
>  .
>  . All of the initial code is implemented using Java 8 and when built 
> produces jars that can execute on Java 8, Java 7 and Android. The goal 
> is to encourage community contributions in any area of Quarks, to  
> expand the community (including new committers) and use of Quarks. We  
> expect contributions will be driven by real-world use of Quarks by  
> anyone active in the IoT space such as auto manufactures, insurance  
> companies, etc. as well as individuals experimenting with devices 
> such  as Raspberry Pis, Arduinos and/or smart phone apps etc. 
> Contributions would be welcomed in any aspect of Quarks including:
>  .
>  * Support for additional programming languages used in devices such 
> as C, OpenSwift, Python etc.
>  * Specific device feature (e.g. Raspberry Pi, Android) or protocol 
> (e.g. OBD-2) support
>  * Connectors for device to device (e.g. AllJoyn), device local data 
> sources,  or to back-end systems (e.g. a IoT cloud service)
>  * Additional analytics, either exposing more functionality from 
> Apache Common Math, other libraries or hand-coded analytics.
>  * Improvements to the development console, e.g. additional 
> visualizations of running applications
>  * Documentation, improving existing documentation or adding new 
> guides etc.
>  * Sample applications
>  * Testing
>   .
>  The  code base has been designed to be modular so that additional 
> functionality can be added without having to learn it completely, 
> thus  new contributors can get involved quickly by initially working 
> on a  focused item such as an additional analytic or connector. The  
> only constraints on contributions will be to keep Quarks on its focus  
> of IoT and edge computing, with attributes such as small footprint 
> and  modularity to allow deployments to only include what is needed 
> for that  specific device and/or application.
>
> === Current Status ===
>  . Quarks is a recently released project on Github 
> http://quarks-edge.github.io.    The current code is alpha level code 
> but is functional and has some  basic tests.  The team is looking 
> forward to working in the Apache  community to enhance the 
> functionality to allow robust streaming of  devices on the edge.
>
> ==== Meritocracy ====
>  . Quarks was originally created by Dan Debrunner, William Marshall,  
> Victor Dogaru, Dale LaBossiere and Susan Cline. We plan to embrace  
> meritocracy and encourage developers to participate and reach 
> committer  status.  Dan Debrunner was the initial creator of the 
> Apache Derby code  and a committer when Derby was accepted into 
> incubation.  He is an  Apache member and has experience with the 
> Apache Way.  Derby is a   successful project that embraces the Apache 
> meritocracy and graduated  from incubation  with a diverse group of 
> committers.
>  .
>  . With an abundance of devices that potentially can take advantage 
> of  Quarks, there is a large pool of potential contributors and 
> committers.   The initial  team is enthusiastic about assisting and 
> encouraging  involvement.
>
> ==== Community ====
>  . Quarks currently has a very small community as it is new, but our  
> goal is to build a diverse community at Apache.  The team strongly  
> believes that a diverse and vibrant community is critical as devices 
> on  the edge vary quite a bit.  The community will benefit from 
> developers  who have expertise in various devices.   We will seek to 
> build a strong  developer and user community around Quarks.
>
> ==== Core Developers ====
>  . The initial developers have many years of development experience in 
> stream processing.  The initial development  team includes developers 
> who have experience with Apache, including one  Apache member, and 
> with other open source projects on Github.
>
> === Alignment ===
>  . Quarks interacts with other Apache solutions such as Apache Kafka 
> and  Apache Spark.  Quarks is API driven, modular and written in 100% 
> java,  making it easy for developers to pick up and get involved.
>
> === Known Risks ===
> ==== Orphaned products ====
>  . The contributors are from a leading vendor in this space, who has  
> shown a commitment to Apache projects in the past.  They are 
> committed  to working on the project at least for the next several 
> years, as the  community grows and becomes more diverse.
>
> ==== Inexperience with Open Source ====
>  . Several of the core developers have experience with Apache, 
> including  a developer who is a committer on Derby and an Apache 
> member.  All of  the core developers have some level of experience 
> with the use of open  source packages and with contributions on 
> projects on sites such as  GitHub.
>
> ==== Homogenous Developers ====
>  . The initial set of developers come from one company, but we are 
> committed to finding a diverse set of committers and contributors. 
> The  current developers are already very familiar with working with 
> many  geographies, including developers in most geographies around the 
> world.   They  are also very comfortable working in a distributed 
> environment.
>
> ==== Reliance on Salaried Developers ====
>  . Quarks currently relies on salaried developers at this time, but 
> we  expect that Quarks will attract a diverse mix of contributors 
> going  forward.   For Quarks to fully transition to an "Apache Way" 
> governance model, we will embrace the meritocracy-centric way of 
> growing the community of contributors.
>
> ==== Relationships with Other Apache Products ====
>  . These Apache projects are used by the current codebase:
>  .
>  * Apache Ant - Build
>  * Apache Common Math - Initial analytics
>  * Apache HTTP Components HttpClient - HTTP connectivity
>  * Apache Kafka - Kafka is supported as a message hub between edge 
> Quarks applications and back-end analytics systems Events from Quarks 
> applications sent through message hubs (such as  Apache Kafka) may be 
> consumed by back-end systems such as Apache Flink, Apache Spark, 
> Apache Samza, Apache Storm, Beam (in  incubation) or others.
>
> ==== A Excessive Fascination with the Apache Brand ====
>  . Quarks will benefit greatly from wide collaboration with 
> developers  working in the device space.  We feel the Apache brand 
> will help attract  those developers who really want to contribute to 
> this space.  Several  developers involved with this project have a 
> very positive history with  Derby and feel that Apache is the right 
> place to grow the Quarks  community.  We will respect Apache brand 
> policies and follow the Apache  way.
>
> === Documentation ===
>  . http://quarks-edge.github.io/quarks.documentation
>
> === Initial Source ===
>  . Quarks code has been recently released on Github under the Apache 
> 2.0 license at https://github.com/quarks-edge/quarks . It was created 
> by a small team of developers, and is written in Java.
>
> === Source and Intellectual Property Submission Plan ===
>  . After acceptance into the incubator, IBM will execute a Software 
> Grant Agreement and the source code will be transitioned to the 
> Apache  infrastructure. The code is already licensed under the Apache 
> Software  License, version 2.0. We do not know of any legal issues 
> that would  inhibit the transfer to the ASF.
>
> === External Dependencies ===
>  . The dependencies all have Apache compatible license. These include 
> Apache, MIT and EPL. The current dependencies are:
>  * D3
>  * Jetty
>  * Apache Kafka
>  * Metrics
>  * MQTTV3
>  * SLF4J
>  * GSON
>  * Apache commons Math3
>  .
>  . Development tools are
>  .
>  * Java SDK 8
>  * Eclipse 4.5
>  * Ant 1.9
>  * Junit 4.10
>
> === Cryptography ===
>  . No cryptographic code is involved with Quarks.
>
> === Required Resources ===
> ==== Mailing lists ====
>  . private@quarks.incubator.apache.org (with moderated subscriptions)
>  . dev@quarks.incubator.apache.org
>  . commits@quarks.incubator.apache.org
>
> ==== Git Repository ====
>  . https://git-wip-us.apache.org/repos/asf/incubator-quarks.git
>
> ==== Issue Tracking ====
>  . Jira Project Quarks (QUARKS)
>
> ==== Other Resources ====
>  . Means of setting up regular builds and test cycle.
>
> === Initial Committers ===
>  .
>  * Daniel Debrunner:  djd at apache dot org -  CLA on file
>  * Susan Cline:  home4slc at pacbell dot net  - CLA on file
>  * William Marshall:  wcmarsha at gmail dot com  - CLA on file
>  * Victor Dogaru:  vdogaru at gmail dot com - CLA on file
>  * Dale LaBossiere:  dml.apache at gmail dot com  - CLA on file
>
> === Affiliations ===
>  * Daniel Debrunner IBM
>  * Susan Cline IBM
>  * William Marshall IBM
>  * Victor Dogaru  IBM
>  * Dale Labossiere IBM
>
> === Additional Interested Contributors ===
>  * May Wone: mnwone at gmail dot com
>  * Sandeep Deshmukh: sandeep at datatorrent dot com
>  * Bhupesh Chawda: bhupeshchawda at gmail dot com
>
> === Sponsors ===
> ==== Champion ====
>  . Katherine Marsden (kmarsden at apache dot org)
>
> ==== Nominated Mentors ====
>  * Katherine Marsden (kmarsden at apache dot org)
>  * Daniel Debrunner (djd at apache dot org)
>  * Luciano Resende (lresende at apache dot org)
>  * Justin Mclean (justin at classsoftware dot com)
>
> ==== Sponsoring Entity ====
>  . The Incubator
>


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