Return-Path: X-Original-To: apmail-incubator-general-archive@www.apache.org Delivered-To: apmail-incubator-general-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 33AA918323 for ; Thu, 8 Oct 2015 19:37:28 +0000 (UTC) Received: (qmail 81554 invoked by uid 500); 8 Oct 2015 19:37:27 -0000 Delivered-To: apmail-incubator-general-archive@incubator.apache.org Received: (qmail 81342 invoked by uid 500); 8 Oct 2015 19:37:27 -0000 Mailing-List: contact general-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: general@incubator.apache.org Delivered-To: mailing list general@incubator.apache.org Received: (qmail 81260 invoked by uid 99); 8 Oct 2015 19:37:27 -0000 Received: from Unknown (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 08 Oct 2015 19:37:27 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id C00ABC4D9A for ; Thu, 8 Oct 2015 19:37:26 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.001 X-Spam-Level: * X-Spam-Status: No, score=1.001 tagged_above=-999 required=6.31 tests=[KAM_LAZY_DOMAIN_SECURITY=1, URIBL_BLOCKED=0.001] autolearn=disabled Received: from mx1-eu-west.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id GUSf0HjlxGKJ for ; Thu, 8 Oct 2015 19:37:15 +0000 (UTC) Received: from relay6-d.mail.gandi.net (relay6-d.mail.gandi.net [217.70.183.198]) by mx1-eu-west.apache.org (ASF Mail Server at mx1-eu-west.apache.org) with ESMTPS id 01EB221247 for ; Thu, 8 Oct 2015 19:37:14 +0000 (UTC) Received: from mfilter44-d.gandi.net (mfilter44-d.gandi.net [217.70.178.175]) by relay6-d.mail.gandi.net (Postfix) with ESMTP id F20ACFB86F for ; Thu, 8 Oct 2015 21:37:13 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at mfilter44-d.gandi.net Received: from relay6-d.mail.gandi.net ([IPv6:::ffff:217.70.183.198]) by mfilter44-d.gandi.net (mfilter44-d.gandi.net [::ffff:10.0.15.180]) (amavisd-new, port 10024) with ESMTP id FJxLBoGG2IFr for ; Thu, 8 Oct 2015 21:37:12 +0200 (CEST) X-Originating-IP: 82.238.224.4 Received: from [192.168.134.16] (bre91-1-82-238-224-4.fbx.proxad.net [82.238.224.4]) (Authenticated sender: jb@nanthrax.net) by relay6-d.mail.gandi.net (Postfix) with ESMTPSA id 02F20FB89E for ; Thu, 8 Oct 2015 21:37:11 +0200 (CEST) Subject: Re: [DISCUSS] Mynewt Incubation Proposal To: general@incubator.apache.org References: <2C25278D-347E-45F7-A94C-088ED47536AA@apache.org> From: =?UTF-8?Q?Jean-Baptiste_Onofr=c3=a9?= Message-ID: <5616C5E7.9020106@nanthrax.net> Date: Thu, 8 Oct 2015 21:37:11 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit +1 to start a vote. Regards JB On 10/08/2015 06:20 PM, Sterling Hughes 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 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 === >> >> * dev@mynewt.incubator.apache.org >> * commits@mynewt.incubator.apache.org >> * notifications@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-unsubscribe@incubator.apache.org > For additional commands, e-mail: general-help@incubator.apache.org > -- Jean-Baptiste Onofré jbonofre@apache.org http://blog.nanthrax.net Talend - http://www.talend.com --------------------------------------------------------------------- To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org For additional commands, e-mail: general-help@incubator.apache.org