incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jean-Baptiste Onofré ...@nanthrax.net>
Subject Re: [VOTE] Accept Mynewt into the Apache Incubator
Date Mon, 12 Oct 2015 18:30:22 GMT
+1 (binding)

Regards
JB

On 10/12/2015 06:04 PM, Sterling Hughes 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
>

-- 
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


Mime
View raw message