summaryrefslogtreecommitdiffstats
path: root/project-proposal.txt
blob: 106dd6488d1a193a4e0425897bbc9a24ea863b90 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
* Project Title

Multipurpose Embedded Operating System Distribution


* Project Description (500 Words Max)

This project is to build a free/libre/open-source embedded operating system
distribution with BusyBox as its main userspace environment, Linux-libre as its
kernel, and the lightweight package manager opkg to manage and deploy software.
The small and flexible operating system should be configurable for a wide
variety of uses and hardware (televisions, automobiles, mobile phones, etc.).

To demonstrate the system's capabilities, a Web interface to manage software
packages and an example application will also be developed.


* Project Checkout Deliverables (i.e.: What is your specific criteria to
consider this project complete -This is regardless of what phase is this project
in. We cannot accept any project before answering this question clearly. This
criteria cannot be changed during the semester without instructor and team
approval)

The project should produce a working BusyBox/Linux-libre operating system with
all installed software managed by the opkg package manager.  There should be a
Web interface for managing (installing, upgrading, etc.) software packages.  The
operating system should run on a single-board computer.  Packaged and running on
the system should be software to demonstrate some example application (to be
selected with the team): probably either a remotely-controllable stereo system
running Music Player Daemon (MPD) or a federated microblogging instance powered
by StatusNet.

Time permitting and not required for project completion, the team might also
deploy software to manage the package archive (the server-side pool of packages
to be downloaded and installed onto embedded systems) and develop a program to
install the operating system onto storage media.


* Expected Skillset / Background (What kind of students are you looking for to
work on your project)

Students should have or be willing to gain some subset of the following:
  * Experience with UNIX-like operating systems, including the GNU tools and the
    Linux kernel;
  * Knowledge of the UNIX shell language;
  * Experience with Git; and
  * Familiarity with software packaging and/or build systems.


State the reasons why your product will be unique and competetive in the market
place?

There are many Linux-based embedded operating systems available.  However, many
of them are simply frameworks to build system images for target devices and
offer no way to upgrade software on deployed devices.  Many are designed for
only a small set of applications such as routers or consumer electronics.  Many
only work with one kernel and one set of system libraries.  Many are only built
for one family of hardware architectures.  This operating system is designed to
be able to support live software upgrades, a wide range of applications, a
choice of kernel and system libraries, and building for any target architecture
supported by the software.


What make you feel confident that you can translate your vision into reality?

A procedure to build a bootstrap system is nearly complete, and a draft
specification for the source package format is written.  By my estimates, the
tasks necessary to complete the project appear to be practicable within the
semester.

My current work and notes on the project are available in a Git repository and
accessible over the Web: <http://odin1.pehjota.net/git/free-embedded-os/tree/>.


* Would you be interested in sharing equity and/or profit with participating
students in your potential E-team?

Yes


What is your initial business model that would generate return on your
investment

A company can be incorporated to support the operating system distribution.
Hardware vendors could purchase support contracts to have the system ported to
their products and configured for their use cases.  The company could also offer
hosting services for vendors' software packages (including software
configuration and vendor branding).  The company should also provide consulting
to help hardware vendors comply with all legal requirements through all stages
of product development, deployment, and support.

Additionally, the company could someday design, build, and sell some of its own
hardware products (running this operating system distribution of course),
including possibly a portable media player and a video game console.


Would you require additional resources and funds from the capstone program and
its industry and community network? Please explain.

We will need funds (probably under $100) to purchase at least one single board
computer on which to develop and run the operating system.