+1 (binding) Thanks, Raymond
> On Feb 25, 2016, at 12:51 PM, William Marshall <wcmar...@gmail.com> wrote: > > +1 (non-binding) > On Feb 25, 2016 7:24 AM, "Amol Kekre" <a...@datatorrent.com> wrote: > >> +1 (non binding) >> >> Thks >> Amol >> >> On Thu, Feb 25, 2016 at 3:28 AM, Bhupesh Chawda <bhupeshcha...@gmail.com> >> wrote: >> >>> +1 (non-binding) >>> >>> Thanks. >>> -Bhupesh >>> >>> On Thu, Feb 25, 2016 at 4:42 PM, Sandeep Deshmukh < >> sand...@datatorrent.com >>>> >>> wrote: >>> >>>> +1 (non-binding) >>>> >>>> Regards, >>>> Sandeep >>>> >>>> On Thu, Feb 25, 2016 at 3:01 AM, Luciano Resende <luckbr1...@gmail.com >>> >>>> wrote: >>>> >>>>> (+1) binding >>>>> >>>>> On Wed, Feb 24, 2016 at 9:01 AM, Katherine Marsden < >>> kmars...@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.7090...@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 ==== >>>>>> . priv...@quarks.incubator.apache.org (with moderated >>> subscriptions) >>>>>> . d...@quarks.incubator.apache.org >>>>>> . comm...@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-unsubscr...@incubator.apache.org >>>>>> For additional commands, e-mail: general-h...@incubator.apache.org >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Luciano Resende >>>>> http://people.apache.org/~lresende >>>>> http://twitter.com/lresende1975 >>>>> http://lresende.blogspot.com/ >>>>> >>>> >>> >>> >>> >>> -- >>> Regards, >>> Bhupesh Chawda >>> >> --------------------------------------------------------------------- To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org For additional commands, e-mail: general-h...@incubator.apache.org