incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "P. Taylor Goetz" <ptgo...@gmail.com>
Subject Re: [VOTE] Accept Mynewt into the Apache Incubator
Date Tue, 13 Oct 2015 00:25:42 GMT
+1 (binding)

-Taylor

> On Oct 12, 2015, at 12:04 PM, Sterling Hughes <sterling@apache.org> wrote:
> 
> Hi All,
> 
> As mentioned in the DISCUSS thread, all feedback has been positive on
> the Mynewt proposal, so I'd like to call a VOTE to accept Mynewt as a
> new ASF incubator project.
> 
> The full text of the proposal is available on the incubator wiki at
> the following URL:
> 
> https://wiki.apache.org/incubator/MynewtProposal?action=recall&rev=20
> 
> I have also included the full text below.
> 
> Vote is open until Thurs, 16th October 2015, 23:59:00 PST.
> 
>    [   ] +1 to accept Mynewt into the Apache Incubator
>    [   ] +0
>    [   ] -1 because...
> 
> Thank you,
> 
> Sterling
> 
> ----
> /!\ '''FINAL''' /!\
> 
> This proposal is now complete and has been submitted for a VOTE.
> ----
> 
> = 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
> * Jim Jagielski
> * Justin Mclean
> * Greg Stein
> * P. Taylor Goetz
> 
> === Sponsoring Entity ===
> 
> * The Incubator PMC.
> 
> ---------------------------------------------------------------------
> 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