20:06:43 #startmeeting 20:06:44 Meeting started Tue Jun 28 20:06:43 2011 UTC. The chair is jbryce. Information about MeetBot at http://wiki.debian.org/MeetBot. 20:06:45 Useful Commands: #action #agreed #help #info #idea #link #topic. 20:06:51 http://wiki.openstack.org/Governance/PPB - agenda at the bottom 20:07:21 jbryce: can I suggest structured discussion on the project autonomy question? 20:07:34 jmckenty_: sure 20:07:36 e.g., one person to present for, one to present against, and then discussion? 20:08:05 any volunteers for either side? 20:08:12 Maybe using #info for relevant factoids 20:08:18 I'll present against autonomy 20:08:25 if no one else grabs it 20:08:26 I'll volunteer for autonomy 20:08:30 jmckenty: I can help you with that. 20:08:33 heh 20:08:38 one thing to keep in mind to is that autonomy is kind of a gradient as well.... 20:08:44 there are levels of autonomy 20:08:46 of course 20:08:48 true enough, I think if we argue the extremes, 20:08:50 but we can start with a flat for and against 20:08:52 yes, not sure it's a binary decision 20:08:59 we'll end up identifying an ideal mid-position 20:09:07 notmyname: want to get it started since it was your topic? 20:09:09 (in fact, I'm wearing grey today) 20:09:14 #topic Project autonomy 20:09:14 sure 20:09:19 my thoughts, so as not to spam the channel: https://gist.github.com/1052036 (click the "raw" link to get nicely wrapped lines) 20:09:24 it's short 20:09:52 https://gist.github.com/1052036 - notmyname's summary of his position on project autonomy 20:09:54 "raw" doesn't work for me :) 20:10:10 we've made several decisions already that have tended towards autonomy. I'd like to continue that and allow each project to choose their own tools for their own work 20:10:24 ttx: https://raw.github.com/gist/1052036/33a6df89a37e6d29210806f61365c097a4b2e64b/gistfile1.txt 20:10:49 notmyname: firefox displays that in very long lines. But I can handle it. 20:10:59 So it seems like there are some buckets of "autonomy": 20:10:59 - Language 20:10:59 - Tools 20:11:00 - Release Cycle 20:11:00 - Philosophy 20:11:00 - Governance / Mgmt 20:11:06 Did I miss anything substantive? 20:11:11 I see the project management (openstack packaging/release) as a separate project and should choose their tools too 20:11:28 jmckenty_: Philosophy kinda answers most of the others 20:11:50 Not really - I'm using philosophy to mean "Project goals", e.g. scale and strong opinions 20:12:03 aka who OpenStack will be useful for 20:12:16 useful == designed for == ideal for 20:13:04 There are actually a LOT of unique descriptions of openstack floating around now 20:13:19 the launchpad.net one, the openstack.org one, the original novacc.org one 20:13:36 Plus various things that have been said in the press (The operating system of the cloud, etc) 20:13:52 Launchpad says "simple to implement " 20:14:01 Note that our best project autonomy definition so far is what we agreed at: http://wiki.openstack.org/ProjectTypes 20:14:51 I agree with "so far", 20:15:07 since we dodged the question of language, of philosophy, and of tools 20:15:27 My strong (opinionated) position is this: 20:15:44 Rackspace and NASA partnered on OpenStack originally, in large part, because we both had written in python 20:16:03 A lot of the community engagement around OpenStack as a *unified* set of projects has been because of the language consistency 20:16:36 Community portability (e.g., the ability for developers to move easily from nova to swift to glance, etc) will rest on common coding standards, including language 20:16:51 And I think making that STRONGER rather than weaker will only help 20:17:11 We've already agreed on unified governance (according to the project types doc) 20:17:23 we *seem* to be converging on unified philosophy 20:17:32 we've agreed on unified release cycles and packaging 20:17:38 * 20:18:03 If we agree on unified language, I'm happy to allow projects to have tool autonomyu 20:18:12 provided we can agree on QUALITY gates 20:18:29 e.g., everyone needs CI, everyone needs revision control, everyone needs review automation 20:18:43 everyone needs measurement of unit test coverage 20:18:58 i don't really see the point of having autonomous projects calling themselves OpenStack, I guess. "OpenStack" must mean something, and that something is what we have in common. 20:19:28 not just "being included in the release announcement" 20:19:30 Right, we're just clarifying what the common ground is 20:20:01 I have a selfish reason, of course 20:20:04 I think it's one thing to diverge on code hosting... but for example differing on issue tracking (a user-facing tool) makes OpenStack look like a weird patchwork of separate pieces. 20:20:15 on things like tools, i think it's important to consider the total audience of a specific tool 20:20:19 I'm trying to make nova, swift and glance work together in much closer ways 20:20:33 and having those three projects in different RCS makes it hard for me 20:20:41 issue tracking is central to a dev workflow and should be chosen by those who use it (ie the devs for the project) 20:21:06 something like the revision control system has a relatively small audience of the developers who are submitting code compared to issue-tracking/blueprints/release tracking which has developers, users, external tool builders 20:21:13 issue tracking is not just a dev tool 20:21:13 I agree with jmckenty_ about the quality gates, as long as they are descriptive guidelines rather than prescriptive requirements for projects 20:21:20 it's used by many more people than just devs 20:21:35 jbryce: +1 20:21:48 I would say that issue tracking is a qa tool used by multiple groups 20:22:09 my view is that the dev community can drive the tools decision, but we need a *common* solution across openstack projects 20:22:13 we only currently have unified release cycles and packaging in the sense of the 6-month releases 20:22:16 notmyname: Sorry, I disagree. That's true as long as you're never expecting bugs that lie across components, but I fully expect bugs that need to move between Swift or Glance, or Nova and Quantum, or whatever. 20:22:25 there are a lot of people who enter and consume information from the bug reports and blueprints who are not submitting code 20:22:35 i'd rather that all be centralized in one place that we can point everyone too 20:22:40 ewanmellor: and accidentally, that's where Launchpad bugs really shine. 20:23:04 ttx: let's avoid specific recommendations for the moment, if possible 20:23:07 they want to know what's going on in "openstack" not have to track down the information from an arbitrary number of authoritative sources 20:23:32 jmckenty: sure -- was just pointing out what we already had. 20:23:42 jbryce: I think this is true, but also a major problem on the documentation and forums side as well 20:23:58 https://wiki.ubuntu.com/Bugs/Watches#Watching%20Another%20Project 20:24:39 notmyname: are you all right with all of us using the same system if it's github? 20:24:53 b/c that's certainly the ideal for me 20:25:00 jmckenty_: I think it raises the bar to entry for new projects 20:25:10 nova was born on github, and I think it would be great to go back there 20:25:27 I prefer github for my own project(s) but I think those who actually contribute to the projects shouldbe the ones to make that choice 20:25:27 jmckenty_: what happened to avoiding specific recommendations for now? 20:25:34 :p 20:25:40 ttx threw a gaunlet 20:25:53 jmckenty: we are drifting away from "autonomy" into the next topic :) 20:26:18 no, I think notmyname brought up autonomy originally only in the context of the github move, if I'm not mistaken 20:26:34 yes, but it affects much more than code hosting or issues 20:26:41 can we agree that there's no sense in projects having autonomous philosophy or language? 20:27:03 e.g., if a project wants to be part of openstack, it needs to be cloud, and it needs to be simple to implement and massively scalable 20:27:08 and it needs to be in python 20:27:16 jmckenty: is "philosophy" what is described in http://wiki.openstack.org/ProjectTypes ? 20:27:16 except for the last part, I like that 20:27:18 i can agree on philosophy. i think that is the foundation that binds openstack together. 20:27:38 notmyname: which last part? 20:27:38 great. So what we're talking about is autonomy of TOOLS 20:27:44 dendrobates: python 20:27:57 but how long is openstack going to last and grow? i hope for years maybe decades....i don't want to commit to 1 language forever 20:28:04 jmckenty: Openness, Transparency, Commonality, Integration, Respect of release deadlines, Facilitation of downstream distribution ? 20:28:11 jmckenty_: to be part of openstack, a project should subscribe to the openstack philosophy 20:28:12 or a subset thereof ? 20:28:27 ttx: I think the last is dangerous 20:28:38 e.g., WHICH downstream? 20:28:46 or how MANY downstreams 20:29:03 jbryce: why not? 20:29:27 jmckenty: read that as "when contacted, the project devs should make their best to help downstream distributors" ? 20:29:50 fair enough, though 20:29:56 ttx: fair enough 20:30:05 dendrobates: do you have a position on language? 20:30:05 i.e. if slackware comes knocking at our door, we should try to help them as much as we reasonably can. 20:30:09 is openstack a single thing with subsystems or a collection of independent projects that work together for some level of integration and releases? I think the second 20:30:21 ttx: so you're saying linux distros are the only downstreams? 20:30:22 I think the first. 20:30:32 jmckenty: I think python is good enough for almost all situations 20:30:33 What if someone wants to put openstack on an ASIC? 20:30:35 jmckenty: no, that was just an example :) 20:30:50 jmckenty: Puppet/Chef could also be considered downstreams. 20:30:54 notmyname and ttx: I think the first as well 20:31:16 i think somewhere in the middle. it's a collection of projects that can be used independently, but that will benefit from commonality. 20:31:29 i'm wearing my grey shirt today, too. = ) 20:31:37 jbryce: but that make sense as a whole, right ? 20:31:48 can we each think of a comparable package? 20:32:01 e.g., ubuntu would be the second, right? 20:32:09 I see the packaging of openstack as another openstack project (meta project?). so I think that they should be able to choose tools they want. and the other projects should do what's possible to integrate (bug watches, code mirroring, etc) 20:32:44 notmyname: My goal is to have it much more tightly integrated 20:32:55 I think it's the primary differentiator of OpenStack from other attempts 20:33:21 notmyname: we could just fork all three projects and put them into a new project called openstack 20:33:25 jmckenty: +1 20:33:37 vishy: I don't think you're allowed to use the spoon word 20:33:42 notmyname: but i think the idea is collaboration 20:34:07 notmyname: is there a project that you think of as a comparable? 20:34:08 vishy: I think collaboration is they key 20:34:49 jmckenty_: I don't like trying to relate to other projects (it's like X except for Y) because we all have different perspectives on what X actually is. let's say what we want, not what we want it to be like 20:34:49 when people want to get involved, it's much easier if there's more commonality rather than having to track their way around 10 projects that are using 100 combinations of revision control, issue tracking, roadmap tracking, release management. it's about much more than just the wishes of the few developers we have today. 20:34:56 jmckenty: I'd say something like "Linux kernel subsystems with slightly more independence for subsystem maintainers" 20:35:12 I just find it easier to understand people's perspectives with an example 20:35:22 jmckenty: but as notmyname says, the metaphor is always bad 20:35:42 If you have one set of "rules" you may have a lot fewer than 10 projects. ;) 20:35:46 or too subjective to be ultimately useful 20:36:47 dendrobates et al: the thinking on a single language, aside from the cross-community aspects I mentioned earlier, it also keeps system dependencies down (and attendant security issues), coding conventions stronger, etc. 20:37:08 So we have two options, #1 is "openstack is a single product made aof a lot of independent, but cooperating, components" and #2 is "a collection of independent projects that work together for some level of integration and releases" 20:37:20 But I agree we have the potential need for C / Erlang / etc. for very low-level performance concerns, which is why we dodged this before 20:37:25 jmckenty: I agree. That was one of the original reasons 20:37:28 gholt: raw quantity of projects is not a specific goal of mine...with that said, i would propose something similar to what we already agreed on for revision control 20:37:48 we saw with the Burrow/erlang discussion that there is a lot of value in keeping the dev community around a single language 20:37:52 in the different categories of tools we have options that projects can choose from that tie in well with the processes and overall systems to manage releases and information 20:38:27 e.g. revision control can be bzr or git, issues can be launchpad or something that ties into launchpad mirroring (with the onus of making the mirroring work on the project team that wants to use the other tool), etc 20:38:30 ttx: that switch back was more for lack of performance gains :) 20:38:32 ttx: How many people are actively developing on burrow? 20:38:47 creiht: just me so far! and one patch form some other guy 20:38:57 creiht: I actually plan to help ;) 20:39:06 * eday is getting lonely 20:39:31 There is always somethign else to do though -- my point is that if I had to learn Erlang that remote possibility would even be less likely 20:39:34 so, we started some of this discussions after the last summit, http://etherpad.openstack.org/PQ7dy5in2B, if we want to add autonomy specifics there 20:39:42 ttx: big community there ;) 20:39:51 jbryce: did I miss some previous decision on git issues v2.0, or has it not come up yet? 20:39:53 So, say Swift was it's own non-OpenStack project, but considered needed by OpenStack as a whole. How would it be incorporated? 20:39:54 at the time I though we had decided more integrated/less autonomous 20:40:18 eday: this ended up being http://wiki.openstack.org/ProjectTypes right? 20:40:21 which we ratified 20:40:23 jmckenty: at ODS we said we'd consider issue tracking once/when/if code hosting is migrated 20:40:26 I don't subscribe to the idea of developer portability. in practice, having devs that move between projects is exceedingly rare and there will always be learning curves, even if tooling is identical 20:40:34 (not saying I necessarily agree, just stating what was previously "decided") 20:40:44 notmyname: Glance being an exception rater than the rule ? 20:40:51 ttx: that's how I remembered it 20:41:04 I'll offer the opinion that if you make too strict of rules, you may miss out from contributions from the broader community as a whole, including projects 20:41:09 jmckenty: so in Boston in October. 20:41:13 notmyname: I respectfully disagree. 20:41:30 notmyname: maybe on a day-by-day basis, but I've seen a TON of long-term migration between projects 20:41:35 jmckenty_: ahh, yes. so it did 20:41:49 creiht: if that's a trade-off for a quality bar, I'm okay with it 20:42:08 the problem is, programming language != quality 20:42:21 It's more a trade off for "not how I want it" bar. :) 20:42:23 we are all for high quality projects 20:42:44 sure, but X language ~= low quality, in general 20:42:45 creiht: no but familiarity with the language helps spot quality problems 20:42:56 you end up with a shallow review group 20:43:11 a shallower set of tools 20:43:12 jbryce: vote/decision/action ? 15min left. 20:43:14 and most programming languages have the tools that help meet high quality standards, including the standards you summarized at the beginning 20:43:27 dendrobates: that is quite the strawman 20:43:38 creiht: can you name a multi-language project that has high quality? 20:43:51 I'm not talking about a multi-language project 20:43:56 gets back to philosophy 20:43:56 and if you say Eucalyptus, I'm going to vote to have you ejected from the PPB :P 20:44:04 creiht: just poorly typed. see jmckenty's comment instead 20:44:11 jmckenty_: if openstack recommends something, like python or bzr or launchpad, but allows projects to choose, that's fine. it's up to the projects to do the extra work required to integrate well 20:44:13 I've already been ejected from the PPB :{ 20:44:14 :P 20:44:25 jmckenty_: re: CI and code quality sutff 20:44:41 right, that was the context that I brought it up in - 1 project, 1 language, a reasonably *minimal* set of tools 20:44:53 I would argue that most projects are going to have a core team that focus on that specific project 20:45:00 Did we lose our chair ? 20:45:04 which can include multiple choices when necessary for dev workflow 20:45:06 jmckenty_: how much cross-polination is there between nova and swift now? 20:45:06 ttx: no 20:45:09 ah! 20:45:11 almost none 20:45:20 creiht: I don't want to be a dick, but if you're not on the PPB, you're kind of out of turn 20:45:31 I believe this is an open meeting 20:45:53 Oh, is this only for representatives? 20:45:54 ah, my bad. 20:45:59 but you don't have to listen to me, just offering my opinion 20:46:01 jmckenty_: we've allowed external input in other meetings 20:46:09 indeed 20:46:10 i'm not sure where the vote would be on this 20:46:18 k, I have a hard time keeping track of the ppb members 20:46:20 we have different definitions of autonomy 20:46:36 jmckenty_: http://wiki.openstack.org/Governance/PPB - all listed there 20:46:37 I'm not sure that we even have soemthing that can be voted on 20:46:41 right 20:46:44 jmckenty_: They are listed on a wiki page somewhere :) 20:46:46 swift and nova never cross polinated much, but glance is a bit different in that respect 20:46:50 jbryce: #1 is "openstack is a single product made aof a lot of independent, but cooperating, components" and #2 is "a collection of independent projects that work together for some level of integration and releases" ? 20:47:03 glance is also a very simple project 20:47:07 imho 20:47:11 heckj: I'm working on some crazy swift things right now, 20:47:14 and I'm a nova dev 20:47:18 not at the same level as nova or swift 20:47:20 creight: no argument there 20:47:24 ditto for 0x44 20:47:36 jmckenty_: Really? Care to share with the Swift guys? :) 20:47:39 jmckenty_: it would be nice if that was done in the open ;) 20:47:42 jbryce: I think the question of "single product" vs. "collection of independent projects" is the central one 20:47:51 ok 20:47:52 creiht: it's on github 20:47:55 ;) 20:47:56 you know since we are supposed to be a community and all 20:47:56 hahahahhaha 20:48:06 can we pause the discussion for a minute 20:48:08 I would posit that you'd get more benefit longer term from more cross pollination, so encouraging that is useful/beneficial to the project 20:48:12 sure 20:48:24 jbryce: sure 20:48:42 let's take a vote on the options ttx laid out in terms of a general philosophy on autonomy 20:49:01 +1 for #1 20:49:07 +1 for #1 20:49:11 #topic VOTE: #1 is "member:openstack is a single product made aof a lot of independent, but cooperating, components" and #2 is "a collection of independent projects that work together for some level of integration and releases" 20:49:16 +1 for #1 20:49:22 +1 for #1 20:49:35 +1 for #1 20:49:35 +1 for #2 20:49:37 +1 for #1 (for the record) 20:49:53 dendrobates: ? 20:49:56 +1 for #2 20:49:59 ewanmellor: ? 20:50:09 +1 for 1 20:50:16 vishy: ? 20:50:16 +1 for #1 20:50:37 * vishy is thinking 20:50:46 * jmckenty_ smacks vishy in his thinking-hole 20:50:59 I don't like forcing people to collaborate via policy 20:51:11 because it leads to ill-will 20:51:28 the doukhobors did it 20:51:36 vishy: it's not about forcing... it's about openstack being a single product or a collection of indep projects. 20:51:41 it is though 20:51:45 they designed their villages to force people to run into each other on a daily basis 20:51:54 we're forcing detractors to take on our model of how things should work 20:51:55 it kept conflict from festering 20:52:09 the policies can be flexible and include multiple viable options 20:52:10 I would prefer if we convince them to change their view 20:52:31 vishy: the irony to me is that we moved nova to launchpad so that swift and nova would be on a common platform 20:52:31 my personal view is #1 is more valuable 20:52:44 but the tools need to roll into an integrated view and experience for all the audiences 20:52:57 jbryce: +1 20:52:58 so +1 for #1 20:53:06 jmckenty_: we were both on git to start with! neither one of us wanted LP 20:53:18 anotherjesse says +1 for #1 20:53:27 There's some crazy crack-rock there that we should sort out at some point 20:53:31 anyway 20:53:33 #info philosophy is "openstack is a single product made aof a lot of independent, but cooperating, components" - vote 7-2 20:53:40 I'll make a caveat that I don't think we should be heavy-handed on our plicies 20:53:45 vishy: +1 20:53:47 * policies 20:53:51 vishy: I appreciate your concerns. We do not want to be too pedantic 20:54:02 jbryce: shall we vote on supporting multiple sets of tools (minimal sets) with equivalent function and strong integration? 20:54:06 or is that a given? 20:54:18 well, that's item 3 on the agenda 20:54:23 ah, right 20:54:24 #topic Possibility for core projects to choose their own code hosting (free choice, no choice, or set of options vetted by PPB ?) 20:54:28 and we still have 6 minutes left 20:54:30 we've got 5 minutes 20:54:38 +1 for set of vetted options 20:54:38 ok, I can explain the options 20:54:41 jmckenty_: one project implies single code hosting and single toolset? 20:54:54 no, I think it implies that as an ideal 20:54:59 i'm for a vetted set of options 20:55:02 but I think dev productivity trumps that 20:55:25 I would make it a target to have everything in single hosting and toolset by the end of next year, 20:55:37 since it may involve writing the damn hosting platform to not suck 20:55:41 basically "free choice" means the project choose and the integration tools must catch up, "no choice" is a bit out of fashion nowadays... and "set of options" allow to check for integration feasibility 20:55:53 ...beforehand. 20:56:04 I obviously vote for "vetted set of options" 20:56:20 I like a vetted set of options 20:56:28 since neither of the extreme positions sound like a good idea to me 20:56:44 let's do an actual vote on it before we run out of time 20:57:05 #topic VOTE on integration tools 20:57:10 +1 for vetted set 20:57:18 +1 for vetted set 20:57:34 +1 for vetted set 20:57:48 +1 20:58:01 +1 vetted set 20:58:02 +1 for no choice - if we're going to be a "single project", lets not fragment. (we can still change the set, but keep it consistent) 20:58:24 (so, currently LP is the only option, but github should soon be an option, if mtaylor and termie work on it this week :) 20:58:25 vishy: +1 for which? 20:58:55 ttx: I'm not sure we're going to be doing much work this week - but it's coming real soon now 20:59:02 ttx: I'd suggest that PPB / jbryce should make that more important than anything else they're doing 20:59:07 vetted 20:59:29 so 5 for vetted, 1 for no choice 20:59:34 notmyname: ? 20:59:36 +1 for no choice -- I don't want to have to train my devs on git and bzr 20:59:56 ewanmellor: note that we can actually turn "vetted" into "no choice" when we consider adding github to the set. 20:59:57 +1 for no choice to be consistent with the previous vote (but I disagree with that ;-) ) 21:00:11 ok...we're out of time 21:00:28 well that was convenient 21:00:30 * jaypipes is a sad puppy for missing this... 21:00:31 #info vetted set wins with 5 votes, no choice received 3 votes 21:00:37 I change my vote to no choice. I agree with Ewan 21:01:07 that ties it up. we can discuss further next meeting. we've got to hand the room over for the larger team 21:01:19 #info no final result 21:01:23 I'll change to no choice if it's github 21:01:23 #endmeeting