~launchpad-pqm/launchpad/devel

12708.3.1 by Jonathan Lange
Split the "What is Launchpad?" part of the vision document into a separate document.
1
==================
2
Launchpad Strategy
3
==================
12221.5.2 by Jonathan Lange
Import document from google docs
4
5
*We want to make Ubuntu the world’s best operating system. To do this, we need
6
to give Canonical an edge in productivity over and above other Linux vendors
7
and, just as importantly, help make the development of open source software
8
faster, more efficient and more innovative than its proprietary rivals.*
9
10
Launchpad does this by helping software developers share their work and
11
plans, not just within a project but also **between** projects.
11307.3.4 by Jonathan Lange
Some content for the vision document.
12
11307.3.18 by Jonathan Lange
Clean up a bit, remove gunk.
13
14
Introduction
15
============
16
12221.5.2 by Jonathan Lange
Import document from google docs
17
This document tries to answer two big questions:
18
19
1. *why* are we making Launchpad?
12708.3.1 by Jonathan Lange
Split the "What is Launchpad?" part of the vision document into a separate document.
20
2. *who* is Launchpad for?
21
22
This is not our strategy for the year or the scope of Launchpad development
23
for the next six months.  Rather, it is our answer to these fundamental
24
questions.
12221.5.2 by Jonathan Lange
Import document from google docs
25
26
When you are finished reading this document, you should know what problems we
12708.3.1 by Jonathan Lange
Split the "What is Launchpad?" part of the vision document into a separate document.
27
want to solve, what we hope to gain from solving these problems and how we
28
know if Launchpad is doing well.
12221.5.2 by Jonathan Lange
Import document from google docs
29
30
31
Audience
32
--------
33
34
This document is for everyone who cares about improving Launchpad. Primarily,
35
we’ve written it for Launchpad’s stakeholders within Canonical and for the
36
developers of Launchpad, whether they are Canonical employees or not.
11307.3.16 by Jonathan Lange
Move a bunch of stuff out to values.txt
37
38
12708.3.1 by Jonathan Lange
Split the "What is Launchpad?" part of the vision document into a separate document.
39
Why are we making Launchpad?
40
============================
11307.3.4 by Jonathan Lange
Some content for the vision document.
41
12221.5.2 by Jonathan Lange
Import document from google docs
42
The world we live in
43
--------------------
44
11307.3.5 by Jonathan Lange
Some changes from mrevell and some more stuff.
45
Open source software is bigger than you think.  It is much more than simply
12221.5.2 by Jonathan Lange
Import document from google docs
46
writing the code.  Code has to be packaged, integrated and delivered to users
47
who can then give feedback and file bugs.  Distributions made up of tens of
48
thousands of different software packages need to be released to meet a
49
deadline.  Translations must be made into hundreds of different languages and
50
accumulated from a variety of sources.  Everywhere bugs need to be tracked,
51
fixed and checked.  Plans must be made and kept.  Distributions have to be
52
made to work on a wide variety of hardware platforms with varying degrees of
53
openness.
54
55
Those who make open source software and wish to profit commercially also face
56
unique challenges.  Contributors are scattered across the world, making
57
coordination, communication and alignment just that little bit more difficult.
58
Many contributors are volunteers, and so decisions must often be made by
59
consensus, deadlines enforced without the leverage of an employment contract
60
and quality maintained without formal training.  Users of open source software
61
use a widely heterogeneous stack of software and hardware, thus increasing the
62
burden of compatibility work.  All of these things make open source software
63
development more difficult, thus increasing the need for tools to aid
64
collaboration.
11307.3.16 by Jonathan Lange
Move a bunch of stuff out to values.txt
65
66
The Ubuntu community, together with Canonical, are dedicated to making the
67
very best open source operating system possible, one that far excels any
12221.5.2 by Jonathan Lange
Import document from google docs
68
proprietary operating system.  To do this, we need to ensure that the process
69
of making Ubuntu is as effective as possible.  Moreover, we need to make the
70
process of making open source software as effective as possible, and then make
71
it easy, quick and desirable to get that software into Ubuntu.
72
73
Secondarily, Canonical's main business is the provision of premium services
74
built around Ubuntu.  Many of these services are based on proprietary
75
software, which Canonical must be able to make more quickly and at less cost
76
than any rival.
77
78
The word "effective" covers a multitude of concepts.  Here we mean doing the
79
*right* work with the highest possible *quality* as *quickly* and with as
80
little *waste* as possible.
81
82
83
Business goals
84
--------------
85
86
Launchpad exists to give Canonical a competitive advantage over other
87
operating system vendors and service providers, both proprietary and open
88
source.
89
90
To gain an advantage over *open source* operating system vendors, Canonical is
91
relying on Launchpad to:
92
93
* increase Canonical's effectiveness in making software
94
* grow and accelerate contributions to Ubuntu
95
96
To gain an advantage over proprietary operating system vendors, Canonical
97
needs Launchpad to do both of the above and:
98
99
* improve and accelerate open source software development in general beyond
100
  that of proprietary software so that the software in Ubuntu is better than
