From Fedora Project Wiki
This document is in draft status
We're still working on this.

Document Purpose and Overview

What this document describes

This is the Product Requirements Document for Fedora IoT. It:

  • Provides a high-level market overview of the IoT market as it pertains to Fedora IoT; this includes items which may not be within our actual scope/ability to accomplish at the current time.
  • Provides deeper understanding of the types of users who could use Fedora for their IoT needs. This includes describing their main day-to-day tasks, common problems, etc. The perspective here is not necessarily limited to system administrators, or developers, but a combination of many types of users and roles.
  • Ties common issues and needs of potential users/consumers of Fedora IoT to high-level product needs, from a "functional" standpoint.

This document does not dictate implementation details. The goals in this document will drive the continued implementation of this Edition.

Fedora IoT Vision Statement

Fedora is the default platform in the IoT space. Anyone starting an IoT project, from cute embedded hacks all the way up to a multi-million device deployment will start with Fedora.

Fedora IoT Mission Statement

Fedora IoT makes Fedora the default for open source innovation on IoT hardware, middleware, cloud, and backend platforms.

Market Opportunity

The IoT market is relatively immature and rapidly expanding. Analysts predict the global market will grow to $457B in 2020, representing an annualized growth rate of nearly 30%. Fedora IoT has opportunity for adoption as the market expands to in number and innovation.

IoT uses span from trivial toy projects to home automation to industrial control to autonomous driving. IoT devices present several challenges compared to general-purpose computing:

  • Resource-constrained devices
  • Security risks due to default passwords and short maintenance lifecycles
  • Data management and AI requirements at the edge

Edition Objectives

Primary Objective

Fedora IoT consists of a base edition released on a regular montly cycle that can be used for:

  • Running on IoT devices
  • Network, storage and other appliances
  • End to end IoT use cases including end points, messaging, data lakes and analysis

A series of supported multi-arch containers able to provide various IoT verticals on top of the Fedora IoT base or running on Kubernetes to provide an end to end IoT platform.

Secondary Objectives

Aside from the adoption and development of applications on top of the Fedora IoT platform, we have a few secondary goals that should be helped by wider adoption:

  • Engagement in Fedora from a wider IoT ecosystem, including vendors, hobbyists, and students
  • Positive press coverage from general media and IoT-specific media
  • Improvements to ostree and related technologies that can benefit Fedora as a whole

User Profiles, Primary Use Cases and Goals

Personas

We will use a set of personasto describe our target users and their respective needs. This document will list the personas in their simplified forms, with detailed explanations of each one available on their respective wiki pages.

  1. IoT hobbyist
    • Uses IoT devices to experiment with technology
  2. Makers and hobbyists
    • Uses SBCs such as the Raspberry Pi to make Robots or use it for home automation
  3. Partners
    • Companies that wish to support Fedora IoT on their devices to provide options for their customers when building IoT platforms and products
  4. Companies
    • Companies that wish to use Fedora IoT as a basis for their IoT product or platform

Use Cases

There's a lot of possible use-cases that Fedora IoT will need to address. IoT is a vast array of verticals and it's impossible to address all of them with a small community. The aim for Fedora IoT is to provide a good and generic base for which to build any IoT platform. Fedora IoT will need to address the following use-cases:

  1. IoT hobbyist
    • Uses IoT devices to experiment with technology
  2. Makers and hobbyists
    • Uses SBCs such as the Raspberry Pi to make Robots or use it for home automation
  3. Partners
    • Companies that wish to support Fedora IoT on their devices to provide options for their customers when building IoT platforms and products
  4. Companies
    • Companies that wish to use Fedora IoT as a basis for their IoT product or platform

Logistical Concerns

Delivery Mechanisms

Fedora IoT will produce a rolling release with monthly snapshots using Fedora Core OS. The working group will coordinate with Fedora Release Engineering to ensure monthly snapshots are produced and distributed in a supportable manner.

Documentation

The IoT working group will work with the Documentation team to produce IoT-specific documentation for users and developers.

Where to obtain

Users will be able to obtain these images from the Fedora Project website and mirror networks.

Measuring Success

In order to measure success we will monitor (somewhat arbitrary) numbers over time. The list of metrics we take in account will be adapted over time to measure specific efforts within the framework of the Server Working Group goals.

The initial basic set of metrics will be:

  • At least one large hardware vendor uses Fedora IoT as the basis for their platform.

About this Document

Authors

Contributors to this document include: