Re: [Openstack] Feature Freeze status

2011-04-01 Thread FUJITA Tomonori
On Thu, 31 Mar 2011 10:02:34 +0200
Soren Hansen so...@openstack.org wrote:

 2011/3/31 FUJITA Tomonori fujita.tomon...@lab.ntt.co.jp:
  Sounds like the importance of blueprints is overrated. If you look at
  Linux kernel development (more than ten times developers and
  development speed, I guess),
 
 The Linux kernel development process uses a number of other approaches
 to deal with its volume. There a number of different staging trees.
 There are topic-based ones, like the one for people working on

'topic-based' is one of ways to manage a git tree so it's unrelated
with this top but as you said, the patch acceptance load is
distributed across a number of lieutenants. If there are more than
1,000 developers, you need to do that, I think. I expect OpenStack
will need to do the similar with developers increased. You don't?


  you see that lots of developers can work well without something like
  blueprints.
 
 Just so we're clear: Linux has merge windows as well. New features
 simply do not get to go into mainline outside of these merge windows.

Yeah, but you can propose new features (patches) any time.


 It's not uncommon for changes to take several kernel releases from being
 proposed until they're actually accepted into the tree. Also, noone
 promises that your stuff will get reviewed. Ever. We do. If you propose
 stuff in time, we promise it will at least be reviewed once before
 feature freeze.

Hmm, that 'promise' works (and will work in the future)? I already saw
the shortage of reviewing (and I even saw that a half-baked feature
without enough reviewed was merged and reverted).

I bet that we'll face more serious shortage of reviewing with
developers increasing. In genera, developers prefer to write own code
rather than reviewing. We can't change the nature.

I think that there is no such 'promise' for reviewing in a large
OSS. If your code can't get enough reviewers, your code might be not
useful enough for the project. It's sorta evolutionary theory. The
better code has the better chance to be merged quickly. The features
are prioritized fairly.


  I don't think that openness and transparency are not related with
  blueprints. You can simply discuss, make a decision, etc on public
  mailing lists.
 
 That's merely transposing the exact same process, isn't it? If the goal
 is to have features described, whether you have to type it in one place
 or another shouldn't matter much. What does matter, though, is tracking.
 I think it's common consensus that mailing lists make *dreadful* bug
 trackers.  I'm not sure I understand why it would be much better for
 tracking blueprints or whatever you'd call them in that context?

Oops, I didn't mean that. I just meant that you can achieve openness
and transparency without blueprints. I read some arguments in this
thread, something like blueprints is a must for openness and
transparency.


___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Feature Freeze status

2011-04-01 Thread Jay Pipes
On Fri, Apr 1, 2011 at 8:41 AM, FUJITA Tomonori
fujita.tomon...@lab.ntt.co.jp wrote:
 I bet that we'll face more serious shortage of reviewing with
 developers increasing. In genera, developers prefer to write own code
 rather than reviewing. We can't change the nature.

Yes, this is certainly true. I'm hoping that the PTL(s) will help give
some stability to the current process.

 I think that there is no such 'promise' for reviewing in a large
 OSS. If your code can't get enough reviewers, your code might be not
 useful enough for the project. It's sorta evolutionary theory. The
 better code has the better chance to be merged quickly. The features
 are prioritized fairly.

Hmm, I disagree. What is actually more likely is that the clique of
developers that the proposing author is friendly/familiar will review
their merge proposal before other ones. It's not really about good
code versus bad code. Again, it's about prioritizing the reviews for
folks that follow the procedures the community has agreed on.

If the community wants to change the procedures that it has agreed on,
it should do so at the next summit. I *think* that's what Vishy was
saying and that I agree with.

-jay

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Feature Freeze status

2011-04-01 Thread Jay Pipes
On Fri, Apr 1, 2011 at 9:19 AM, FUJITA Tomonori
fujita.tomon...@lab.ntt.co.jp wrote:
 Yeah, but discussion on the mailing list before the summit is useful
 (developers who can't attend the summit are able to discuss, I might
 not be able to make it too).

True enough :) Didn't mean to suggest the discussion on the ML wasn't
useful. It certainly has been!

Cheers,
jay

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Feature Freeze status

2011-04-01 Thread Soren Hansen
2011/4/1 FUJITA Tomonori fujita.tomon...@lab.ntt.co.jp:
 On Thu, 31 Mar 2011 10:02:34 +0200
 Soren Hansen so...@openstack.org wrote:
 2011/3/31 FUJITA Tomonori fujita.tomon...@lab.ntt.co.jp:
  Sounds like the importance of blueprints is overrated. If you look at
  Linux kernel development (more than ten times developers and
  development speed, I guess),
 The Linux kernel development process uses a number of other approaches
 to deal with its volume. There a number of different staging trees.
 There are topic-based ones, like the one for people working on
 'topic-based' is one of ways to manage a git tree so it's unrelated
 with this top

Um, no. I realise git has a concept of topic branches, but this is not
what I'm referring to at all. David Miller, for instance, maintains
git.kernel.org/.../davem/net-2.6.git which is where all the
interesting networking related stuff goes on. Every once in a while,
this gets merged into Linus' linux-2.6 tree.

 I expect OpenStack will need to do the similar with developers increased. You 
 don't?

Quite probably. When the time comes. Different scales of development
community warrant different approaches.

  you see that lots of developers can work well without something like
  blueprints.
 Just so we're clear: Linux has merge windows as well. New features
 simply do not get to go into mainline outside of these merge windows.
 Yeah, but you can propose new features (patches) any time.

Sure. You can do that in OpenStack, too. People just still expect to
get stuff discussed/reviewed/merged outside of this window. That's
what we're talking about. I don't believe our core development team is
large enough to support splitting our efforts like this. When we're
past feature freeze, we all need to focus on QA'ing what we've got
already. There are plenty of bugs to fix.

 It's not uncommon for changes to take several kernel releases from being
 proposed until they're actually accepted into the tree. Also, noone
 promises that your stuff will get reviewed. Ever. We do. If you propose
 stuff in time, we promise it will at least be reviewed once before
 feature freeze.
 Hmm, that 'promise' works (and will work in the future)?

If we want it to, it can. If noone does reviews and just everyone
keeps working on their own snazzy, new features, it won't. That's
really the core of this problem.

 I already saw
 the shortage of reviewing (and I even saw that a half-baked feature
 without enough reviewed was merged and reverted).

Yes! EXACTLY! Because people who ought to be reviewing aren't.

 I bet that we'll face more serious shortage of reviewing with
 developers increasing. In genera, developers prefer to write own code
 rather than reviewing. We can't change the nature.

Then people ought to grow up. Seriously. They should grow up and stop
saying that they're going to review stuff, or they should start
actually reviewing stuff.

 I think that there is no such 'promise' for reviewing in a large
 OSS. If your code can't get enough reviewers, your code might be not
 useful enough for the project. It's sorta evolutionary theory. The
 better code has the better chance to be merged quickly. The features
 are prioritized fairly.

I think we have quite different definitions of fair.

We're on a mission: to produce the ubiquitous Open Source Cloud
Computing platform that will meet the needs of public and private
clouds regardless of size, by being simple to implement and massively
scalable.

We can't pretend to meet everyone's needs if we only accept patches
that are fun to review or that we wrote ourselves.

-- 
Soren Hansen
Ubuntu Developer    http://www.ubuntu.com/
OpenStack Developer http://www.openstack.org/

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Feature Freeze status

2011-04-01 Thread FUJITA Tomonori
On Fri, 1 Apr 2011 22:02:02 +0200
Soren Hansen so...@openstack.org wrote:

  I already saw
  the shortage of reviewing (and I even saw that a half-baked feature
  without enough reviewed was merged and reverted).
 
 Yes! EXACTLY! Because people who ought to be reviewing aren't.

I think that we need to admint that there isn't enough reviewing power
for that 'promise'. Instead merge only patches that are reviewed
well. If people get frustrated with the speed of merging patches, some
developers start to review patches.


  I bet that we'll face more serious shortage of reviewing with
  developers increasing. In genera, developers prefer to write own code
  rather than reviewing. We can't change the nature.
 
 Then people ought to grow up. Seriously. They should grow up and stop
 saying that they're going to review stuff, or they should start
 actually reviewing stuff.

I don't think that people grow up in the way that you expect. I feel
that I listen to the shortage of reviewing discussion at every kernel
summit. Even though there are more than 1,000 kernel developers.


  I think that there is no such 'promise' for reviewing in a large
  OSS. If your code can't get enough reviewers, your code might be not
  useful enough for the project. It's sorta evolutionary theory. The
  better code has the better chance to be merged quickly. The features
  are prioritized fairly.
 
 I think we have quite different definitions of fair.
 
 We're on a mission: to produce the ubiquitous Open Source Cloud
 Computing platform that will meet the needs of public and private
 clouds regardless of size, by being simple to implement and massively
 scalable.

 We can't pretend to meet everyone's needs if we only accept patches
 that are fun to review or that we wrote ourselves.

The majority of OpenStack developers are paid for OpenStack
development, right? I don't think that we need to worry about
such. Look at Linux kernel development. The mojority are professionals
and understand what they need to do.



___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Feature Freeze status

2011-03-31 Thread Michael Barton
I'm gonna +1 Todd.

Actually, apache server has a great dev process.  They have goals for
releases, but people are welcome to submit patches to their mailing
list any time, get comments on them, then they're merged if and when
people vote them as ready.

-- Mike

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Feature Freeze status

2011-03-31 Thread Jay Pipes
On Thu, Mar 31, 2011 at 5:21 PM, Michael Barton
mike-launch...@weirdlooking.com wrote:
 I'm gonna +1 Todd.

 Actually, apache server has a great dev process.  They have goals for
 releases, but people are welcome to submit patches to their mailing
 list any time, get comments on them, then they're merged if and when
 people vote them as ready.

We're talking about prioritizing the merge proposals that pile up
based on whether such public discussion has occurred on the ML and/or
has been documented on a blueprint. We're not talking about limiting
people's ability to submit patches. We're talking about prioritizing
the reviews that have been proposed...

-jay

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Feature Freeze status

2011-03-31 Thread Vishvananda Ishaya
There has been a lot of great discussion and airing-out around blueprint and 
merge process.  I think some good points have been raised on all sides.  I'd 
like to weigh in with some perspective-changing suggestions about how we can 
manage specs and blueprints that I think everyone will be happy with.

Basically we are all in the process of learning how to manage a large 
open-source project with 100+ developers, and I think managing a group that 
large by throwing everyone into a pool and hoping that all of the developers 
can collaborate effectively is a bit optimistic.  The suggestions that I 
outline below are not radical changes from how we are currently doing things, 
but hopefully it will help clarify the process.

Blueprints

People have extolled the value of blueprints many times, and I agree that they 
are very valuable.  But I think blueprints are much more valuable from a 
project management perspective than they are from an 'in-the-weeds' coding 
perspective.

I would suggest that blueprints are used to give a broad overview of an 
intended feature and enough technical information for the PTL and other teams 
to ensure that work isn't being duplicated.  Since we all work in teams, I 
think it is reasonable to expect every team to have a contact person that is 
responsible for ensuring that the team's blueprints are up-to-date with what 
they are actually working on.  Internal to the team this can be managed however 
they see fit.  It can be offloaded to individual developers or handled by a 
project manager, etc.

If we can all strive to follow this limited use of blueprints, I think it gives 
us the advantages that they provide for project management without putting too 
much strain on the developers.

Specs

Detailed specs beyond a brief technical overview should not be required in all 
cases.  It is strongly recommended (but not required) for a team to make 
available any internal specifications that they are using.  For small features, 
a simple link to a public branch is enough.

Detailed Specs should be required in the following cases:
 * A large feature that touches a lot of the code
 * Code that will need multiple merge proposals
 * Features that are being worked on by multiple teams
 * A feature that is blocking features by other teams.

I think we could 

Branches

Teams should be encouraged to keep their branches in the public as work goes 
on.  This allows curious community members to drill down into the current 
development and see what is going on.  This is especially important for teams 
using agile development.

Merge

Merges should be evaluated on merit.  If we get a large feature without an 
associated blueprint/spec, we can help educate the developer on the blueprint / 
spec process, but i don't think we should block merging if the feature is well 
designed and tested.  Obviously if the feature interferes with other blueprints 
in the pipeline, we can block it.



In conclusion, I strongly agree with soren's comment that the core developers 
should be following the suggested process, and I will mea culpa in my own 
avoidance of blueprints.  I think a lot of the issues the developers have had 
are due to a feeling that it is a) complicated and b) not valuable.  Hopefully 
with the understanding of the value that has been provided in this thread and 
the clarification and suggestions I've provided, we can all improve our 
teamwork.

Please let me know if I've missed anything.

Vish___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Feature Freeze status

2011-03-31 Thread Jay Pipes
Well said. I don't disagree with any of your points or suggestions
below. Looking forward to a productive chat about it at the summit in
a few weeks.

-jay

On Thu, Mar 31, 2011 at 6:09 PM, Vishvananda Ishaya
vishvana...@gmail.com wrote:
 There has been a lot of great discussion and airing-out around blueprint and
 merge process.  I think some good points have been raised on all sides.  I'd
 like to weigh in with some perspective-changing suggestions about how we can
 manage specs and blueprints that I think everyone will be happy with.
 Basically we are all in the process of learning how to manage a large
 open-source project with 100+ developers, and I think managing a group that
 large by throwing everyone into a pool and hoping that all of the developers
 can collaborate effectively is a bit optimistic.  The suggestions that I
 outline below are not radical changes from how we are currently doing
 things, but hopefully it will help clarify the process.

 Blueprints
 People have extolled the value of blueprints many times, and I agree that
 they are very valuable.  But I think blueprints are much more valuable from
 a project management perspective than they are from an 'in-the-weeds' coding
 perspective.
 I would suggest that blueprints are used to give a broad overview of an
 intended feature and enough technical information for the PTL and other
 teams to ensure that work isn't being duplicated.  Since we all work in
 teams, I think it is reasonable to expect every team to have a contact
 person that is responsible for ensuring that the team's blueprints are
 up-to-date with what they are actually working on.  Internal to the team
 this can be managed however they see fit.  It can be offloaded to individual
 developers or handled by a project manager, etc.
 If we can all strive to follow this limited use of blueprints, I think it
 gives us the advantages that they provide for project management without
 putting too much strain on the developers.
 Specs
 Detailed specs beyond a brief technical overview should not be required in
 all cases.  It is strongly recommended (but not required) for a team to make
 available any internal specifications that they are using.  For small
 features, a simple link to a public branch is enough.
 Detailed Specs should be required in the following cases:
  * A large feature that touches a lot of the code
  * Code that will need multiple merge proposals
  * Features that are being worked on by multiple teams
  * A feature that is blocking features by other teams.
 I think we could
 Branches
 Teams should be encouraged to keep their branches in the public as work goes
 on.  This allows curious community members to drill down into the current
 development and see what is going on.  This is especially important for
 teams using agile development.
 Merge
 Merges should be evaluated on merit.  If we get a large feature without an
 associated blueprint/spec, we can help educate the developer on the
 blueprint / spec process, but i don't think we should block merging if the
 feature is well designed and tested.  Obviously if the feature interferes
 with other blueprints in the pipeline, we can block it.


 In conclusion, I strongly agree with soren's comment that the core
 developers should be following the suggested process, and I will mea culpa
 in my own avoidance of blueprints.  I think a lot of the issues the
 developers have had are due to a feeling that it is a) complicated and b)
 not valuable.  Hopefully with the understanding of the value that has been
 provided in this thread and the clarification and suggestions I've provided,
 we can all improve our teamwork.
 Please let me know if I've missed anything.
 Vish
 ___
 Mailing list: https://launchpad.net/~openstack
 Post to     : openstack@lists.launchpad.net
 Unsubscribe : https://launchpad.net/~openstack
 More help   : https://help.launchpad.net/ListHelp



___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Feature Freeze status

2011-03-29 Thread Sandy Walsh
From: Todd Willey [t...@ansolabs.com]
 I, too, appreciate people taking their time to write blueprints. I
also appreciate people who take time to write code, even if it doesn't
come with a blueprint. People who take their creative energy to
contribute to something I love earn enough favor that my default state
is to try and accept their contribution without imposing additional
barriers to entry. Maybe a patch comes in that it isn't reasonable to
merge, but we never know unless we actually look at it with the
mindset of trying to accept it. I still expect that people give
blueprint-level details in merge proposals so that we can follow the
code with an understanding of what you're trying to accomplish,
otherwise we'd do right to mark it Needs Information and get the
clarity we need.

Todd brings up an interesting point here.

I think of a blueprint as requirements gathering vs design. Code without
agreed-upon requirements has the risk of solving the wrong problems.
It doesn't have to be a tome ... notes are fine.

The example I can cite is directapi/authn/authz. While having the code is
a great discussion point, the spec and notes don't really give enough to 
explain:
* the use cases (happy day and exceptions)
* the actors involved
* the cons (lots of pro's given)

Having a blueprint to go with it would have given us time to think
about the problem while the code was being put together.

Now, I have a body of code to look at, but now I need to understand
the gotcha's of adopting it. The How's and the Why's. A blueprint would
make this much easier.

Secondly, while I'm a strong advocate of code over talk I think there is
an unwritten assumption that, simply because there is code, it deserves
merge into the code stream. If code takes the place of a blueprint, it
should get the same weight as a blueprint. That is, it may get rejected
outright or alternative designs recommended to the point the code is a
throwaway.

$0.02

-S

PS And don't get me wrong, directapi/authn/z are all impressive
branches, completely worthy of our full attention.



Confidentiality Notice: This e-mail message (including any attached or
embedded documents) is intended for the exclusive and confidential use of the
individual or entity to which this message is addressed, and unless otherwise
expressly indicated, is confidential and privileged information of Rackspace. 
Any dissemination, distribution or copying of the enclosed material is 
prohibited.
If you receive this transmission in error, please notify us immediately by 
e-mail
at ab...@rackspace.com, and delete the original message. 
Your cooperation is appreciated.

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Feature Freeze status

2011-03-29 Thread Thierry Carrez
Ewan Mellor wrote:

 Blueprints are not about managing expectations.  Blueprints are about telling 
 other people what you're working on.  This is important, because I don't 
 think that anyone is in a position to judge whether they are working on a 
 self-contained change or whether they're not going to interfere _unless_ 
 they are telling people what they are working on.

+1

The cost of filing a blueprint (as soon as you start thinking about a
feature) is really small compared to the advantages stated above.

I guess I'm not seeing any advantage in *not filing* a blueprint. I hope
it's not about saving 5 minutes. I hope it's not about avoiding public
discussion that developing in the open can trigger...

-- 
Thierry Carrez (ttx)
Release Manager, OpenStack

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Feature Freeze status

2011-03-29 Thread Thierry Carrez
Todd Willey wrote:
 I read the initial problem as some things don't have blueprints and
 are developed in isolation which I didn't see as a problem.  Now i
 see it as:
 * coherency of vision
 * review priority

This should partially address the review priority issue:
http://wiki.openstack.org/reviewslist/

Note that it relies on bug and blueprint links to actually evaluate that
priority.

 * branches dropping right before freeze (I don't think this is solvable)

I'd rather solve it by education rather than repression, but it will
probably take a few bad experiences (like rejecting late branches) for
people to realize that it's counter-productive.

-- 
Thierry Carrez (ttx)
Release Manager, OpenStack

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Feature Freeze status

2011-03-29 Thread Ewan Mellor
 -Original Message-
 From: Todd Willey [mailto:t...@ansolabs.com]
 Sent: 29 March 2011 04:08
 To: Ewan Mellor
 Cc: Jay Pipes; openstack@lists.launchpad.net
 Subject: Re: [Openstack] Feature Freeze status
 
 On Mon, Mar 28, 2011 at 7:42 PM, Ewan Mellor
 ewan.mel...@eu.citrix.com wrote:
  -Original Message-
  From: Todd Willey
  Sent: 28 March 2011 21:11
  To: Jay Pipes
  Cc: openstack@lists.launchpad.net
  Subject: Re: [Openstack] Feature Freeze status
 
  [Snip]
 
  Clearly blueprints are about process and not about code.  Merge
  proposals are a hybrid of code and process.  Blueprints are about
  managing expectations, whereas merge proposals are about managing
  code.  I think if you are working on a self-contained change you
 don't
  need to manage the expectations of people working on other parts of
  the system because you're not going to interfere, and their
  expectations about how they should write code can go unchanged.  You
  do, however, need to have a process required to get your changes
  accepted into the code, and need to outline your reasoning and
  implementation goals.
 
  I think that this paragraph is a great exposition of why I (and
 others) disagree with you.  Blueprints are not about managing
 expectations.  Blueprints are about telling other people what you're
 working on.  This is important, because I don't think that anyone is in
 a position to judge whether they are working on a self-contained
 change or whether they're not going to interfere _unless_ they are
 telling people what they are working on.
 
 
 Blueprints are great for the reason you and Rick have stated.  They
 let all types of people who are interested in monitoring the
 development and planning their own development and implementation plan
 more effectively.  I think of unplanned features as an extra gift on
 top of all of this that we should accept gratefully.  I'm not saying
 we can know before propose-time if a feature is isolated.  But, if at
 the end it turns out it is in fact isolated, then I see no reason we
 shouldn't welcome it with a minimum of drama.

I don't agree.  Unplanned features aren't an extra gift -- they're extra work 
for everyone.

Thierry is trying to stabilize a release and get it out on time.  He can't do 
that if people come along saying here's an extra gift that you now need to 
give time to review.  We're already short on resources, and Thierry needs to 
prioritize based on the capacity that we collectively have.  For example, 
Citrix has bumped a number of features to Diablo, because it was clear that we 
wouldn't get everything reviewed and merged and stabilized in time unless we 
deferred low priority work.  Unplanned features just put all that in jeopardy.

If someone comes along with a random branch as a gift, then it's not 
unreasonable for us to say Thank you for that, we'll take it in the next 
unstable period in a couple of months.  In the meantime, please write a brief 
blueprint so that we don't forget about it.

A blueprint doesn't have to be burdensome.  Big features need a long time at 
the planning stage, but for other things there's no reason why the blueprint 
should take more than half-an-hour.  I don't think it's unreasonable to ask 
anybody to spend half-an-hour writing down what their new shiny thing is, how 
it works, and how to test it.

Cheers,

Ewan.


___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Feature Freeze status

2011-03-28 Thread John Purrier
Hi Thierry, in addition to the technical sessions for Nova, Swift, and
Glance at the design summit, I have asked Stephen to add Project and
Release management. You will own the time slots, once the PTL's are on
board we will discuss how best to schedule the sessions.

Thanks,

John

-Original Message-
From: openstack-bounces+john=openstack@lists.launchpad.net
[mailto:openstack-bounces+john=openstack@lists.launchpad.net] On Behalf
Of Thierry Carrez
Sent: Monday, March 28, 2011 4:48 AM
To: openstack@lists.launchpad.net
Subject: [Openstack] Feature Freeze status

Hi everyone,

We have had quite a few branches that filed for feature freeze
exceptions, and the following have been granted an exception for late
merging until Tuesday EOD, so they need your attention:

https://code.launchpad.net/~blamar/nova/openstack-api-1-1-images/+merge/5394
2
https://code.launchpad.net/~citrix-openstack/nova/xenapi-vlan-network-manage
r/+merge/53660
https://code.launchpad.net/~zulcss/nova/nova-lxc/+merge/51469
https://code.launchpad.net/~justin-fathomdb/nova/volumes-api/+merge/54464
https://code.launchpad.net/~termie/nova/libvirt_snapshot/+merge/54621
https://code.launchpad.net/~sleepsonthefloor/nova/vnc_console/+merge/54805

As a sidenote, some of those branches are cool and self-contained
features that are relatively-safe for the release. So they were accepted
as far as the FFe is concerned, despite not having blueprints and being
late.

I'd like to say that I dislike this type of behind closed doors
development, where things are developed without a blueprint, bug or
linked branch and then thrown very late into the review queue.

We do an open source project and we promised open development. That
includes doing development in the open, and that's why we use blueprints
to track stuff under development, so that anyone can look, learn about
it and comment. Looking at what happened in cactus I can see that some
people are not happy with these idea[l]s... Should we discuss this at
some point during the design summit ?

-- 
Thierry Carrez (ttx)
Release Manager, OpenStack

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Feature Freeze status

2011-03-28 Thread Jay Pipes
On Mon, Mar 28, 2011 at 5:48 AM, Thierry Carrez thie...@openstack.org wrote:
 I'd like to say that I dislike this type of behind closed doors
 development, where things are developed without a blueprint, bug or
 linked branch and then thrown very late into the review queue.

 We do an open source project and we promised open development. That
 includes doing development in the open, and that's why we use blueprints
 to track stuff under development, so that anyone can look, learn about
 it and comment. Looking at what happened in cactus I can see that some
 people are not happy with these idea[l]s... Should we discuss this at
 some point during the design summit ?

+10.

-jay

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Feature Freeze status

2011-03-28 Thread Justin Santa Barbara
No objection to a discussion during the summit, but I've been able to watch
all of these branches and others evolve here:
https://code.launchpad.net/nova

For example, when I wanted to add VNC support because my system wouldn't
boot, it was easy for me to look at the vnc_console branch and get the
libvirt XML magic from there.  If I was feeling brave, I could have grabbed
the whole branch and merged it into my tree.  That feels _very_ open to me.

jaypipes_troll Just another benefit of bazaar being a centralized version
control system, I guess /jaypipes_troll

Justin
___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Feature Freeze status

2011-03-28 Thread Jay Pipes
On Mon, Mar 28, 2011 at 1:38 PM, Justin Santa Barbara
jus...@fathomdb.com wrote:
 No objection to a discussion during the summit, but I've been able to watch
 all of these branches and others evolve here:
  https://code.launchpad.net/nova
 For example, when I wanted to add VNC support because my system wouldn't
 boot, it was easy for me to look at the vnc_console branch and get the
 libvirt XML magic from there.  If I was feeling brave, I could have grabbed
 the whole branch and merged it into my tree.  That feels _very_ open to me.

Rubbish. Open development means knowing the general directions and
specifications that people are working on by open discussions, open
blueprints/specs, and active communication between teams. I can go to
github and see how many people forked this (ugh.). That doesn't give
me any clue as to what people are attempting to do with the code in
the long term.

The problem we've been having revolves around the fact that we have
dozens of developers working on Nova, with no real guidance as to the
long-term direction of the project, and teams just doing whatever the
heck they want to, without ML discussion and blueprints, and then
expecting people to just merge branches a few days before feature
freeze.

 jaypipes_troll Just another benefit of bazaar being a centralized version
 control system, I guess /jaypipes_troll

I don't know what the heck you are talking about.

-jay

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Feature Freeze status

2011-03-28 Thread John Purrier
 The problem we've been having revolves around the fact that we have

dozens of developers working on Nova, with no real guidance as to the

long-term direction of the project, and teams just doing whatever the

heck they want to, without ML discussion and blueprints, and then

expecting people to just merge branches a few days before feature

freeze.

 

I have high hopes that the newly elected PTL’s will provide the guidance and 
leadership to get more effective in developing OpenStack projects.

 

John

 

-Original Message-
From: openstack-bounces+john=openstack@lists.launchpad.net 
[mailto:openstack-bounces+john=openstack@lists.launchpad.net] On Behalf Of 
Jay Pipes
Sent: Monday, March 28, 2011 12:54 PM
To: Justin Santa Barbara
Cc: openstack@lists.launchpad.net
Subject: Re: [Openstack] Feature Freeze status

 

On Mon, Mar 28, 2011 at 1:38 PM, Justin Santa Barbara

jus...@fathomdb.com wrote:

 No objection to a discussion during the summit, but I've been able to watch

 all of these branches and others evolve here:

  https://code.launchpad.net/nova

 For example, when I wanted to add VNC support because my system wouldn't

 boot, it was easy for me to look at the vnc_console branch and get the

 libvirt XML magic from there.  If I was feeling brave, I could have grabbed

 the whole branch and merged it into my tree.  That feels _very_ open to me.

 

Rubbish. Open development means knowing the general directions and

specifications that people are working on by open discussions, open

blueprints/specs, and active communication between teams. I can go to

github and see how many people forked this (ugh.). That doesn't give

me any clue as to what people are attempting to do with the code in

the long term.

 

The problem we've been having revolves around the fact that we have

dozens of developers working on Nova, with no real guidance as to the

long-term direction of the project, and teams just doing whatever the

heck they want to, without ML discussion and blueprints, and then

expecting people to just merge branches a few days before feature

freeze.

 

 jaypipes_troll Just another benefit of bazaar being a centralized version

 control system, I guess /jaypipes_troll

 

I don't know what the heck you are talking about.

 

-jay

 

___

Mailing list: https://launchpad.net/~openstack

Post to : openstack@lists.launchpad.net

Unsubscribe : https://launchpad.net/~openstack

More help   : https://help.launchpad.net/ListHelp

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Feature Freeze status

2011-03-28 Thread Justin Santa Barbara

 Rubbish. Open development means knowing the general directions and
 specifications that people are working on by open discussions, open
 blueprints/specs, and active communication between teams. I can go to
 github and see how many people forked this (ugh.). That doesn't give
 me any clue as to what people are attempting to do with the code in
 the long term.


I am not the biggest fan of LP, but the 'recent commits' feature on LP is
awesome.  If I want to know what people are really working on, I just look
at the most recent commits:

Cerberus is working on something cool involving notifications, presumably
the first step in addressing the issue that we're almost entirely
request-driven
The titan team is fixing the date/time parsing bug with glance images
The titan team is working on support for changing passwords
ZulCss is working on LXC support
The USC team is working on HPC stuff on hardware that's unfairly cool
Termie's working on libvirt-snapshot support
Termie's clarifying the docstring rules

etc.

That gives me a much better feel for the pulse of the project than anything
else - the blueprints feel like reading a printed newspaper - full of
yesterday's news.  It doesn't answer why, but we should probably make a
bigger push on the blueprints to make sure they always answer the why
question.

Justin
___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Feature Freeze status

2011-03-28 Thread Todd Willey
Open == Accessible.  Open != Verbose.  I'm willing to discuss more at
the design summit, but my biggest concern is that we let the most
people possible can contribute.  This includes those who work behind
closed doors on their own pet projects.

This thread started specifically in response to a few branches that
didn't hinder anyone else's work, but also didn't have blueprints.  So
what?  Blueprints should only be required for coordination when doing
large work that can conflict with others'.  Code should be the only
artifact required to contribute, as that will keep contribution more
accessible.  If these proposers had run afoul of any other work in
progress where the other branch _did_ have a blueprint, we could have
just said Sorry, you'll have to rebase after this other thing goes
in, and coordinate better in the future, at which point they could
have kept working to get their patch to land or walk away without
getting it approved.  Reviews are open so people working on branches
that have blueprints can complain if a rogue branch gets proposed
that would interfere with their plans.

I really feel like we're making a problem where none exists.  You can
certainly craft a scenario where a lack of coordination causes a
problem in a branch like this, but we don't have actual evidence it
will happen.  If it does, we can just push back against the proposer
to fix things.  Whats the problem with that?

-todd[1]

On Mon, Mar 28, 2011 at 1:53 PM, Jay Pipes jaypi...@gmail.com wrote:
 On Mon, Mar 28, 2011 at 1:38 PM, Justin Santa Barbara
 jus...@fathomdb.com wrote:
 No objection to a discussion during the summit, but I've been able to watch
 all of these branches and others evolve here:
  https://code.launchpad.net/nova
 For example, when I wanted to add VNC support because my system wouldn't
 boot, it was easy for me to look at the vnc_console branch and get the
 libvirt XML magic from there.  If I was feeling brave, I could have grabbed
 the whole branch and merged it into my tree.  That feels _very_ open to me.

 Rubbish. Open development means knowing the general directions and
 specifications that people are working on by open discussions, open
 blueprints/specs, and active communication between teams. I can go to
 github and see how many people forked this (ugh.). That doesn't give
 me any clue as to what people are attempting to do with the code in
 the long term.

 The problem we've been having revolves around the fact that we have
 dozens of developers working on Nova, with no real guidance as to the
 long-term direction of the project, and teams just doing whatever the
 heck they want to, without ML discussion and blueprints, and then
 expecting people to just merge branches a few days before feature
 freeze.

 jaypipes_troll Just another benefit of bazaar being a centralized version
 control system, I guess /jaypipes_troll

 I don't know what the heck you are talking about.

 -jay

 ___
 Mailing list: https://launchpad.net/~openstack
 Post to     : openstack@lists.launchpad.net
 Unsubscribe : https://launchpad.net/~openstack
 More help   : https://help.launchpad.net/ListHelp


___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Feature Freeze status

2011-03-28 Thread Jay Pipes
On Mon, Mar 28, 2011 at 2:32 PM, Todd Willey t...@ansolabs.com wrote:
 Open == Accessible.  Open != Verbose.  I'm willing to discuss more at
 the design summit, but my biggest concern is that we let the most
 people possible can contribute.  This includes those who work behind
 closed doors on their own pet projects.

It's not about letting people contribute. It's an open source project.
Anyone can contribute. Anyone can work on a fork of their
PetProjectStack.

But when it comes to merge proposal time, and especially the backlog
that always shows up around Feature Freeze, I couldn't care less about
PetProjectStack unless it has a blueprint or bug tied to it that lets
me know the patch fixes something or adds something to the project
that has been debated and discussed.

 This thread started specifically in response to a few branches that
 didn't hinder anyone else's work, but also didn't have blueprints.

Not true. There were only a few branches that didn't have bugs or
blueprints assigned to them. Those branches are what Thierry and
myself were talking about.

 So
 what?  Blueprints should only be required for coordination when doing
 large work that can conflict with others'.  Code should be the only
 artifact required to contribute, as that will keep contribution more
 accessible.

IMHO, this doesn't work for projects with dozens of developers and
many teams all working towards a unified goal (you know, that whole
this release is about X thing?). It works spectacularly well for
projects with developers all working on their own forks of stuff that
want to do their own hacks but don't care about the direction of the
project as a whole. In other words, the blueprint/discussion process
is designed to bring unity to the project's direction and goals. it's
about *process*, not code.

 If these proposers had run afoul of any other work in
 progress where the other branch _did_ have a blueprint, we could have
 just said Sorry, you'll have to rebase after this other thing goes
 in, and coordinate better in the future, at which point they could
 have kept working to get their patch to land or walk away without
 getting it approved.  Reviews are open so people working on branches
 that have blueprints can complain if a rogue branch gets proposed
 that would interfere with their plans.

We complain because rogue branches interfere with the process of
trying to figure out what branches are to be reviewed in which order
and priority. They add to the chaos when I can't answer the why
question that Justin alluded to earlier.

 I really feel like we're making a problem where none exists.  You can
 certainly craft a scenario where a lack of coordination causes a
 problem in a branch like this, but we don't have actual evidence it
 will happen.  If it does, we can just push back against the proposer
 to fix things.  Whats the problem with that?

If the problem didn't exist, I wouldn't bring it up.

-jay

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Feature Freeze status

2011-03-28 Thread Soren Hansen
2011/3/28 Thierry Carrez thie...@openstack.org:
 I'd like to say that I dislike this type of behind closed doors
 development, where things are developed without a blueprint, bug or
 linked branch and then thrown very late into the review queue.

I'd appreciate a discussion about this at the summit, too. Just to
register my opinion ahead of time: Were it from outside people (i.e.
not one of our regulars), I'd have less of a problem with this. It's
hard to keep a straight face while telling people that they need to
follow this or that process when we can't even manage to do so
ourselves. We should be leading by example.

-- 
Soren Hansen
Ubuntu Developer    http://www.ubuntu.com/
OpenStack Developer http://www.openstack.org/

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Feature Freeze status

2011-03-28 Thread Rick Clark
Blueprints serve three purposes.  I don't claim they do them well, or
that we are using them well

1) they help us schedule technical discussions at the summit.  We could
obviously do it some other way, but that is on of the current uses.

2) They let the various dev groups know what is being worked on, so we
don't duplicate efforts. and lets multiple groups know the approved
architecture based on the summit discussions.