101
  the software in any rival proprietary operating system
102
103
The value flow of Launchpad can be summed up in this diagram:
104
12221.5.4 by Jonathan Lange
Correct links to images.
105
.. image:: images/value-flow.svg
12221.5.2 by Jonathan Lange
Import document from google docs
106
107
108
Who is Launchpad for?
109
=====================
110
111
Launchpad is aimed at many different groups of users.  They can be roughly
112
described as follows:
113
114
Software developers
115
  These are people who make or contribute to free and open source
116
  software. They are made up of both paid professionals and volunteers working
117
  in their spare time.  They vary widely in expertise and patience.  Any given
118
  software developer might be working on both open source software and
119
  proprietary software.
120
121
Expert users of software
122
  The sort of people who file bugs, try new releases, run the bleeding edge
123
  snapshot, are interested in following development plans, who help other
124
  people on mailing lists. Note that software developers are frequently but
125
  not always expert users of software.
126
127
End users of software
128
  People who download and install software and then use it.  These people have
129
  little understanding about what software actually is or how it is made.
130
  They use it, sometimes without noticing, sometimes enjoying it, sometimes
131
  hating it.
132
133
Translators
134
  A special class of software developer who is normally a native speaker of a
135
  language other than English.  They contribute to open source software
136
  projects not by submitting code, but by translating strings to new
137
  languages.
138
139
Managers
140
  These are managers in the broad sense of people who are responsible for the
141
  completion of a task and so need to know what many other people are doing
142
  towards that goal.  This includes release managers, project leads and
143
  traditional corporate project managers.  It does not necessarily mean people
144
  who are employed as managers.
145
146
147
User needs
148
----------
149
150
The people who use Launchpad, in whatever role, share one broad goal: “make
151
great software and get it to its users”.  To do this, they need:
152
153
* tools to facilitate collaboration on their proprietary and open source
154
  software projects
155
* a place to host and publish their open source software projects
156
* as little overhead as possible in maintaining these projects
157
* more contributors to their projects
158
* to be able to easily contribute to existing software projects
159
160
Some of our users have particular needs:
161
162
* managers need to be able to quickly get an overview of activity and
163
  progress for their teams and their projects
164
* expert users of software need to be able to give high quality feedback to
165
  the software developers
166
167
Further, we believe that providing tools for cross-project collaboration, we
168
can benefit our users by:
169
170
* giving them feedback from groups of their own users that they couldn’t reach
171
  before
172
* reducing the time and effort required to publish software to actual end
173
  users
174
* pointing them to knowledge and fixes from other projects in their network
175
* helping OS-driven improvements reach them code faster, and their
176
  improvements reach the OS faster
177
178
179
Conflicts between business goals & user needs
180
---------------------------------------------
181
182
Canonical is primarily interested in open source software that runs on Linux
183
or lives within the Linux ecosystem.  Thus, even though Launchpad could be an
184
excellent, general platform for Windows, OS X, iOS and Android based software,
185
our main area of focus is software that is aimed to run natively on Linux.
186
187
Canonical is much more interested in quality assurance and release management
188
than many open source and even proprietary projects.
11307.3.16 by Jonathan Lange
Move a bunch of stuff out to values.txt
189
190
12221.5.2 by Jonathan Lange
Import document from google docs
191
References
192
==========
193
12708.3.1 by Jonathan Lange
Split the "What is Launchpad?" part of the vision document into a separate document.
194
* :doc:`scope`
195
* :doc:`values`
12221.5.2 by Jonathan Lange
Import document from google docs
196
* `Feature checklist <https://dev.launchpad.net/FeatureChecklist>`_