Hi Tony,
It is a very interesting proposal and I would like to help out as well.
I do have a bit of experience of the IoT field, both part of my ASF
contributions and other work I did. I volunteer to be a mentor or
champion. Looks like one of your understated goals is to grow a
community and I agree the ASF is the right place for that.
You mentioned the code being available on github, but I couldn't find it
where I thought it could be [1]. Would it be possible to make the code
available to potential mentors? I think it would speed up the process
and you would get more support faster.
There were also a number of positive answers to your email on the
incubator list, but you were not cc'ed, so if you're not subscribed to
the list you might have missed them.
It's a great idea, thanks for considering the ASF incubator and it could
have great success given the growth of IoT.
Best Regards,
Hadrian
[1] https://github.com/litbit
On 12/02/2015 03: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-unsubscr...@incubator.apache.org
For additional commands, e-mail: general-h...@incubator.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org
For additional commands, e-mail: general-h...@incubator.apache.org