incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Gruno <humbed...@apache.org>
Subject Re: [PROPOSAL] Tempo - A proposal for an enterprise IoT platform
Date Wed, 02 Dec 2015 20:41:13 GMT
Top-posting because solidwalloftext.
Sounds quite interesting, and it's (mostly) within language scopes I'm
comfortable with (python, JS etc). I'd like to volunteer as a mentor for
this, should it be approved.

With regards,
Daniel

On 12/02/2015 09:34 PM, Tony Faustini wrote:
> To: general@incubator.apache.org
> 
> Hi All, Litbit is an enterprise IoT company comprised of individuals
> that have worked for Yahoo, Apple, Microsoft, Sun Microsystems, Intel,
> Cisco Systems and 365 Main. We are working with some of the world's
> leading companies providing them with an enterprise IoT platform. We
> value the open source community and the way it is changing enterprise
> software. We are eager to build an open source community around Tempo
> which powers RhythmOS our commercial offering.
> 
> Thanks
> -Tony Faustini (Litbit Co)
> 
> 
> Tempo - A Proposal for Apache Incubator
> 
> Abstract
> 
> The Apache Foundation has been very successful in bringing together
> key software components that have enabled people to interact with each
> other via a variety of content platforms and it will no doubt continue
> to do so.  At the same time modern society is becoming increasingly
> dependent on devices that interact with each other and with people.
> The amount of data that will be produced by devices will be orders of
> magnitude greater than what has been produced by humans in the past.
> In addition, the orchestration of devices and people will be an
> important area of growth for the foreseeable future. This new dynamic
> will eventually become manifest in a growing number of Apache projects
> that enable this to occur. Our wish is to contribute to this movement
> by contributing the Tempo system to the Open Source Community via the
> Apache Foundation. Tempo is an open platform to interconnect any and
> all devices, sensors, people, and applications, henceforth referred to
> as points, through a scalable, secure, and modular architecture,
> enabling applications to generate analysis, create actions and/or add
> intelligence to their behaviors and patterns.
> 
> Proposal
> 
> Perhaps you are a homeowner configuring the interaction between your
> family and all the smart devices in your home. Or you might be a
> global company orchestrating millions of devices and people across
> different continents.  Either way you face the same fundamental
> problem; namely, how do you manage many points in a secure robust and
> meaningful manner?  Tempo is an open source software system that
> enables homeowners and global companies to download a software system
> that provides secure and robust orchestration.
> 
> The Tempo system consists of a variety of components:
> 
> - A basic but extensible desktop
> - An extensible mechanism for capturing data from a variety of sources
> - A set of translators that feed the data capture mechanism and a
> framework for the development of additional translators
> - A secure means of moving data using digital envelopes based on
> symmetric and asymmetric encryption and decryption via Apache Kafka
> - Optionally maintaining data encrypted in a datastore
> - Support for a variety of data repositories
> - Authentication and authorization using oAuth2
> - Secure APIs for access to data and the system information
> - User management
> - Device management
> - Automated software upgrades via Salt
> - Configuration management
> - Robust basic infrastructure based on Apache Mesos that enables scalability
> - Dockerized applications
> 
> Background
> 
> We are in the midst of a revolution in which the Internet of Things
> (IoT) is poised to impact the development of our society in ways we
> can not even begin to imagine. Unfortunately, we know of no coherent
> OSS (Open Source Software) solution that can harness the
> potentialities of this increasingly important trend. Manufacturers of
> IoT devices, both in the consumer and industrial spaces, continue to
> develop proprietary systems. Tempo is an open source IoT system that
> creates an open source solution enabling the orchestration of IoT
> devices that brings the benefits of OSS to this space. Tempo was
> initially developed by Litbit and is deployed in a growing number of
> Industrial contexts, especially in the context of Data Center
> Infrastructure.
> 
> Rationale
> 
> Tempo is a general platform for orchestrating IoT devices in both
> consumer and industrial contexts. It is complementary to the existing
> Apache projects and is itself built using of a number of Apache
> projects.  Bringing Tempo into Apache is very beneficial to both the
> Apache community and the IoT community.
> 
> The rapid growth of IoT needs to be harnessed in the Open Source
> Community. We believe the Apache Foundation is a great fit as the
> long-term home for Tempo, as it provides an established process for
> community-driven development and decision making by consensus. This is
> exactly the model we want for future Tempo development.
> 
> Initial Goals
> 
> Move the existing codebase to Apache
> Integrate with the Apache development process
> Ensure all dependencies are compliant with Apache License version 2.0
> Incremental development and releases per Apache guidelines
> 
> Current Status
> 
> Tempo has undergone a major release (0.1) and is being used in
> production by several global organizations. The Tempo codebase is
> currently hosted at github.com, which will seed the Apache git
> repository.
> 
> Meritocracy
> 
> We plan to invest in supporting a meritocracy. We will discuss the
> requirements in an open forum. Several companies have already
> expressed interest in this project, and we intend to invite additional
> developers to participate. We will encourage and monitor community
> participation so that privileges can be extended to those that
> contribute.
> 
> Community
> 
> The need for an open source IoT orchestration system is tremendous.
> Tempo is currently being used by several organizations worldwide. By
> bringing Tempo into Apache, we believe that the community will quickly
> grow and become a significant Apache offering.
> 
> Core Developers
> 
> Tempo was initially developed at Litbit by the following individuals:
> 
> Rutvij Clerk
> Miron Costant
> Tony Faustini
> Reza Hajebi
> AmirHossein Jabbari
> Shahin Mowzoon
> Scott Noteboom
> Sydney Noteboom
> Omkar Prabhu
> Don Shields
> 
> Alignment
> 
> IoT orchestration is in need of an Open Source Solution. We believe
> Tempo can be that solution and fill this need  in the Apache
> Foundation's offerings. We believe that Tempo will remove the barriers
> imposed by proprietary solutions and usher in significant growth for
> the Apache Foundation. The alignment is also beneficial to other
> Apache communities (such as Zookeeper, Kafka, and Mesos). We could
> include additional sub-projects in the future.
> 
> Known Risks
> 
> Orphaned Products
> 
> There will be an initial need to ensure the availability and
> robustness of an initial offering so that contributors and users are
> highly incentivized to continue development. To this  extent,
> organizations can be encouraged to build critical business
> applications around Tempo and the risk of the project being abandoned
> will be minimized.
> 
> Inexperience with Open Source
> 
> Our lack of experience with Open Source is an area we will need
> significant accompaniment with. We are more than willing to invest
> time and resources to create a healthy open source project. During
> that time, we will curate an open-source community and attract growing
> numbers of developers from a diverse group of contributors.
> 
> Homogenous Developers
> 
> The initial committers will be from Litbit, a well funded startup. We
> plan to grow Tempo with an active community of developers, and we are
> committed to recruiting additional committers based on their
> contributions to the project.
> 
> Reliance on Salaried Developers
> 
> It is expected that Tempo development will occur on both salaried time
> and on volunteer time, after hours. The majority of initial committers
> are paid by Litbit to contribute to this project. However, they are
> all passionate about the project, and we are confident that the
> project will continue even if no salaried developers contribute to the
> project. We are committed to recruiting additional committers
> including non-salaried developers.
> 
> Relationships with Other Apache Products
> 
> As mentioned in the Alignment section, Tempo is closely integrated
> with Zookeeper, Kafka, and Mesos. We look forward to collaborating
> with those communities, as well as other Apache communities.
> 
> Deep Respect for the Apache Brand
> 
> Tempo will become a healthy and well known open source project. This
> proposal is not for the purpose of generating publicity. Rather, the
> primary benefits to joining Apache are those outlined in the Rationale
> section.
> 
> Documentation
> 
> The reader will find these websites highly relevant:
> 
> Tempo website: Coming soon
> Tempo documentation: Coming soon
> Codebase: Becoming public soon
> User group: Coming soon
> 
> Source and Intellectual Property Submission Plan
> 
> The Tempo codebase is currently hosted on Github. To give you some
> idea of what we will be contributing here are some basic statistics
> from our current Github
> 
> OAuth Server
>       30 text files.
>       30 unique files.
>        5 files ignored.
> 
> http://cloc.sourceforge.net v 1.64  T=0.17 s (168.9 files/s, 101341.2 lines/s)
> 
> -------------------------------------------------------------------------------
> Language                     files       blank        comment      code
> -------------------------------------------------------------------------------
> CSS                                7           2724              70       12148
> Javascript                       5             144            254         1054
> Python                          14               73              60
>        129
> HTML                             2               15                7
>          119
> -------------------------------------------------------------------------------
> SUM:                            28           2956            391        13450
> -------------------------------------------------------------------------------
> 
> 
> Data Server
>       21 text files.
>       20 unique files.
>        9 files ignored.
> 
> http://cloc.sourceforge.net v 1.64  T=0.08 s (208.7 files/s, 19657.5 lines/s)
> 
> -------------------------------------------------------------------------------
> Language                     files        blank        comment      code
> -------------------------------------------------------------------------------
> Python                          15            196            290            829
> make                              1              30                6
>          156
> -------------------------------------------------------------------------------
> SUM:                            16            226            296            985
> -------------------------------------------------------------------------------
> 
> 
> Management Server
>      114 text files.
>      110 unique files.
>       16 files ignored.
> 
> http://cloc.sourceforge.net v 1.64  T=0.40 s (260.1 files/s, 59749.4 lines/s)
> 
> -------------------------------------------------------------------------------
> Language                     files       blank        comment       code
> -------------------------------------------------------------------------------
> CSS                                7           2724              70
>       12148
> Python                          31             757            340
>       3203
> HTML                            61            383              32
>        2823
> Javascript                       5             144            254
>       1054
> make                              1               30                6
>             156
> -------------------------------------------------------------------------------
> SUM:                           105           4038            702          19384
> -------------------------------------------------------------------------------
> 
> Data Pipeline
>       81 text files.
>       81 unique files.
>       26 files ignored.
> 
> http://cloc.sourceforge.net v 1.64  T=0.32 s (177.3 files/s, 15377.2 lines/s)
> 
> -------------------------------------------------------------------------------
> Language                     files      blank     comment      code
> -------------------------------------------------------------------------------
> Java                            54            609            909        2915
> Maven                           1             16             24            408
> XML                               2               0              1
>          63
> -------------------------------------------------------------------------------
> SUM:                            57            625            934        3386
> -------------------------------------------------------------------------------
> 
> 
> Orchestration
>        5 text files.
>        5 unique files.
>        3 files ignored.
> 
> http://cloc.sourceforge.net v 1.64  T=0.03 s (90.1 files/s, 32463.5 lines/s)
> 
> -------------------------------------------------------------------------------
> Language                     files      blank        comment      code
> -------------------------------------------------------------------------------
> Python                           3            113             78            890
> -------------------------------------------------------------------------------
> SUM:                             3            113             78            890
> -------------------------------------------------------------------------------
> 
> 
> Data Collector
>       13 text files.
>       12 unique files.
>        4 files ignored.
> 
> http://cloc.sourceforge.net v 1.64  T=0.04 s (256.8 files/s, 18873.7 lines/s)
> 
> -------------------------------------------------------------------------------
> Language                     files        blank     comment      code
> -------------------------------------------------------------------------------
> Cython                           1             50             49            318
> Python                           8             56             40            220
> Bourne Shell                  1               0              0                2
> -------------------------------------------------------------------------------
> SUM:                            10            106             89          540
> -------------------------------------------------------------------------------
> 
> This is the exact codebase that we would migrate to the Apache foundation.
> 
> Upon entering Apache, Tempo will migrate to an Apache License 2.0 with
> all contributions licensed to the Apache Foundation. In certain cases
> if individuals or organizations hold copyright, we will ensure they
> grant a license to the Apache Foundation. Going forward, all commits
> will be licensed directly to the Apache foundation through our signed
> Individual Contributor License Agreements for all committers on the
> project.
> 
> Upon entering Apache, Litbit will sign over copyright to the Apache foundation.
> 
> External Dependencies
> 
> To the best of our knowledge, all of Tempo dependencies (except 0MQ)
> are distributed under Apache compatible licenses. Upon acceptance to
> the incubator, we would begin a thorough analysis of all transitive
> dependencies to verify this fact and introduce license checking into
> the build and release process (for instance integrating Apache Rat).
> 
> Tempo has used 0MQ for some types of internal messaging, and 0MQ is
> licensed under the GNU Lesser General Public License. We are in the
> process of making the Tempo messaging layer pluggable, and plan to use
> Netty (which is licensed under Apache License v2) as our default
> messaging plugin (while keeping 0MQ as an optional plugin).
> 
> Cryptography
> 
> We do not expect Tempo to be a controlled export item due to the use
> of encryption. Tempo enables encryptions via a digital envelope using:
> 
> RSA 128 Bits
> AES 128 Bits
> 
> Required Resources
> 
> Mailing lists
> 
> tempo-user
> tempo-dev
> tempo-commits
> tempo-private (with moderated subscriptions)
> 
> Subversion Directory
> 
> Git is the preferred source control system: git://git.apache.org/tempo
> 
> Issue Tracking
> 
> JIRA Tempo (Tempo)
> 
> Initial Committers
> 
> Pritesh Bharakhada < pritesh at e2logy dot com >
> Rutvij Clerk <rutvij at litbit dot com>
> Miron Costant <miron at litbit dot com>
> Tony Faustini <tony at litbit dot com >
> Reza Hajebi <reza at litbit dot com>
> Amirhossein Jabbari < amirhossein at litbit dot com>
> Shahin Mowzoon <shahin at litbit dot com>
> Scott Noteboom < notebooms at litbit dot com>
> Sydney Noteboom <sydney at litbit dot com>
> Shailesh Patel < shailesh at e2logy dot com >
> Omkar Prabhu <omkar at litbit dot com >
> Bill Salter <bsalter at enviseco dot com >
> Don Shields <dshields at litbit dot com >
> 
> Affiliations
> 
> Pritesh Bharakhada - e2logy
> Rutvij Clerk - Litbit
> Miron Costant - Litbit
> Tony Faustini - Litbit
> Reza Hajebi - Litbit
> Amirhossein Jabbari - Litbit
> Shahin Mowzoon - Litbit
> Scott Noteboom - Litbit
> Sydney Noteboom - Litbit
> Shailesh Patel - e2logy
> Omkar Prabhu - Litbit
> Bill Salter - Envise
> Don Shields - Litbit
> 
> Sponsors
> litbit
> 
> Champion
> TBD
> 
> We are looking for a champion
> 
> Nominated Mentors
> 
> TBD
> 
> Sponsoring Entity
> 
> The Apache 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