incubator-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Incubator Wiki] Update of "StackProposal" by Sterling Hughes
Date Sat, 05 Sep 2015 03:18:38 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Incubator Wiki" for change notification.

The "StackProposal" page has been changed by Sterling Hughes:
https://wiki.apache.org/incubator/StackProposal

New page:
= Stack Proposal =

== Abstract ==

Stack is a real-time operating system for constrained embedded systems like wearables, 
lightbulbs, locks and doorbells.  It works on a variety of 32-bit MCUs, including ARM 
Cortex-M, and MIPs architectures.  

It includes the following components: 

 * Real-time operating system kernel
  * Tasks
  * Scheduler
  * Mutexes
  * Semaphores 
  * Event Queues 
  * Callouts 
  * Time 
	
 * Bootloader for 32-bit MCUs
  * The ability to have primary and fallback images 
  * Facilities to support software upgrade, and autonomous fallback 
 
 * Log structured flash filesystem 
  * Designed for small embedded devices with <4MB of flash (as little as 64KB), 
    and large block sizes
  * Supports compression, error correction and encryption. 
	
 * Command line package management and build system
  * The ability to create a workspace, and manage source packages (e.g. to allow for multiple
different filesystem implementations) 
  * Dependency verification, and versioning 
  * Automatic building of workspaces, including all the relevant options for embedded platforms


 * Bluetooth LE stack 
  * Removes the need for proprietary "Soft Device" functionality found on the majority of
Bluetooth platforms today.
  * This is the _ONLY_ open-source BLE stack for RTOS environments 

 * Hardware Abstraction Layer unifying common MCU features (e.g. GPIOs, High Resolution Timers,
PWM interfaces, UARTs, ADCs, etc.)

== Proposal ==

The goal of this proposal is to bring the Stack codebase (developed by Runtime Inc.) into
the 
Apache Software Foundation, in order to create a vibrant, diverse, self-governed open source

community around the technology.   

Should this project be accepted into the incubator as a podling, we will transfer ownership

of all source code developed to date, to the ASF, and begin to develop an open-source community

around the project.  

== Background ==

Stack has been developed solely by Runtime to date.  We are a team of 3 
software engineers, that really love writing embedded systems, and want to be a part of developing

the de-facto real time operating system for embedded devices. 

== Rationale ==

== Initial Goals ==

The core of the Stack Operating System is functional, and has been developed.  

The goal is to have an initial release in February of 2016.  Between now 
& then, a number of things need to be finished: 

 * Completion of Bluetooth Low Energy Support 
 * Regression Testing Framework 
 * Power Management Support in the OS 
 * Bootloader and Filesystem Security
 * Bluetooth Software Update 
 * Instrumentation Framework 
  * Statistics 
  * Log files 
  * Debugger Support for Embedded Platforms 
  * Coredumps 
 * Support for more platforms (TI, Broadcom) and Cortex M* processor set 

Additionally, there is a number of other core services that need to be developed 
over time: 

 * Thread Stack (http://threadgroup.org/)
 * Drivers for Sensors and Actuators 
  * Services to control motors, pumps and read accelleromaters, heart rate sensors, etc. 
 * Core services for location & time 

Our goal is to enter the incubator and begin to develop a community around the Stack 
Operating System, as we move towards a GA release. 

== Current Status ==

=== Meritocracy ===
Initial development has been done at Runtime, however, Stack has been intended to be released
as an open source 
project from its inception.  

Our goal during incubation is to develop a community around Stack OS.  We fully intend this
to 
be a community run and led effort.  We believe that decisions should be made on the mailing
list, and that
core contributors (regardless of corporate affliation) should be the ones who decide the future
of the project.  

We will work during the incubator to foster new contributors and grow the community beyond
our company.  

=== Community ===

Right now, Stack is used by Runtime.  Our goal is to expand this community as we develop,
and 
release the operating system. 

=== Core Developers ===

The core developers of Stack are at Runtime.  The goal of the incubator is to grow that community
beyond our company.  

=== Alignment ===

While there is not much software for constrained embedded environments within the ASF today,
we 
believe that this is an important and growing area, and that the ASF can improve the world
by 
taking on projects. 

The ASF has advantages for projects in this space: 

 * The GPL (and LGPL) are particularly bad for physical products, as most constrained devices
are linked into a single executable, meaning any proprietary device that includes GPL'd source
code must release their software. 
  * This often contains information about proprietary hardware designs as well as software
designs. 
 * Most projects are either not community driven (e.g. ARM mbed) or lack a clean IP trail,
and have not paid attention to good housekeeping (e.g. CLAs)

== Known Risks ==

=== Orphaned Products ===
Stack is a new real-time operating system, without much adoption.  At Runtime, we are committed
to it's development, 
and our goal during the incubator is to grow the community and adoption around the Stack Operating
System.

=== Inexperience with Open Source ===

One of the members of the Stack team is an emeritus member of the Apache Software Foundation.
  The other two members
do not have experience with Open Source, but are curious.  All of us like to drink beer, and
enjoy the work.   

=== Reliance on Salaried Developers ===

Today, Stack relies on salaried developers for it's existence.  This is an issue we will look
to address during the incubation period: we want to develop a strong community around the
Stack Operating System. 

=== An Excessive Fascination with the Apache Brand ===

We like the Apache brand (it's a good brand!)  However, we want to enter the ASF because:


 * In order for an OS to be ultimately successful, it needs to be community driven 
 * We believe strongly in a community which is a meritocracy, and think that the ASF has a
successful framework for managing such communities. 
 * The ASF has a strong track record in developing healthy communities that co-exist with
commercial entities. 
 
== Documentation ==
None exists, actively being worked on! 

== Initial Source ==
All source code is currently hosted by Runtime, on Github.  Upon approval into the incubator,

this code will be gifted to the ASF.

== External Dependencies ==

No external dependencies currently exist, all code has been written by Runtime.

Down to the bare metal!   

== Cryptography ==

None

== Required Resources ==

=== Mailing lists ===

 * stack-dev@stack.incubator.apache.org
 * stack-commits@stack.incubator.apache.org
 * stack-user@stack.incubator.apache.org
 * stack-issues@stack.incubator.apache.org

=== Git Directory ===

We'd like to host the source code using Git.  

=== Issue Tracking ===

 * JIRA 

== Initial Committers ==

 * Sterling Hughes (sterling at apache.org)
 * William San Filippo (will at runtime.io)
 * Christopher Collins (chris at runtime.io)

== Affiliations ==

== Sponsors ==

=== Champion ===

=== Mentors ===

=== Sponsoring Entity ===
 * Ideally the Incubator PMC.  

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


Mime
View raw message