incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Julian Hyde <jh...@apache.org>
Subject Re: [VOTE] Accept Quarks into the Apache Incubator
Date Fri, 26 Feb 2016 18:41:53 GMT
+1 (binding)

> On Feb 26, 2016, at 10:36 AM, James Taylor <jamestaylor@apache.org> wrote:
> 
> +1
> 
> On Fri, Feb 26, 2016 at 8:47 AM, Arvind Prabhakar <arvind@apache.org> wrote:
> 
>> +1 (binding)
>> 
>> Regards,
>> Arvind
>> 
>> On Wed, Feb 24, 2016 at 9:01 AM, Katherine Marsden <kmarsden@apache.org>
>> 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
>>> 
>>> 
>> 


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


Mime
View raw message