3) They let non-technical people follow the development cycle.  This is
the most important use, in my opinion.  There are project managers,
product managers, marketing and PR people, and executives, and more.
They all need to either follow the dev cycle, or know what features are
going to hit, or miss, ahead of release.  It is not reasonable for those
folks to have to read the MP's

TBH, right now, blueprints are not optimal.  The Launchpad team is
rewriting blueprints to use the Launchpad bug engine.  This hopefully
will fix some of the glaring problems.  Like not being able to have a
linear discussion.


Rick



signature.asc
Description: OpenPGP digital signature
___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Feature Freeze status

2011-03-28 Thread Ewan Mellor
 -Original Message-
 From: Todd Willey
 Sent: 28 March 2011 21:11
 To: Jay Pipes
 Cc: openstack@lists.launchpad.net
 Subject: Re: [Openstack] Feature Freeze status

 [Snip] 

 Clearly blueprints are about process and not about code.  Merge
 proposals are a hybrid of code and process.  Blueprints are about
 managing expectations, whereas merge proposals are about managing
 code.  I think if you are working on a self-contained change you don't
 need to manage the expectations of people working on other parts of
 the system because you're not going to interfere, and their
 expectations about how they should write code can go unchanged.  You
 do, however, need to have a process required to get your changes
 accepted into the code, and need to outline your reasoning and
 implementation goals.

I think that this paragraph is a great exposition of why I (and others) 
disagree with you.  Blueprints are not about managing expectations.  Blueprints 
are about telling other people what you're working on.  This is important, 
because I don't think that anyone is in a position to judge whether they are 
working on a self-contained change or whether they're not going to 
interfere _unless_ they are telling people what they are working on.

For example, there have been many occasions when we (Citrix) have said oh, we 
don't need to work on that, because Rackspace have it covered or we'd best 
mention this to Rackspace, because they're working on something else that is 
_bound_ to conflict.  There have also been times when we've said it sure 
would have been great to know about that in advance, and save ourselves 
half-a-dozen trunk merges.

Blueprints are important because they save other people wasting their time.  
That's either because they get to avoid duplicating your effort, or because 
they want to work in the same code and get to schedule around you so that the 
merge conflicts aren't insane.  Maybe, if you're really lucky, they might 
actually have some good ideas and can make suggestions to you.

Blueprints should be regarded in the same way as docstrings.  Sure, you can 
write the code faster without docstrings, and the code will work just as well, 
but it will take everyone else twice as long to figure out what it was you are 
trying to do.  Blueprints are the same, just at a different phase in the 
process.  You can definitely write the code without writing the blueprint 
first, but everyone else would sure appreciate it if you put half-an-hour into 
the blueprint.  That way, we'll know what it is you're trying to do.

Thanks,

Ewan.


___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Feature Freeze status

2011-03-28 Thread Sandy Walsh
+1


From: Ewan Mellor [ewan.mel...@eu.citrix.com]

 Blueprints should be regarded in the same way as docstrings.  Sure, you can 
 write the code faster without docstrings, and the code will work just as 
 well, but it will take everyone else twice as long to figure out what it was 
 you are trying to do.  Blueprints are the same, just at a different phase in 
 the process.  You can definitely write the code without writing the blueprint 
 first, but everyone else would sure appreciate it if you put half-an-hour 
 into the blueprint.  That way, we'll know what it is you're trying to do.


Confidentiality Notice: This e-mail message (including any attached or
embedded documents) is intended for the exclusive and confidential use of the
individual or entity to which this message is addressed, and unless otherwise
expressly indicated, is confidential and privileged information of Rackspace. 
Any dissemination, distribution or copying of the enclosed material is 
prohibited.
If you receive this transmission in error, please notify us immediately by 
e-mail
at ab...@rackspace.com, and delete the original message. 
Your cooperation is appreciated.


___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Feature Freeze status

2011-03-28 Thread Todd Willey
On Mon, Mar 28, 2011 at 7:42 PM, Ewan Mellor ewan.mel...@eu.citrix.com wrote:
 -Original Message-
 From: Todd Willey
 Sent: 28 March 2011 21:11
 To: Jay Pipes
 Cc: openstack@lists.launchpad.net
 Subject: Re: [Openstack] Feature Freeze status

 [Snip]

 Clearly blueprints are about process and not about code.  Merge
 proposals are a hybrid of code and process.  Blueprints are about
 managing expectations, whereas merge proposals are about managing
 code.  I think if you are working on a self-contained change you don't
 need to manage the expectations of people working on other parts of
 the system because you're not going to interfere, and their
 expectations about how they should write code can go unchanged.  You
 do, however, need to have a process required to get your changes
 accepted into the code, and need to outline your reasoning and
 implementation goals.

 I think that this paragraph is a great exposition of why I (and others) 
 disagree with you.  Blueprints are not about managing expectations.  
 Blueprints are about telling other people what you're working on.  This is 
 important, because I don't think that anyone is in a position to judge 
 whether they are working on a self-contained change or whether they're not 
 going to interfere _unless_ they are telling people what they are working on.


