Hi Sterling, This looks really interesting.
If you’re interested in adding another mentor, I’d be happy to volunteer. -Taylor > On Oct 8, 2015, at 12:20 PM, Sterling Hughes <sterl...@apache.org> wrote: > > Hi All, > > All feedback thus far has been positive, so unless anyone objects, I > plan to move to a VOTE either tomorrow or Monday. > > Thanks, > > Sterling > > > On Mon, Oct 5, 2015 at 9:39 AM, Sterling Hughes <sterl...@apache.org> wrote: >> Hi! >> >> We would like to start a discussion on accepting Mynewt, a RTOS (real-time >> operating system) for Internet of Things devices, into the Apache Incubator. >> Please take a look at the proposal and let us know any comments or feedback >> you have. We think this project could be a pretty exciting way to expand >> the ASF >> into the Internet of Things and embedded software. We would love to hear >> from >> anyone who is interested in joining the project and helping out! >> >> The proposal is available online at: >> https://wiki.apache.org/incubator/MynewtProposal >> >> We are also looking for additional mentors to help us, as we go through the >> incubator. If you’re interested, please let us know. >> >> Thank you and Best, >> >> Sterling >> >> = Mynewt Proposal = >> >> == Abstract == >> >> Mynewt 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 (microcontrollers), including ARM Cortex-M and MIPS >> architectures. >> >> == Proposal == >> >> The goal of this proposal is to bring the Mynewt codebase (developed by >> Runtime, Inc.) into the Apache Software Foundation. Mynewt is designed to >> run constrained Internet of Things devices, where a small, real-time >> operating system is required. >> >> It includes the following components: >> >> * Real-time operating system kernel (Scheduler, Mutexes, Semaphores, etc.) >> >> * Command line package management and build system >> >> * Hardware Abstraction Layer unifying common MCU features (e.g. GPIOs, >> High Resolution Timers, PWM interfaces, UARTs, ADCs, etc.) >> >> * Board Support Infrastructure, that defines the framework for building >> software for various board architectures. >> >> Should this project be accepted into the incubator, Runtime, Inc. will >> assign the ASF a license to all source code developed to date and begin >> the development of an open source community around the project. >> >> == Background == >> >> Mynewt has been developed solely by Runtime to date. We are a team of 5 >> software engineers, that really love writing embedded systems. >> >> == Rationale == >> >> With the momentum behind the Internet of Things, there is an increasing >> need for standard open source software to help developers create connected >> devices. One area where there is a large need is an open-source, liberally >> licensed, community-driven RTOS (real-time operating system.) >> >> Today, there are many RTOSes, the majority of which are provided by >> proprietary vendors and many of which are not permissively licensed or >> controlled by a single company. These restrictions create fragmentation, >> because either not everyone can afford to purchase the operating system or >> restrictions put on the OS's use (e.g. restricted to vendor-specific >> platforms), means that people using other processors cannot adopt it. >> >> The lack of a standardized operating system creates fragmentation around >> everything above it. Because there is not a well adopted community driven >> operating system, people don't have a place to contribute back new >> drivers, or networking stacks. Additionally, there is constant work to >> port and maintain software across a myriad of different operating systems, >> all with slightly different APIs and interfaces. >> >> In order for the industry to accelerate and keep up with the increasing >> complexity in these devices, it's important that an open-source community >> form and provide a RTOS effort that: >> >> * Accepts community contributions and encourages code reuse >> * Natively supports source package management, to allow for efficient >> redistribution and reuse of software across a broad swath of use cases (from >> wearables to industrial equipment) >> * Supports all of the "new" protocol stacks required for IoT (e.g. >> Bluetooth, IPv6, >> etc.) >> * Has drivers for all new chipsets, sensors, and other devices >> >> The core of Mynewt has been designed to accommodate these requirements. It >> contains a small, pre-emptive RTOS core, that works on native (OS X, >> Linux) and Cortex platforms (and is easily portable to others), and >> standardized HAL and BSP interfaces. >> >> It also provides a build and package management tool that allows >> developers to install, develop, and redistribute source packages. This >> tool allows developers to start with the core of the OS and its >> interfaces, and then download only the source packages that are needed to >> run their embedded project. This will allow the community to grow beyond >> just porting the core of the Mynewt system and extend to all of the >> necessary protocol stacks, drivers and sensor interfaces that a modern >> embedded developer will need. >> >> In addition to the Mynewt core, there is active development around a set >> of commonly needed functionality when developing small embedded systems, >> including: >> >> * A Flash Filesystem designed for small flashes, with large block sizes >> (very common in single chip designs) >> * An Open Bluetooth stack with native support for prevalent modules >> >> == Initial Goals == >> >> The core of the Mynewt Operating System is functional. >> >> The goal is to have an initial release February, 2016. Between now and >> then, a number of things need to be finished: >> >> * Improved HAL (Hardware Abstraction Layer) >> * Regression Testing Framework >> * Power Management Support in the OS >> * Instrumentation Framework >> * Statistics >> * Log files >> * Debugger Support for Embedded Platforms >> * Coredumps >> * Support for more platforms (e.g. TI, Broadcom) and Cortex M* series >> processors. >> >> Additionally, there are a number of other core services that need to be >> developed around the core operating system. >> >> * Bluetooth LE and Wireless IP stacks >> * Log structured flash filesystem >> * Flash circular buffer stores >> * Drivers for Sensors and Actuators >> * Services to control motors, pumps, read accelerometers, heart rate >> sensors, etc. >> * Core services for location and time >> >> == Current Status == >> >> === Meritocracy === >> >> Initial development has been done at Runtime, however, Mynewt was >> intended to be released as an open source project from its inception. >> >> Our goal during incubation is to develop a community around Mynewt. 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 affiliation) 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, Mynewt is used by Runtime. Our goal is to expand this community >> as we develop, and release the operating system. There are a number of >> companies currently working to test and incorporate Mynewt into their >> products. >> >> === Core Developers === >> >> The core developers of Mynewt 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. >> >> The ASF has advantages for projects in this space: >> >> * The GPL (and LGPL) are profoundly impactful 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 wholly community driven and/or lack a clean IP >> trail. >> >> The permissive licensing enables more groups (both open and proprietary) to >> participate in development, to grow the community/ecosystem, and to remix >> Mynewt >> components into new hardware and software designs. >> >> == Known Risks == >> >> === Orphaned Products === >> >> Mynewt is a new real-time operating system without much adoption. At Runtime, >> we are committed to its development and our goal during the incubator is to >> grow >> the community and adoption around Mynewt. >> >> === Inexperience with Open Source === >> >> One of the members of the Runtime team is an emeritus member of the Apache >> Software Foundation. Another member has contributed extensively to Linux >> and FreeBSD. The other three members do not have experience with open >> source, but are curious. >> >> === Reliance on Salaried Developers === >> >> Today, Mynewt relies mostly on salaried developers for its existence. This >> is an issue we will look to address during the incubation period: we want >> to develop a strong community around Mynewt. >> >> === 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 proven, successful framework for managing such communities. >> * The ASF has a strong track record in developing healthy communities that >> co-exist with commercial entities. >> >> == Documentation == >> >> Documentation is available here: https://github.com/mynewt/documentation >> >> We are actively working on documentation and expect it to improve >> dramatically within the next couple of weeks. >> >> == Initial Source == >> >> All source code is currently hosted by Runtime, Inc. on Github. >> >> The source code can be found here: >> >> https://github.com/mynewt/ >> >> The "tadpole" repository contains the Core of the Operating System and >> file layout. The "larva" repository contains the Core OS and all packages >> developed around that core. The "newt" repository has the build and >> package management tool that is used to stitch together and build new OS >> projects. >> >> == External Dependencies == >> >> No external dependencies currently exist in the core OS; all code has been >> written by Runtime. >> >> The board and microcontroller-specific support packages contain code from >> the various MCU vendors. This code has been ensured to be under either an >> Apache or BSD license. >> >> == Cryptography == >> >> None >> >> == Required Resources == >> >> === Mailing lists === >> >> * d...@mynewt.incubator.apache.org >> * comm...@mynewt.incubator.apache.org >> * notificati...@mynewt.incubator.apache.org >> >> === Git Directory === >> >> We'd like to host the source code using Git. >> >> === Issue Tracking === >> >> * JIRA Project Mynewt (MYNEWT) >> >> == Initial Committers == >> >> * Sterling Hughes (sterling at apache.org) >> * William San Filippo (will at runtime.io) >> * Christopher Collins (chris at runtime.io) >> * Aditi Hilbert (aditi at runtime.io) >> * Marko Kiiskila (marko at runtime.io) >> * Justin Mclean (jmclean at apache.org) >> * Jan Iversen (jani at apache.org) >> >> == Affiliations == >> >> * Runtime: Sterling Hughes, William San Filippo, Christopher Collins, Aditi >> Hilbert, Marko Kiiskila. >> * Class Software: Justin Mclean >> * Unaffiliated: Jan Iversen >> >> == Sponsors == >> >> === Champion === >> >> * Marvin Humphrey >> >> === Mentors === >> >> * Sterling Hughes >> * Justin Mclean >> * Greg Stein >> >> === Sponsoring Entity === >> >> * The Incubator PMC. >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org > For additional commands, e-mail: general-h...@incubator.apache.org >
signature.asc
Description: Message signed with OpenPGP using GPGMail