~launchpad-pqm/launchpad/devel

12708.3.2 by Jonathan Lange
Wording tweaks.
1
================
2
Launchpad Values
3
================
11307.3.16 by Jonathan Lange
Move a bunch of stuff out to values.txt
4
5
Whenever we are thinking about what Launchpad should be, or how we should
6
implement a change, or whether something is a good idea or not, we have
12708.3.2 by Jonathan Lange
Wording tweaks.
7
recourse to three distinct sets of guidelines.
8
12708.3.3 by Jonathan Lange
Rename 'vision' to 'strategy'
9
The first is :doc:`strategy`, which reminds us why we are making Launchpad and
12708.3.2 by Jonathan Lange
Wording tweaks.
10
helps us answer questions such as "How does this help Launchpad meet its
11
goals?".  The second is :doc:`scope`, which helps us answer questions like "Is
12
this in scope?".  Together, they sort out the 'matter' of Launchpad.
13
14
The third is this document, the Launchpad Values.  It tries to address the
11307.3.16 by Jonathan Lange
Move a bunch of stuff out to values.txt
15
'manner' of Launchpad.  It, perhaps, will not answer specific questions for
16
you.  Rather, it will rule out certain options and decisions before they are
17
even considered.
18
12708.3.3 by Jonathan Lange
Rename 'vision' to 'strategy'
19
Like the :doc:`strategy`, this document is living: it should be changed and
12708.3.2 by Jonathan Lange
Wording tweaks.
20
improved as we learn more about how to make Launchpad.  It is also
21
aspirational: not all of Launchpad lives up to these values.
11307.3.16 by Jonathan Lange
Move a bunch of stuff out to values.txt
22
23
24
Better tools help
25
=================
26
27
Launchpad is fundamentally based on the principle that improving the tools
28
that we use to make things will help us make better things than we could
29
before and indeed make better things more cheaply than we could before.
30
31
Launchpad should be that "better tool" and be always aiming to smooth and
32
accelerate the process of making software.
33
34
35
Invisible.  If not, fun.
36
========================
37
38
Launchpad is a tool to help busy people get important stuff done.  It should
39
stay out of the way where possible.  Bugs, OOPSes, downtime and slowness all
40
draw attention to Launchpad and away from the interesting problems that our
41
users are trying to solve.
42
43
Where it is not possible to stay out of the way, Launchpad should be fun to
44
use.  We make next actions obvious and draw attention to users' achievements.
45
46
11307.3.17 by Jonathan Lange
Update the Values document.
47
Example
48
-------
49
50
When a branch is merged into the trunk of a project, that's generally the end
51
of its story.  Launchpad quietly and silently detects that it has been merged
52
and marks the branch and any merge proposals as such.  The branch then no
53
longer appears on default listings.
54
55
11307.3.16 by Jonathan Lange
Move a bunch of stuff out to values.txt
56
Reveal opportunities
57
====================
58
59
One of the grand things about open source software is that it is open to
60
contributions from total strangers.
61
62
Launchpad makes those contributions possible by removing as many barriers as
63
possible to contribution, and highlights areas where contributions would be
64
especially welcome.
65
11307.3.17 by Jonathan Lange
Update the Values document.
66
Example
67
-------
68
69
When you click the Translations tab of a project that's translatable, you see
70
a list of all of the languages you speak, together with a progress bar telling
71
you how much translation work is available.  You can click a language and
72
start translating right away.
11307.3.16 by Jonathan Lange
Move a bunch of stuff out to values.txt
73
74
75
Not our data
76
============
77
78
The data in Launchpad does not really belong to us, we are merely its
79
stewards.  We make sure that users can get their data easily and that they can
80
change it as they see fit.
81
11307.3.17 by Jonathan Lange
Update the Values document.
82
Example
83
-------
84
85
You can access almost all of the data in Launchpad through the RESTful APIs.
86
11307.3.16 by Jonathan Lange
Move a bunch of stuff out to values.txt
87
11307.3.21 by Jonathan Lange
New values.
88
Not just their data
89
===================
90
91
The data people store in Launchpad doesn't just belong to them, though.  It
92
also belongs to the wider open source community.  The data needs to be used to
93
link between other projects, and to allow Launchpad to act as a front-end of
94
open source.
95
96
Example
97
-------
98
99
Someone who is not actually a maintainer of a project might register that
100
project on Launchpad so they can import code or synchronize bugs or so forth.
101
If the project's actual maintainer comes along and wishes to take it down, we
102
will *not* do so.
103
104
11307.3.16 by Jonathan Lange
Move a bunch of stuff out to values.txt
105
Cross-project consistency
106
=========================
107
108
If you know how to contribute to one project on Launchpad, you ought to be
109
able to quickly and painlessly contribute to any other project on Launchpad.
110
Or, if you can't, it won't be Launchpad's fault.
111
11307.3.17 by Jonathan Lange
Update the Values document.
112
Example
113
-------
114
115
You can get the trunk branch for any project with 'bzr branch lp:project', or
116
the source for any Ubuntu package using 'bzr branch lp:ubuntu/project'.
117
11307.3.16 by Jonathan Lange
Move a bunch of stuff out to values.txt
118
119
All of open source
120
==================
121
122
Any open source project ought to be able to host itself on Launchpad.  We do
123
not enforce workflows, rather we allow people to fit their project's existing
124
workflow into Launchpad.
125
126
However, when we can, we encourage people toward best practices.  After all,
127
we want to make open source software better.
128
11307.3.17 by Jonathan Lange
Update the Values document.
129
Example
130
-------
131
132
Launchpad separates whether or not a reviewer approves of code from whether or
133
not a branch is approved to land.
134
11307.3.16 by Jonathan Lange
Move a bunch of stuff out to values.txt
135
11307.3.21 by Jonathan Lange
New values.
136
All users are potential contributors
137
====================================
138
139
One of the glories of open source is that any user is a potential
140
contributor.  Launchpad guides new users toward the ways where they can begin
141
to contribute.
142
143
11307.3.22 by Jonathan Lange
Words I was looking for.
144
Close the loop
145
==============
11307.3.16 by Jonathan Lange
Move a bunch of stuff out to values.txt
146
147
Something magical happens when a feature or a workflow reaches all the way
11307.3.22 by Jonathan Lange
Words I was looking for.
148
back to where it began.  The feature begins to re-inforce itself, and make
149
things possible that weren't possible before.
150
151
Another way of thinking about this is that the value is in the output, and
152
Launchpad is always concerned with the output of all of its features.
11307.3.17 by Jonathan Lange
Update the Values document.
153
154
Example
155
-------
156
157
These are examples of where we aren't there yet.
11307.3.16 by Jonathan Lange
Move a bunch of stuff out to values.txt
158
159
Being able to attach patches to bugs is great, but it's not good enough until
160
developers can easily *find* those patches.  Finding the patches is only good
161
enough when you can merge, comment and reject those patches.
162
163
Likewise, importing translations from an upstream is great, but it becomes
164
much, much better when those translations can be improved in Launchpad and
165
then sent back to the upstream.
12708.3.1 by Jonathan Lange
Split the "What is Launchpad?" part of the vision document into a separate document.
166
167
168
References
169
==========
170
12708.3.3 by Jonathan Lange
Rename 'vision' to 'strategy'
171
* :doc:`strategy`
12708.3.1 by Jonathan Lange
Split the "What is Launchpad?" part of the vision document into a separate document.
172
* :doc:`scope`