Blueprints are great for the reason you and Rick have stated.  They
let all types of people who are interested in monitoring the
development and planning their own development and implementation plan
more effectively.  I think of unplanned features as an extra gift on
top of all of this that we should accept gratefully.  I'm not saying
we can know before propose-time if a feature is isolated.  But, if at
the end it turns out it is in fact isolated, then I see no reason we
shouldn't welcome it with a minimum of drama.

 For example, there have been many occasions when we (Citrix) have said oh, 
 we don't need to work on that, because Rackspace have it covered or we'd 
 best mention this to Rackspace, because they're working on something else 
 that is _bound_ to conflict.  There have also been times when we've said it 
 sure would have been great to know about that in advance, and save ourselves 
 half-a-dozen trunk merges.

 Blueprints are important because they save other people wasting their time.  
 That's either because they get to avoid duplicating your effort, or because 
 they want to work in the same code and get to schedule around you so that the 
 merge conflicts aren't insane.  Maybe, if you're really lucky, they might 
 actually have some good ideas and can make suggestions to you.


I understand that working without blueprints is more often the more
painful way to do things.  I'm not saying it's good, I'm only saying
that there are cases where it is _acceptable_.  Breaking things,
making major design decisions without discussion, and ignoring our
platform goals should get things rejected.  Always.

We can also still offer feedback and suggestions in a MP, so I think
the window of time that people have to be really lucky is non-zero
even in the absence of a BP.  With core review days and targeting
specific reviewers by name we should continue to move this out of the
realm of luck and into a process designed to get the right people
providing that meaningful feedback.

 Blueprints should be regarded in the same way as docstrings.  Sure, you can 
 write the code faster without docstrings, and the code will work just as 
 well, but it will take everyone else twice as long to figure out what it was 
 you are trying to do.  Blueprints are the same, just at a different phase in 
 the process.  You can definitely write the code without writing the blueprint 
 first, but everyone else would sure appreciate it if you put half-an-hour 
 into the blueprint.  That way, we'll know what it is you're trying to do.


I, too, appreciate people taking their time to write blueprints.  I
also appreciate people who take time to write code, even if it doesn't
come with a blueprint.  People who take their creative energy to
contribute to something I love earn enough favor that my default state
is to try and accept their contribution without imposing additional
barriers to entry.  Maybe a patch comes in that it isn't reasonable to
merge, but we never know unless we actually look at it with the
mindset of trying to accept it.  I still expect that people give
blueprint-level details in merge proposals so that we can follow the
code with an understanding of what you're trying to accomplish,
otherwise we'd do right to mark it Needs Information and get the
clarity we need.

 Thanks,

 Ewan.


I get that blueprints are useful, all I'm advocating is that we don't
beat people over the head with it.

-todd[1]

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https