RDO和上游包装

德里克在上提到“上游包装”本周的包装会议并要求RDO包装商参与上游讨论。我认为更多的上下文可能有用。

首先,了解一下历史…

当我第一次开始为OpenStack做贡献时简要地看起来我需要做一些Ubuntu打包更新才能获得Nova补丁。几周后,在埃塞克斯设计峰会上,我对蒙蒂·泰勒(Monty Taylor)大发雷霆,因为为了提供补丁,要求Fedora打包程序修复Ubuntu打包是多么荒谬。我的意思是,上游项目应该将打包工作留给下游的打包维护人员。在那次峰会之后,上游CI很快就放弃了使用软件包,我听到Monty多次提到,为什么上游不应该进入软件包。

与此同时,丹·普林斯当时正在运行Smokestack CI系统,该系统实际上被视为OpenStack的第一个“第三方CI”。有趣的是,Smokestack正在使用软件包进行部署,很长一段时间以来,Dan成功地将软件包保持为最新版本,以便Smokestak可以为gerrit中建议的补丁构建软件包。

此外,人们一直对“追逐树干”感兴趣。希望从主干网练习OpenStack连续部署的运营商。包装如何适应这个世界?好吧,DevOps的口号是在模拟生产环境的环境中进行开发和CI。您应该在管道中尽早使用打包。

我的结论是:

  1. 为OpenStack构建持续交付管道的一个关键部分是练习持续的包维护。你可以巧妙地说,这是“将DevOps思维方式应用于包维护”。
  2. 如果OpenStack有“面向下游包维护者的上游基础设施”,那该有多棒。换言之,如果下游包维护团队可以在上游项目附近使用上游基础设施进行工作,而不会中断上游开发。

我认为Derek、Alan、Dan、John和其他所有人在Delorean上所做的工作确实有助于RDO维护人员了解如何练习(1)。我首先开始为Fedora Core 2维护Fedora包,所以IMO RDO在这里所做的事情非常引人注目。这是一种非常不同的关于软件包维护的思考方式。

至于(2),这是我们回到主题的地方…

温哥华设计峰会,使用上游infra维护包装的想法真的站稳了脚跟。托马斯·戈兰(又名zigo)提议成立一个“分销包装”团队这引发了关于openstack-dev的健康辩论Derek后来推动了显示如何导入RDO包装的WIP修补程序.

Debian和Ubuntu包维护者显然希望在共享包上进行合作,而这一进一步合作的目标似乎是将其包向上游移动的主要动机之一。考虑到Debian和Ubuntu的共同传统,这很有意义。

RDO团队热衷于采用这种上游工作流,但Debian/Ubuntu合作为对话增添了全新的内容。尽管RDO和SUSE平台在共享遗产方面几乎没有什么优势,但RDO和SUSE打包团队是否也应该合作,因为他们都使用RPM格式?也许deb和rpm维护人员也应该协作以确保一致性?

在我看来,这里的目标应该是鼓励下游打包团队与上游项目更紧密地合作,并让下游打包团队更多地与上游开发人员协作。这是关于下游团队的上游基础设施,而不是一种强制下游团队之间协作的方式,因为强制协作很少奏效。

对我来说,所有这一切最令人兴奋的是,未来不同平台的包维护人员将采用“持续打包”工作流,并与项目开发人员密切合作,甚至可以将打包更改与代码更改协调起来。凭借其惊人的基础设施,OpenStack为开源项目的运作开辟了新天地。这可能是另一个突破,这一次展示了如何使用项目的基础设施来实现包维护人员和项目开发人员之间的全新协作水平。

 

 

 

网络功能虚拟化——OpenStack和开源的机遇

本周的OPNFV的推出这是一个很好的机会,可以思考一下OpenStack开发者社区中正在酝酿的争论——NFV与OpenStack到底有什么关系,这是一件好事吗?

一年前的今天,我拜访了一位当地的Red Hat合作伙伴,谈论OpenStack,在问答结束时,我被问及“OpenStack是否支持NFV?”。我从来没听说过这个词,在解释这个基本概念时,我给出了一个不太连贯的版本“OpenStack为牛实现了一个弹性云;这听起来像宠物。对不起”。会议结束后,提出问题的人给我转发了一份2012年10月的NFV白皮书,浏览了一下,大部分内容都在我脑海中闪过,我不知道这与OpenStack有什么关系。

从那以后,克里斯·赖特一直在耐心地在这个空间里和我交谈,并温柔地试图让我摆脱最初的怀疑。Chris会说,我们的对话帮助他完善了向开源开发人员解释这些概念的方式,我认为他在4月份Linux基金会合作峰会的主题演讲中确实做到了。

在他的主题演讲中,Chris谈到了开源协作的好处,并介绍了网络行业如何变化的各个方面,以及开源如何在所有这些变化中发挥关键作用。他涵盖并简化了:

  • 以当前专有、昂贵、复杂、难以管理的转发设备(如路由器)的体系结构为例,以及SDN(软件定义网络)如何“在其上添加API”。这就是“控制平面和数据平面的分解”的含义——转发设备成为受开放标准控制的设备,并允许您的分布式转发设备系统被控制和自动化。
  • NFV(Network Function Virtualization,网络功能虚拟化)是电信公司以数据为中心的世界的一个转变,它吸取了弹性基础设施云给IT行业带来的许多教训。更多信息请参见下文。
  • “数据平面”世界的变化,我们开始看到网络设备市场模仿x86服务器市场,这些设备可以是运行开源软件的“白盒”服务器。再次提到分解词,但这次是关于“硬件和软件的分解”,以及软件部分如何成为优化包转发功能的开源实现,我们习惯于看到这些功能在昂贵的专有硬件设备中实现。

但让我们关注NFV。

我真的对电信行业了解不多,但克里斯现在让我想象的是,数据中心充满了专有的黑盒硬件设备,统称为“网络功能”或“中间盒”。这些盒子用于防火墙、NAT、深度数据包检查(DPI)、移动数据包核心等所有应用程序。这些是硬件中的软件应用程序。它们价格昂贵、专有、推出速度慢、规模不总是很好,并且阻碍了电信服务提供商对快速变化的市场做出反应。

NFV是关于彻底重新思考这些数据中心的架构。这是电信行业将其数据中心重新想象为弹性基础设施云,在这些云上运行其“网络功能”,作为虚拟化、水平可扩展的应用程序。作为一名开源倡导者,所有这一切让我激动不已——简直令人惊叹——的一点是,电信行业正在围绕一个普遍涉及开源和具体涉及OpenStack的架构达成共识。

再说一遍?这些大型电信公司想用OpenStack和开源软件重建他们的整个数据中心吗?对。

如果像我一样,你想看到开源将IT世界改变为一个我们都有机会在开放的环境中进行合作的世界,同时仍然成功地建立起满足用户需求的建筑业务……那么这听起来很酷,对吧?

如果像我一样,你想把OpenStack视为构建世界上许多弹性基础设施云的标准平台……那么这听起来像是一个没有大脑的人,对吧?

嗯,我们需要记住的是,这些应用程序(即网络功能)非常专业。他们需要有高水平的性能、确定性和可靠性。但这并不一定意味着他们是“宠物”,并且错过了弹性云的关键点之一。

让我们来看一下可靠性要求——当这些网络功能作为水平横向扩展应用程序实现时,它们将寻求以与典型云应用程序相同的方式实现高水平的可靠性——应用程序的每一层都分布在多个故障域中,以及通过水平分布应用程序负载。电信公司只想更进一步,对故障做出更快、更具确定性的响应,同时避免对应用程序性能造成任何损害。例如,您会看到很多人对如何安排实例以考虑实例组中的关联性和反关联性感兴趣。

性能需求主要与高性能数据包处理有关。如何将数据包从网络转移到虚拟机中,然后快速处理并在网络上再次返回。所追求的技术之一是让虚拟机通过SR-IOV直接物理访问网络,这反过来意味着计算调度程序需要知道每个计算节点上的NIC可以访问哪些物理网络。

确定性需求是关于可预测性能的。如何避免虚拟机监控程序和主机操作系统调度器的反复无常影响这些性能敏感的应用程序?您将看到围绕允许运营商定义风格和应用程序所有者定义图像属性的工作,这些属性可以控制诸如vCPU拓扑、vCPU到pCPU的固定、应用程序相对于NUMA节点的位置,以及为应用程序提供大页面。与亚马逊的内存优化和计算优化相比,想象一下这会更进一步。

哦,你会看到在这个领域出现的另一个需求是……到处都是IPv6!我当然不同意。

想了解更多有关工作的信息吗?请参见OpenStack NFV团队惊人的wiki页面其中包含了令人痛苦的细节。

你越是深入了解我们在这里讨论的细节,开始将其分解为具体的概念,而不使用所有的缩写词和流行语,你就会开始意识到这真的是电信世界,包含了OpenStack的所有内容,但只是稍微增加了一些需求,这对我们来说是一个很自然的演变,但我们可能还没有期望在一段时间内实现。

我想这里的总结是,如果你持怀疑态度,那很酷……你并不孤单。但请花点时间看看复杂和困惑,看看这个简单的事实,我们准备成为转变电信数据中心的关键部分,以及这是如何成为另一个令人兴奋的部分我们的目标是“打造无处不在的开源云计算平台”.

理想的OpenStack开发人员

(这是我最近在以色列和伦敦举行的OpenStack会议上发表的一篇演讲的散文版本。对于冗长的内容,我深表歉意。)

在Jonathan最近给董事会的更新中,我们描述了OpenStack迄今为止有2130名贡献者,其中466名每月都在活跃。这是一个令人难以置信的统计数字。毫无疑问,OpenStack成功地吸引了不寻常数量的贡献者,并且对于这样一个复杂的项目,他们的贡献相对容易。

然而,这不仅仅是一场数字游戏。我经常听到有人抱怨说,一个规模小得多、专注的团队可以达到OpenStack所达到的速度。从某种意义上来说,这是真的,但我认为兴趣和优先事项的多样性是像OpenStack这样的社区蓬勃发展的动力。

问题是如何提高我们众多贡献者的整体素质。为了做到这一点,我们需要能够设定期望。我们对贡献者的期望和价值是什么?

我将在这里尝试定义原型OpenStack开发人员。我们应该追求的理想。所有贡献者都应该遵守的标准。

(但是……在这里请容忍我。我只是一个小舌头。)

好的。我们从哪里开始?我们如何开始从我们面前的原始资源中锻造这位英雄?

让我们从基础知识开始。您对各种计算主题所需知识的广度和深度。

打开虚拟化,您可以从KVM开始。您应该了解CPU扩展,例如Intel的VT-x和I/O虚拟化与VT-d和PCI SR-IOV。对基于软件的虚拟化和半虚拟化的历史有一些了解也是很好的背景。现在了解KVM内核模块与用户空间组件qemu的职责。qemu如何模拟各种设备?实时迁移是如何工作的?虚拟机监控程序如何在迁移过程中使用页表标记来跟踪脏页?

如果不详细了解x86体系结构,那么理解所有这些可能就没有什么意义了。理解它与RISC架构的比较不会有什么害处。内存分割、MMU、页表都是有趣的话题。如果不学习一点汇编知识,至少是基本思想,你真的无法进入这一领域。从实际/保护模式到现代PAE或x86-64,了解x86的历史都很重要。不过,请忽略安腾。仅仅了解CPU是不够的,但是,您需要超越并思考CPU如何使用DMA和PCI等总线与外围设备交互。

而且,老实说,如果你走得这么远,你也可以理解基本的数字系统理论,比如如何从一组基本逻辑门构造计数器或寄存器…

哇,我想我有点跑题了。这就是虚拟化。对执行相同操作存储和网络我将把它作为一个练习留给读者。

不过,这只是OpenStack管理的基本资源背后的概念。这很复杂分布式系统,所以你有必要阅读一下这个话题。“法定人数”和“共识”是什么意思?为什么人们把Paxos算法描述为“快速的分布式系统”?当人们将OpenStack描述为“无共享”架构时,他们的意思是什么?他们疯了吗?您如何描述OpenStack的容错方法?

显然,与这一切相关的是需要深入了解数据库和消息传递系统。我们在这个项目上似乎有很多前MySQL顾问,但不要以此为借口。你知道什么是外键和交叉表连接,对吗?你真的需要知道哪种操作可以简单地锁定单个行,而不是整个表。对于消息传递,您可以在那里进行一些研究。我们都是关于OpenStack中的AMQP的,但过去还有一些其他消息传递协议。我个人最喜欢的是CORBA。基于代理、路由器和对等架构的区别是什么?我们在信息中谈论的“扇出”和“主题”是什么?顺便说一句,你知道我们实际上并没有在OpenStack中使用标准AMQP协议,对吗?

此时您不必触及任何代码行。但是,如果你想为OpenStack做贡献,你需要编写代码,对吗?几乎可以肯定的是蟒蛇,但我们也喜欢自己有点猛。对于Python,重要的是不仅要理解最基本的语法,还要理解更高级的主题,如迭代器、装饰器、上下文管理器和元类。您还需要对核心python发行版内外的大量python库有很好的了解。我们需要真正的Pythonistas。哦,我们正在移植到Python3,所以请确保您了解Python2和3之间的区别。

但是等等,等等。这不好。你不能直接进入Python。你需要从C开始。分配并释放你自己的内存,该死。如果你不学习指针,你就无法度过一生。现在学习如何使用线程和各种同步原语,以及为什么这一切都很糟糕。现在学习异步I/O技术;什么是事件循环,如何使用select()和非阻塞套接字编写单线程服务器来处理来自多个客户端的请求。哦,理查德·史蒂文斯。我的英雄。不要害怕阅读一些RFC。

说到作者,我们忘记了算法。是的,那些。只要仔细研究Knuth的所有三卷。

现在,在返回Python之前,您可能应该使用JAX-RS在Java中实现REST API,使用Ruby on Rails实现web UI。在意识到这不再酷并切换到Node.js之前,和酷孩子们一起玩,把你们的UI移植到Sinatra。

此时,您可能已经准备好为OpenStack贡献一些代码了。但是,我讨厌认为任何人在编写软件时都没有充分了解用户体验设计我们正朝这里驶去。我们不想让囚犯管理收容所,是吗?我们为哪些“人物角色”设计?“作为一名web开发人员,我想启动一台虚拟机来测试我的代码。”

等等,我们忘了工具。如果你不知道自己的工具,你什么都做不了。您将在Linux上完成所有工作,无论是在虚拟机上还是通过在主机上运行Linux。如果你是一个严肃的人,你需要学习emacs。你将与grep和sed成为非常亲密的朋友,所以要学会正则表达式。懒惰和贪婪的正则表达式。您知道如何使用curl进行HTTP POST,对吗?

啊,傻瓜!哦,太棒了吉特! 你对git的了解永远不会太多。这是一份不断给予的礼物。如果你认为我是在开玩笑,那就花点时间了解一下交互式重新基线。重新排序、编辑、挤压和拆分提交!重写历史!你一辈子都在哪里?没有一个git细节太模糊而无法忽略。了解波浪号与修订参数中的插入符号的区别。如何通过在git-push中删除refspec的第一部分来删除分支。强制超越,激动人心!你疯了吗?不?了解git的reflog是如何成为历史的!

(给我一秒钟让我冷静下来,这里)

现在,你必须意识到一些事情。根据迄今为止所学的知识,您可能可以自己编写OpenStack。但这不是这里发生的事情。你是合作。您正在遵循一个过程。我们如何合作以及为什么要遵循某些流程,这是一个比您迄今为止所了解的任何内容都更复杂、更复杂且没有文档记录的主题。

要真正理解我们如何在OpenStack中完成工作,您需要深入了解开源文化。当我们说“粗略的共识和运行代码”或“do-acray”时,请理解我们的意思。

也许可以从关注linux-kernel邮件列表几个月开始,看看争议性的讨论是如何进行的,以及决定谁掌握权力和影响力平衡的微妙之处。如果你对这一切看起来多么不友好感到震惊和震惊,不要担心,你不是第一个。如果这是你从内核中得到的一个答案,那么这段时间花得很好。现在,寻找更友好的社区,了解他们是如何完成任务的。将它们与OpenStack进行比较,并问自己一些问题,比如“与其他社区相比,我们对投票决策的依赖程度如何?”或者“为什么OpenStack中的冲突似乎比其他地方少?”。

开源的历史很重要,它将告诉你如何与OpenStack打交道,反过来也将影响OpenStack的发展。了解“自由软件”与“开源”阵营,以及它们是如何哲学与GPL等版权许可证与Apache、MIT或BSD等许可证的选择有关。您是为了代码用户的自由,还是为了建立协作软件开发社区?您在向OpenStack捐款之前被要求签署的捐款协议–您对此有何感想?

想想不同的治理模型开源社区采用的。了解仁慈的独裁者、项目管理委员会、“承诺”、基于共识的决策以及我们代议制民主模式的利弊。

了解发布过程各种项目使用。基于时间的与基于功能的。具有合并窗口的快速发布周期。计划周期、功能冻结、发布候选项、稳定分支。当涉及到这么多维护人员和软件包时,不同的发行版是如何做到这一点的?我们经常使用Python,他们如何协调发布周期?

这一切都很好,但重要的是不要忽视外面的世界开源。了解极限编程和敏捷软件开发是如何演变的。阅读敏捷宣言。了解这一切与持续集成、持续交付和DevOps的关系。我们的操作环境大不相同,但代码审查是XP配对编程的变体吗?我们的门控主机是否优于传统的提交后CI?

你现在可以考虑接受基本程度的教育。但这足以成为一个有效的贡献者吗?你现在拥有了产生影响所需的一切吗?不,远非如此。最难的是学会成为好人你需要有出色的沟通技巧,当然是英语,主要是邮件列表、gerrit和IRC讨论的书面沟通技巧。我们确实每年在设计峰会上举行两次会议,所以您也需要能够亲自提出并捍卫您的想法。你需要改善你的爱尔兰口音。

不过,除此之外,你还需要了解别人。你需要知道什么时候需要同情,什么时候需要务实,什么时候要教条。什么时候你的补丁上有人的-1可能是一个棘手的否决,什么时候它只是一个“要么接受要么放弃”的建议?什么样的战斗值得战斗?你如何通过帮助你的其他贡献者来建立荣誉点,什么时候是合适的时候来寻求帮助并花掉这些荣誉点?

好的,我们准备好了!我们该怎么做把这一切付诸实践?

也许开始为项目做出贡献的最佳方式是代码审查。您可能每天至少要花几个小时进行代码审查。不仅因为项目中代码审阅者的数量对其速度影响最大,还因为这是开始与其他贡献者建立信任的最佳方式。如果你能在代码评审中表现出你的深思熟虑、敬业和勤奋,那么其他代码评审者会更倾向于优先考虑你的补丁,而不太仔细地审查你的工作。

一个好的代码审阅者能够同时关注小细节,同时考虑全局。尽量不要只在补丁上留下+1,而是写一些评论,说明你考虑过的事情。为什么有人会相信你的+1是2小时仔细分析、研究和测试的结果,而不是仅仅2分钟的编码风格检查?

此外,想想你正在与谁建立信任。作为一名新的代码审阅者,从项目的一些主要开发人员那里为一些丰富的补丁提供有用的输入可能会更有成效。再者,补丁分类也会有很大帮助——在核心审查人员访问补丁之前,发现补丁中的明显问题。不过,别忘了作为代码评审员指导新的贡献者。代码审查是项目面向这些贡献者的一面,也是您展示如何以身作则的机会。

现在,你显然想贡献代码。找到一些需要修复的异常错误,可能是一些在自动测试中很少出现的竞争条件。通过对您所做的所有代码进行审查,您在编码方面获得了极好的品味,您的工作无疑将达到这些标准。别忘了写一条详细、有用的提交消息,并包括一个单元测试,它可以捕获问题的任何回归。如果这是一个更实质性的更改,您必须将您的更改分成更小的部分,每个补丁代表您朝着最终结果前进的逻辑步骤。

如果您正在进行实质性的添加,如新功能或重新架构,则需要在蓝图中详细记录您的设计。确保阅读规范的人能够快速理解您试图解决的问题、为什么它很重要以及解决方案背后的总体思路。然后确保有足够的背景信息包括在内,以便于审核人员的工作。包括用例、任何相关历史记录、相关讨论或错误、考虑和拒绝的替代方法以及任何安全、升级、性能或部署影响。描述如何测试您的工作以及需要进行哪些文档更改。

当我们讨论蓝图时,不要忘记这些也需要审查人员。大多数项目现在都使用gerrit审查与蓝图相关的规范,因此这是一种展示设计技能和捕捉其他人还没有考虑过的东西的方法。

不过,回到代码。是的,为Nova、Neutron、Swift等各种综合服务项目做出贡献很重要。然而,还有许多其他领域始终需要代码贡献。首先,客户项目总是被遗忘。然后是奥斯陆项目正在努力清理的跨项目技术债务。我们还将逐步将所有OpenStack移植到Python 3,这将是一项需要很多人帮助的多年工作。

我们还非常重视OpenStack中的自动化测试,我们拥有的令人敬畏的CI系统并非无处不在。您应该随时准备投入到基础设施本身的贡献中,比如devstack-gate、zuul、nodepool或elastic-recheck等工具。最后但并非最不重要的是,我们的功能测试套件Tempest总是迫切需要更多的贡献来增加我们的测试覆盖率。

安全在OpenStack这样的公共计算服务中至关重要,在这方面有几种方法可以帮助您。首先,有一个小型漏洞管理团队,该团队与每个项目的-coresec团队合作,处理私下报告的安全漏洞,确保在首先向供应商,然后向更广泛的世界协调、负责地披露问题之前,为每个受支持的分支准备好修复程序。重要的工作就是这样。还有一个安全小组,它试图将相关各方的努力结合起来,就非实际漏洞的安全问题编写官方通知,为OpenStack开发威胁分析过程,并维护OpenStack安全指南。他们需要你的帮助!然而,最重要的是,在编写和审查代码时,您需要具有安全意识。如果你睁大眼睛,很有可能在工作过程中发现并报告现有漏洞!

然后有文档,总是任何开源项目中被遗忘的可怜孩子。然而,OpenStack有一些相当棒的文档和一个很棒的开发团队。不过,他们永远不会希望自己处理工作量,所以他们需要你在自己的专业领域投入精力,帮助完善这些文档。

我提到过漏洞.我们不能忘记这些虫子!错误是用户为项目提供有价值贡献的一种方式,我们必须确保这些贡献得到重视,以便用户继续提交错误。仅Nova就有700多个配置选项,该项目不可能单独测试所有可能的组合,因此我们依赖用户测试他们自己的用例,并将任何问题报告为错误。您应该在这里提供帮助,每天留出一些时间对新的错误进行分类,确保提供了足够的信息,并对错误进行了适当的标记、分类和优先级排序。

沿着同样的路线,用户经常与不明显或不一定是bug的问题进行斗争。您还应该关注论坛,如ask.openstack.org或openstack操作员邮件列表。从长远来看,任何可以帮助用户成功使用OpenStack的外联活动都会带来巨大的回报,即使是在您了解哪些问题对真正的用户来说最重要时也是如此。这种联系应该扩展到您参加的OpenStack会议,就您的工作进行演示,并听取用户的意见。

说到邮件列表,我们有一个非常活跃的openstack-dev邮件列表,仅在4月份就有2500多封电子邮件。这是OpenStack中随时发生的所有活动的中心。你真的必须跟踪那里正在发生的事情,并积极参与到可以帮助事情向前发展的地方。这很难跟上,但这真的不是一个选择。

然而,openstack-dev过载的副作用之一是现在发生了许多重要的对话IRC公司。你不能指望所有这些都在身边,所以请确保保持连接并记录所有频道,以便稍后赶上。

因为对话可以分布在多个地方,所以用小面包屑链接所有这些对话会很有帮助。邮件列表线程可能引用gerrit评论,该评论可能引用IRC对话的日志,该日志可能引用博客帖子,该帖子可能引用错误,该错误可能引用引用前一邮件列表线程的前一提交消息。

不过,不要被愚弄,以为IRC是关于严肃的事情。这也是一个你可以在个人层面上了解你的其他贡献者并建立更多重要信任的地方。您将结交在OpenStack和其中一些平台上工作的朋友友谊将比您参与OpenStack本身的时间更长。这在任何社区都是非常积极的迹象。然而,要小心结成集团。我们需要这个社区向最多元化的贡献者开放,而不是所有这些人都会接受以美国为中心的年轻白人男性极客幽默。

谈到派系,人们普遍指责OpenStack开发人员过于自我吸收,以至于忽略了真正的操作员和用户的需求。OpenStack开发人员不对他们所做决策的现实后果负责。“当你带着寻呼机时,你写的代码是不同的”。Lorin Hochstein提出了一个“采用开发人员”计划,运营商可以邀请个别开发人员跟踪他们几天,并在总结、错误报告和蓝图方面分享他们的经验。基本上,你应该抓住一切机会弄脏你的手并提供帮助运行生产OpenStack服务.

与操作员需求相关的是部署、配置和操作工具他们迫切需要与更熟悉软件工作原理的肮脏细节的人合作。许多开发人员使用devstack来部署他们的开发云,但偶尔部署一些更像生产的东西,并为您使用的任何工具做出贡献,都会带来巨大的好处。TripleO是一项值得贡献的伟大部署工作,因为它试图创建一个空间,让所有对部署感兴趣的人都可以在这里协作,同时也因为它密切跟踪OpenStack的开发分支。

一旦你作为一个个人贡献者成功地产生了影响,你应该考虑扩大你的领导不仅仅是以身作则。当然,你会倾向于自愿承担PTL职位在你贡献最多的项目上的责任。为了证明你愿意和值得信任这个职位,也许你会建议PTL将他们的一些责任委派给你。

你的领导兴趣也应该超越单个项目。在某些方面技术委员会与PTL的项目责任同样重要。您对如何、为什么以及何时添加新程序或集成项目有强烈的意见吗。如果不是,为什么不是?

OpenStack的治理和对OpenStack未来方向的共同责任超越了TC和PTL对项目本身的治理,延伸到了基金会董事会保护、授权和促进项目,并确保项目周围有一个健康的商业和非商业生态系统。你在乎技术委员会和董事会如何划分职责吗?或者,在项目的技术决策中,有多少明确的公司影响力是合适的?或者董事会如何做出直接影响项目的法律决定?或者个别成员如何在董事会中选举代表?你应该这么做。

等等,等等,我忘了一堆东西。你应该非常关心如何让贡献者加入进来,并参与很棒的OPW和GSoC项目。跟踪人们对该项目的看法是很重要的,因此你应该阅读任何关于该项目的文章,甚至关注推特上最恶劣的诽谤者。仔细观察我们的主要竞争对手,如AWS和GCE是如何发展的。确保保持相关的新发展,如NFV或Docker。密切关注Stackforge上的新项目,跟踪其发展情况。

啊,等等。你可能是雇佣全职做这个项目,对吗?嗯,你真的需要学会如何戴上上游和下游的“帽子”。你需要了解如何帮助雇主成功实现项目目标。你需要能够调和雇主需求和项目最佳利益之间的任何明显冲突。这不是一个零和游戏。与雇主的客户和合作伙伴会面,帮助交付雇主提供的OpenStack产品或服务,指导同事如何成功参与项目,并成为跨越上下游差距的桥梁。

最重要的是,通过这一切,对你遇到的每个人都要友善,并保持微笑。

BZZT…燃烧警报

我显然是在开玩笑,对吧?任何人都不可能不辜负这些期望并活着讲述故事?

很明显,当你把所有这些放在一起时,这些都是不合理的期望。这个故事的主人公并不存在。我们中的许多人都试图成为这样的人,但这是不可能的。如果你愿意的话,读一读这篇非常个人化的故事,讲述不合理的自我组合期望导致的倦怠。

但事实上,我今天想表达的是,你不需要为了做出贡献而成为英雄。500人远不是太多活跃的月度贡献者,只是冰山一角。为什么每个OpenStack会议的参与者都不能以某种小的方式做出贡献呢?

当指导新的红帽工程师时,我的基本建议总是“找到你的利基”。找到一些你感兴趣的东西,并且你可以看到一条明显的路径,从而产生重大影响,然后深入!忽略几乎所有其他事情,做你自己的事。也许过了一段时间,你会自动开始行动,你现在可以对其他领域产生同样大的影响。或者,你会坚持这个利基市场,并在长期内继续产生影响。

我最喜欢的一个不太可能的利基示例是错误分类。早在2001年夏天,我就开始认真地为GNOME项目做贡献,并成为其CORBA ORB(ORBit)的维护者,ORBit是该项目的另一个新贡献者,名为路易斯·维拉发布了这封电子邮件:

嘿,各位。顺便介绍一下:我是西面的新监督员。正如你们中的一些人可能已经注意到的,我正在慢慢地从bugzilla.gnome中清除evo和RC错误,并将其转移到bugzilla.ximian中。

路易斯继续为GNOME的“错误小组”注入新的活力,帮助建立了一个高效的错误分类过程,并教会GNOME社区如何真正重视和庆祝错误报告员和错误分类人员的贡献。如果你想在开源世界中名利双收,有多少人会选择bug分类作为起点?好吧,路易斯做到了,并产生了巨大的影响,然后转向工程管理,然后全力以赴进入法学院。他现在是维基媒体基金会助理总顾问。

在这个故事中有一个真正的“找到你的利基”教训,但同时也是一个我们作为一个社区需要学习的教训,以真正重视和庆祝贡献者可以帮助项目的各种不同方式。我们作为一个社区,需要更多地同情我们的其他贡献者,而不是根据他们没有做出贡献的程度来评判其他人,而不是因为很少有人分享您对某个特定领域的热情而感到愤怒,无论这对您个人来说有多重要。

我们还需要尝试运行项目的方式,以便适当地识别不同的角色和利基。我们对PTL的关注是否减损了其他人对项目管理的宝贵贡献?官方计划是认识特定领域重要性的唯一途径吗?如果程序是唯一的方式,那么我们是否需要更开放地创建程序,只要有一群人围绕某些特定的工作进行了联合?我们是否需要明确地提高那些在我们通常不认识的领域中从事艰苦落后工作的贡献者的形象?我们是否建立了一种文化,过分强调认可,而放弃了我们现在认可人们的一些方式?

问题多,答案少。但希望这能让对话开始。

5月11日OpenStack基金会董事会会议

OpenStack基金会董事会亲自会见在亚特兰大OpenStack峰会之前。这是我对这次会议的非正式回忆。这不是官方记录等。

与之前在峰会之前举行的会议不同,此次会议仅从09:00到14.30,当时我们将会议地点改为首次董事会和技术委员会联席会议.

我即将休假一周,所以我想我会尽力简要介绍一下会议期间讨论的一些主题。

乔纳森的最新动态

在例行的预备会议之后,我们开始与乔纳森·布莱斯(以执行董事的身份)会面,从基金会的角度向董事会介绍最新情况。

Jonathan更新中最有趣的一张幻灯片总是显示社区和生态系统增长的最新统计数据。我们现在有超过355家公司支持该基金会,每月有超过2000名贡献者和近500名活跃贡献者。在Icehouse发布周期中,合并了17000多个提交,比哈瓦那增加了25%。这种水平的增长是惊人的。

乔纳森还谈到了openstack.org网站的访问者增长情况,并对访问者的地理分布进行了一些有趣的观察。统计数据中排名前四的国家是美国、印度、中国和法国。法国在统计数据中的排名如此之高,这是11月巴黎峰会之前的一个良好迹象。

接下来,乔纳森继续谈论下一周在亚特兰大的比赛。我们再次看到,与香港约3000名与会者相比,超过4500名与会者对此次活动的兴趣度大幅提高。经营这样的规模是一项艰巨的任务,Jonathan提到了一个疯狂的统计数据——基金会为此次活动印制了23000多件作品,为了能够完成这项工作,不得不将这些订单分散到三家印刷公司。

本周重点关注的是用户和运营商。有趣的是,大约有800名开发者和700名运营商报名参加了此次活动。所有人都同意,看到这么多运营商参加是一个非常健康的迹象。

Jonathan的一条评论引发了一些争论——该事件正在变成一个更广泛的云行业事件,而不仅仅限于OpenStack。一些董事会成员提出了一个担忧,即该活动不应完全通用,重点应始终放在OpenStack及其生态系统上。乔纳森澄清说,这就是目的。

乔纳森还谈到了峰会与会者的地域多样性。来自55多个国家的人,但81%的与会者来自美国。相比之下,在香港,美国与会者的比例更接近40%,乔纳森认为这表明了定期在美国以外举行峰会的重要性。

资助

乔纳森还向董事会介绍了基金会的最新财务状况。营业收入比预期高3%,支出下降7%。这给基金会留下了780万美元的银行存款,这是乔纳森建立一个实质性战争储备的目标的一部分,以确保基金会即使在发生不可预见的事件时也能保持稳定。

亚特兰大峰会预计将亏损5万美元,但有望盈利。然而,虽然预计这将是一项耗资270万美元的活动,但最终却耗资400万美元。由于不同的成本结构,巴黎的情况将大相径庭,预计该赛事将亏损。在讨论这一主题时,一些董事会成员要求董事会更密切地参与选择未来首脑会议的地点。Jonathan很高兴促成此事,并希望能够在7月份向董事会提供最新信息。

乔纳森随后详细介绍了该基金会申请美国联邦免税地位的最新情况。他解释说,虽然我们是特拉华州注册成立的非股票非盈利基金会,但我们尚未获得美国国税局授予的501(c)(6)身份。在11月向美国国税署提供了更多信息后,美国国税总局在3月回复了最初的否认,基金会在4月提出了抗议。

美国国税局的反对意见归结为他们的感觉(a)基金会正在生产软件,因此“正在开展正常的业务”,(b)基金会没有改善整个行业的条件,以及(c)基金会为其成员提供服务。Jonathan解释了为什么该基金会认为这些反对意见没有根据,并且OpenStack基金会与其他类似的501(c)(6)组织(如Linux基金会)基本上没有区别。他解释说,其他类似组织也经历了类似的困难,他认为基金会有责任继续挑战这一点,以避免在未来为其他组织开创先例。总的来说,乔纳森似乎对我们的立场很有信心,同时也觉得结果很难完全确定。这场对话持续了一段时间,出于兴趣,董事会提议成立一个委员会来跟踪这一问题,该委员会由财务委员会现有成员以及Eileen、Todd和Sean组成。

商标框架

Jonathan接着更新了基金会围绕商标商业用途的商标程序所做的一些更改。之前使用的六个徽标造成了太多混淆,因此基金会将这些徽标合并为“Powered By OpenStack”和“OpenStack Compatible”标记。

随后进行了一些辩论并作出了澄清,然后一些成员表示担心,没有就这一变化与董事会进行充分协商。在我看来,这种反对似乎是没有根据的,因为乔纳森在实施变革之前就向董事会简要介绍了这一变化。

继续讨论商标程序的主题,Boris发言并介绍了其团队一直在进行的DriverLog工作的最新情况。他要求董事会使用DriverLogs的输出来执行OpenStack兼容标记与Nova、Neutron和Cinder驱动程序结合使用的质量标准。对于这一点的含义,尤其是司机是否需要开源和/或合并到主干系统中,存在着相当激烈的争论。

一些董事会成员反对这样一个事实,即该提案不在议程上,董事会也没有在会议之前收到支持材料。Boris承诺在重新考虑该问题之前向董事会提供上述材料。

Defcore(定义核心)

接下来,Rob和Josh介绍了他们的DefCore计划的最新进展。与其试图在这里重复背景,也许最好读罗布自己的话.

一旦背景被覆盖,董事会花了一些时间考虑能力得分矩阵其中,每个能力(具体来说,能力是一组Tempest测试)根据12个选择标准进行评分。这允许对能力进行排名,以便董事会可以客观判断哪些能力应被视为“必须具备”。对于这种方法,似乎普遍达成了良好的共识,但有人建议考虑对标准进行更分级的评分(例如1-5分,而不是0分或1分)。

对话转到了“指定部分”的主题。在对话中,使用了Swift的例子,Josh觉得技术委员会的反馈表明,Swift整体上应该是指定的部分,或者Swift都不应该被视为二进制。Josh还认为技术团体(TC或PTL)应该对这些决定负责,但我觉得尽管TC可以提供意见,商标政策决策最终必须由董事会做出,以免我们要求考虑重大的政治和商业影响,从而玷污技术界的技术决策。

讨论中出现的一个清晰的要点是,“必须有”测试旨在推动互操作性,而指定的部分旨在通过要求供应商交付/部署代码库的某些部分来帮助构建我们的社区,并且暗示着要为代码库的这些部分做出贡献。

由于时间紧迫,董事会投票通过了DefCore委员会使用的选择标准。此外,董事会还举行了一场投票,以了解董事会成员是否认为除了“OpenStack powered”标志外,还需要一个“OpenStack-compatible”标志。除了三名董事会成员(蒙蒂、托德和乔什)之外,其他董事会成员都表示支持另一个“OpenStack compatible”标志。

赢得企业

简单地说,伊马德介绍了他和他的团队在峰会期间启动的“赢得企业”会议。目标是通过分析可能阻碍采用OpenStack的技术和业务差距,并制定行动计划来解决这些差距,从而推动OpenStack在企业中的采用。

董事会成员的反馈非常积极,讨论围绕着团队如何衡量他们的成功以及如何确保他们以尽可能公开透明的方式运作展开。

会议还讨论了对项目进行更多产品管理输入的必要性,以及对OpenStack云终端用户的额外关注。

总结

会议结束后,董事会成员与技术委员会成员一起召开了联席会议。我希望技术委员会中的一位杰出人士能为此次会议写一份总结!

这是一个非常枯竭的一周,我们许多人在红帽。当我准备完全关闭一周时,请允许我继续罗宾·贝杰伦的智者建议:

保持冷静,骑上戏剧《拉玛》

心跳加速

观看#心碎(又名2014年6月30日)本周在我的推特流中飞过,我一直希望我们都能暂停几周的时间,好好反思一下这里的所有角度。

我希望有更多的时间来钻研一些事情:

3月4日OpenStack基金会董事会会议

3月4日OpenStack基金会董事会为一个全天现场会议位于加利福尼亚州帕洛阿尔托的DLA Piper办公室。这是我对这次会议的非正式回忆。这不是官方记录等。

24名董事会成员中约有20人亲自参加了会议,托德和特里斯坦通过电话加入了会议。杜玉洁和克里斯·坎普未能出席。

像往常一样,我们的电话会议能力严重不足,无法满足那些希望远程参与的人的需求。然而,这一次Rob和Lew加入了一个Google Hangout,他们在会上用摄像机进行了训练。人们希望这能让我们更容易参与会议,但我们并没有得到任何反馈。

在我们正式开始之前,艾伦花了一些时间推荐“创业板:充分利用董事会”作为一本书,这本书可以提供一些有用的背景知识,介绍董事的职责以及成功组建董事会的必要条件。

[更新:Josh指出,我们还批准了上次会议的记录]

执行董事更新

我们的第一个话题是乔纳森的定期更新。

Jonathan谈到,围绕该项目的兴趣持续巨大增长,将使基金会工作人员的所有关键指标(如网站、开发者、推特、youtube等)在2013年至少翻一番。这种增长的一个有趣的方面是,中国、印度和日本地区的网站流量份额都有所增长,这引发了关于上一次在香港举行的峰会是否直接促成了这种转变的讨论。

我们的社区也在发展。我们现在有15000多名基金会成员,在项目的生命周期中有2000多名贡献者,每个月有400多名独特贡献者。

提到15000名个人会员,引发了一场关于以下事实的冗长讨论:个人会员资格可能会终止根据公司章程的以下条款:

未能在前二十四个月内为个人成员投票至少50%,除非该人在收到终止通知后三十(30)天内没有回复该人希望继续成为个人成员

乔纳森解释说,基金会成立后不久,就有6000多人注册成为个人会员。自那以后,这些最初的成员中只有大约1500人在选举中投票,因此我们可能会考虑在2014年将6000名成员从该地区的某个地方除名。这种减少的会员人数将通过使其更容易(甚至可能)到达第9.2(a)条规定的法定人数:

根据第三条的规定,需要多数投票的个人成员的赞成票,但前提是至少有25%的个人成员投票

围绕这一点的一些讨论要点包括,未来的细则变更是否应将法定人数要求降低到10%左右,终止的成员可以重新注册,但必须等待180天才能有资格投票,项目贡献者需要是基金会成员,但一些贡献者可能没有投票习惯,可能会终止其成员资格。

乔纳森继续他的幻灯片,并简要提到了该基金会的一些新支持,如Oracle和Parallels。他还谈到,OpenStack正在越来越多地发挥其平台的作用,并将用于许多不同的用例。他还包括了一张幻灯片,其中有许多积极的媒体和分析师对该项目的引用,比如“OpenStack周围的行业支持已经融合”。

乔纳森接着谈到基金会的预算,称其为800万美元的预算,结果是1100万美元。收入增加了,但费用保持不变,因此250万美元可以存入银行。他感到特别自豪的是,18个月前,该基金会刚刚开始没有资金,并且已经建立了一个重要的缓冲区,这将使我们所有人都对基金会的未来充满信心,即使是在更动荡或不可预测的时期。

最后,乔纳森回顾了基金会工作人员2014年的优先事项:

  1. 改进软件——无论是基金会在软件开发过程中的持续投资,还是组织将用户反馈引入项目的活动
  2. 提高OpenStack产品和服务之间的互操作性
  3. 在围绕OpenStack和NFV召开的移动世界大会上,电信运营商特别提到了对服务提供商全球足迹的兴趣

DefCore更新

接下来,Rob和Josh提供了DefCore委员会的最新进展情况,要求董事会提供检查点,以确定是否一致认为应继续采用当前方法。

Rob从回顾开始DefCore的目的和迄今为止采取的方法他解释说,委员会的任务是研究如何管理OpenStack商标的商业使用,一些问题目前正在被刻意讨论,例如API互操作性商标和细则的更改。

乔什接手并审查了目前达成一致的标准在评估使用商标是否需要特定能力时使用,例如。

  1. 稳定–需要稳定超过2个版本
  2. 完成–应在扩展实现中进行功能测试
  3. 可发现–例如,可以在Keystone中找到,也可以通过服务自省找到
  4. 广泛部署–支持多个公共云提供商和私有云产品支持的功能
  5. 工具–由常用工具支持
  6. 客户端–公共库的一部分
  7. 基础——其他必备能力所需
  8. TC未来方向–反映未来技术方向
  9. 记录–良好记录预期行为
  10. 遗产——以前被认为是必须拥有的
  11. 集群-测试是否可用于此功能?
  12. 原子级–无法从其他必备功能中构建的独特功能
  13. 非管理员-功能不需要管理权限

接下来,罗布、乔什和特洛伊在董事会上通过起草电子表格,根据这些标准评估潜在能力.

随后的讨论大多围绕着不同的董事会成员,他们非常渴望就这一过程的影响获得更广泛的反馈,尤其是围绕着确定最棘手和最具争议的结果。有人表示担心,这一进程如此复杂和详细,以至于很少有人能很好地评估这一进程的方向,可能会发现一些结果非常令人惊讶。

Rob&Josh认为,这种电子表格方法意味着我们可以从利益相关者那里获得更有针对性和有用的反馈。例如,如果一个项目认为它的某个功能应该是必须具备的,或者云提供商对它尚未提供的功能被视为必须具备感到惊讶,那么可以围绕该特定功能展开讨论,用于评估的一组标准和权重是否合适,以及是否根据这些标准对能力进行了正确评估。

最后,Rob&Josh解释了收集用于评估商标使用申请的测试结果的拟议方法。该想法(称为TCUP或“tea-cup”,用于“测试收集、上传和发布”)目前正在stackforge上的refstack回购将允许人们下载docker容器图像,添加云凭据和端点URL,运行容器,然后对端点执行测试并上传结果。

[更新:Josh指出,通过TCUP上传的数据将“暂时视为机密”]

驾驶员测试

接下来,鲍里斯·伦斯基(Boris Renski)发言讨论了Nova、Neutron和Cinder车手测试,特别是考虑到它与商标使用的关系。这与他关于这个话题的博客帖子几周前。

关于技术社区发生的变化,有两个主要观察结果——(1)项目要求供应商维护人员在gerrit补丁审查中提供可靠的第三方自动测试反馈;(2)手动维护“驱动程序兼容性矩阵”,通常是过时的OpenStack中的wiki可能很快会被显示这些第三方自动测试系统结果的仪表板所取代。

Boris希望把这项技术工作放在一边(因为它不是董事会的领域),并将讨论重点放在董事会是否会考虑一个新的商标计划上,这样,通过自动测试的供应商将被允许使用“Build for OpenStack”等商标。

辩论迅速升温,并朝着几个不同的方向展开。

讨论的一部分围绕着项目中的自动化测试需求,这在实践中是如何工作的,它的后果,不推荐驱动程序的工作方式,驱动程序是否在树中意味着一定的质量水平,等等。我觉得董事会在一个由个别项目和TC授权的主题上真的陷入了困境。例如,在讨论中很容易忘记,PTL最终有权放弃对个别驾驶员的测试要求。

另一个令人惊讶的因素是,在OpenStack活动板Stackalytics公司一些董事会成员认为,Mirantis在Stackalytics方面的工作故意重复和破坏了Activity board的工作,这里也发生了同样的事情,因为这个驱动程序测试仪表板自然属于DefCore/Refstack工作。Boris承认他“对Stackalytics手下留情”,并试图通过提前买进来做正确的事情。其他人认为这两项努力要么无关,要么相互竞争最终会带来更好的结果。

讨论的另一条线索是,Boris对特殊术语“认证”的使用或暗示,自动将这个话题转移到了OpenStack品牌的领域,并且在董事会讨论之前猜测基金会会开始这样一个项目是不合适的。

最后,董事会指示Jonathan应与Boris和Rob合作,制定一项计划,收集所有自动测试结果,其次,与DefCore法律小组委员会合作,探讨在这种情况下商标的可能使用。

操作员的反馈

蒂姆·贝尔在旁边发言,向董事会进行了发言OpenStack运营商的反馈在前一天的OpenStack Operators Mini Summit上收集。

上面链接的etherpad可能提供了比我更好的总结,但其中一些亮点包括:

  • 运营商应能够在起草蓝图时提供反馈意见,以帮助开发人员在开发过程的早期获得运营洞察力
  • 对一些核心OpenStack组件的稳定性(或缺乏稳定性)的一些观察
  • 再次强调了坚实的升级故事的重要性
  • 关于TripleO的一些很棒的反馈
  • 执行CI/CD的团队和使用发布版的团队之间的分歧
  • 如何鼓励运营商向上游提交更多错误
  • 很多,更多

这一反馈得到了董事会的好评,并引发了一系列讨论和问题。

最后,Josh对受邀者名单的制定方式以及他认为供应商(如Piston)如何推荐他们的一些客户受邀提出了一些担忧。蒂姆觉得这是一种不公平的批评,用户委员会在向公众开放之前,努力为有限的座位活动安排了不同的受邀者。

新兴用例–NFV

最后,由于时间有限,AT&T的Toby Ford向董事会简要介绍了网络功能虚拟化(NFV),这是OpenStack的一个新兴用例,与SDN(软件定义网络)紧密相关。他描述了AT&T如何为自己设定使命:

通过(a)从以硬件为中心转变为以软件为中心,(b)分离控制平面和数据平面,以及(c)使网络更具可编程性和开放性,简化、开放和扩展我们的网络,使其更加灵活、灵活、安全、经济高效和快速

托比在这个复杂的领域做了很多工作,让我明白了网络行业正在发生巨大的转变,从硬件设备到运行在虚拟商品硬件上的扩展软件设备。

网络行业似乎一致认为,OpenStack将成为这个新世界秩序的管理和协调平台,但电信公司和网络供应商迫切需要与OpenStack更紧密地合作,以实现这一目标。

总结和晚间活动

艾伦在4月3日的电话会议和5月11日的现场会议上讨论了我们下次会议的日程安排后,提前结束了会议。

董事会随后前往当地一家餐厅用餐。晚饭前后,我和蒂姆、蒙蒂、范和特洛伊进行了一些很好的交谈。有趣的是,由于桌子的布局和餐厅的噪音,我真的只能和坐在你对面的人聊天,所以我发现自己和鲍里斯有一个2小时的专属晚餐约会!有一次,鲍里斯把一杯酒打翻在我身上后,我开玩笑说,我应该在推特上发布“红帽和米兰提斯的紧张关系最终演变为暴力”。但是,坦白地说,这些围绕董事会会议进行的面对面、非正式对话往往比20多人的会议本身更有效地促进共同理解和真正的合作。我想这就是野兽的本性。

裸Ping

早在2009年11月,阿贾克斯向Red Hat的全公司邮件列表发送了一封关于IRC礼仪的电子邮件。这些年来,我不得不让几个人参考它,所以我请求ajax允许我发布它。他同意了。这里是它的荣耀。

发件人:Adam Jackson
收件人:备忘录列表
主题:关于“ping”etiquite
日期:2009年11月17日星期二12:21:30-0500

IRC开发了一个“ping”约定来吸引某人的注意。它之所以有效,是因为大多数客户都会突出显示提到您名字的频道,所以

ajax:ping

将使该频道对我显示为粉红色而不是白色[1]。

我想纠正或至少纠正这种行为。赤裸裸的ping应该被认为是有害的,至少有两个原因。首先,它不传递任何信息。你的ping接收者和你一样,也是一个忙碌的人。他们可能正处于需要复杂思考的事情之中,不应该因为火灾、洪水或六位数的收入之外的任何事情而被打断。更糟糕的是,你可能会忘记为什么打电话给某人;四个小时后,当你的受害者回到IRC并回复你时,你会被打断,转而试图记住你最初的想法。

第二个更微妙的原因来自第一个原因。没有数据的ping本质上是一个命令。它是被动侵略性的;这意味着接受者的时间不如你的宝贵。[2] pingee将以两种方式中的一种(或两种)进行响应。他们要么会因为不可预测的时间需求增加而承受更大的压力,要么干脆忽视裸体ping。

这里的根本问题是对媒体的误解。IRC不是电话。它是易失性存储器。ping之所以有效,是因为客户端记得看到了ping,并可以将其保存在历史缓冲区中,这样您就可以看到谁在和您通话,以及为什么。

裸ping将删除此上下文。

拜托。节省时间。节省我的时间。让我们的生活更有效率,压力更小。Ping数据。至少:

ajax:ping re bz 534027

看到区别了吗?现在,您已经将缓慢的、步调一致的、类似PIO的交互转变为平滑的流水线DMA。它对你的硬件有好处,对你也有好处。

[1] –irssi 4生活。

[2] –他们的时间可能不如你的宝贵。那不是
点。

–微开

1月30日OpenStack基金会董事会会议

这个OpenStack基金会董事会上周举行了两个小时的电话会议。这是自最近个人黄金成员董事选举。

像往常一样,这是我对会议的非正式回忆。这不是官方记录等。

你那位值得信赖的记者刚刚抵达布鲁塞尔参加FOSDEM,并在他的酒店房间里参加了这次会议,而不是品尝比利时的优质啤酒。哦,我们做出的牺牲!😛

前期工作

像往常一样,召集会议是一项挑战,在预定开始后至少15分钟,我们才完成点名。

接下来,艾伦欢迎我们的新董事:

  • 杜玉洁
  • 亚历克斯·弗里德兰
  • 维什·伊沙亚
  • 伊马德索索

并感谢即将离任的董事:

  • 尼克·巴切
  • 慧成
  • 约瑟夫乔治
  • 劳伦·塞尔

同时感谢2013年部分时间担任董事会成员的董事:

  • 德文·卡伦
  • 吉姆·柯里
  • 约翰·伊戈
  • 凯尔麦唐诺
  • 乔恩·米特尔豪泽

政策、沟通渠道和会议时间表

由于是新的一年,我们借此机会审查了适用于董事会成员的各种政策。

Josh检查了我们的透明度政策提到董事会努力做到尽可能透明,董事会会议向公众开放,会议摘要张贴在基金会名单上,并鼓励董事使用基金会邮件列表进行讨论。董事会的下属委员会也将同样透明,包括维基页面和公共邮件列表。该政策的一些警告是,在Jonathan发布总结(或72小时过去了)之前,董事会成员不得对董事会会议发表公开评论,成员不得讨论执行会议,一些非公开文件的分发可能仅限于董事。

Alan还提到了我们的行为准则并鼓励董事们仔细阅读。最后,来自DLA Piper的Jeff为我们介绍了反垄断政策其中,他强调了避免董事会成员走到一起以促进某些公司利益高于其他公司的看法的重要性。成员国应限制自己进行有利于竞争的合作。

接下来,我们快速回顾了董事们需要注意的各种沟通渠道——conf呼叫的webex、基金会和基金会董事会邮件列表、#openstack-board和#openstack基金会IRC渠道、我们在董事会会议期间使用的非正式etherpad以及各种委员会邮件列表。

最后,我们讨论了即将举行的董事会会议——3月4日在帕洛阿尔托举行的全天面对面会议,4月3日举行的2小时电话会议,5月11日亚特兰大峰会之前在亚特兰大举行的全日面对面会议以及7月21日在OSCON举行的另一次面对面会议。

亚特兰大面对面的时间问题再次被提出。5月11日也是母亲节(在美国和其他一些国家),这对许多董事会成员来说是一场令人讨厌的冲突。然而,董事会成员之间的民意调查已经确定,峰会期间没有更好的时间,因此我们将继续5月11日的会议。有人提出了一个问题,即未来的董事会会议安排是否应与我们的首脑会议保持一致,但反对这一想法的人认为,这给那些不得不长途旅行参加会议的成员带来了太多的时间和预算压力。

委员会的状态报告

最后,是时候继续讨论一些更丰富的话题了!董事会各委员会的一名成员被要求提供最新状态和未来一年的计划。

艾伦首先描述了赔偿委员会负责确定和评估执行董事的目标和绩效。总之,委员会得出结论,乔纳森实现了2013年的目标,并为2014年制定了新的目标。

接下来,肖恩·罗伯茨谈到了财务委员会。该委员会与基金会工作人员就财务预算和会计进行合作。肖恩介绍了该基金会的国税局备案情况,并表示该基金会2012年的财务审计已经完成,并被认为是干净的(并注明该基金会“以现金为基础经营”)。基金会的501(c)(6)申请正在进行中,美国国税局要求一些澄清,这些澄清已于12月返回给他们。委员会每月召开一次会议,审查10%以上的任何差异,但迄今为止还没有出现此类问题。基本上,一切都处于良好的状态。

Tim Bell讲述了来自用户委员会Tim提到了在香港峰会上发布的用户调查,以及委员会如何要求TC提供对开发人员有用的反馈意见。该委员会正准备在亚特兰大峰会之前进行另一项调查。Tim还提到,用户委员会将在未来几个月内举办两次小型、重点突出的“运营商迷你峰会”,让运营商聚在一起分享他们的反馈意见。Tim描述了与少数核心志愿者一起管理委员会的挑战,以确保调查结果的隐私,同时鼓励志愿者帮助完成将调查反馈转化为新功能蓝图等任务。

Van Lindberg对法律事务委员会他强调,委员会不是基金会或董事会的顾问,而是一个就知识产权政策向董事会提出建议的团体。他重述了去年的一些专利政策建议,例如基金会应加入OIN。有人简要提到了一个事实,即所有委员会成员目前都是律师,而附则将成员人数限制为5人。他还提到,DefCore委员会有一个相关的小组委员会,负责审查可能的附则变更。

托德描述了选举委员会,即于2013年2月成立,共有8名成员,目标是考虑对个人成员选举程序可能进行的修改。该委员会目前正在考虑提议对Condorcet或STV进行修改,并就此在香港举行了市政厅会议。托德指出,这次会议出席人数很少,参与人数一般都很低。要通过这样一项改革,主要障碍是至少25%的个人成员中的大多数需要投票支持细则的改革,而上次选举的投票率只有17%。然而,在7月份,我们将能够开始使不活跃的成员丧失投票资格,这将有助于我们达到所需的投票率。

Rob给出了DefCore委员会[5]的更新,该委员会正在考虑更改希望使用OpenStack商标的OpenStack商业实现的要求。该委员会目前正在确定一组必须通过的测试以及这些测试对应的功能。Rob提到,一些项目目前没有或只有最小的测试覆盖率,因此,不能考虑将其功能包含在需求中。Rob还提到了在委员会讨论期间发现的“项目与项目”问题,需要与TC举行会议来解决该问题。我建议Rob和Josh参加TC的IRC会议,讨论这个问题。

最后,西蒙简要介绍了黄金会员申请委员会的工作。该委员会帮助潜在的黄金会员准备其申请,以便充分预见董事会可能对申请提出的所有问题和担忧。

总结

虽然议程上还有少量其他项目,但我们现在已经没有时间了。在很短的时间内,我们已经涵盖了广泛的主题,但还没有真正涵盖新的领域。这次会议主要是关于重新启动2014年董事会。

OpenStack、精英政治和多元化

这些天,每当我想解释关于OpenStack技术社区及其治理的一些事情时,每当我提到“精英管理”这个词时,我都会停下来。

显然,在一些圈子里“精英政治”的概念已经严重失信,它代表了一种精英通过将规则倾斜到有利于自己的角度来延续权力的制度。

我不是一个很好的政治思想家,我对美国国内政治的理解非常有限(想想看《白宫风云》和总统大选的场面),所以我第一次真正遇到这个词是在GNOME项目的背景下。GNOME基金会章程:

GNOME是一种精英政治

公司、组织或个人不应被授予基金会席位,除非根据其贡献的优点证明其存在是正当的。金钱买不到对GNOME项目的影响:向我们展示代码(或文档、翻译、领导力或网络管理……)。

以及随后的其他项目,如ASF。发件人ASF的工作原理:

当团队认为此人“赢得了”成为开发社区一员的荣誉时,他们授予了对代码库的直接访问权,从而增加了团队,提高了团队开发程序、更有效地维护和开发程序的能力。

我们将这一基本原则称为“精英政治”:字面意思是,以德治国。

值得注意的是,这个过程在不产生摩擦的情况下进行得很好,因为与其他权力稀缺且保守的情况不同,在阿帕奇集团中,新来的人被视为志愿者,他们想帮助别人,而不是想偷取职位。

由于没有保守的资源(金钱、精力、时间)处于危险之中,该团队很高兴有新的人加入并提供帮助,他们只是筛选那些他们认为对任务有足够承诺的人,并匹配与他人合作所需的人类态度,尤其是在分歧中。

对我来说,我们这里所说的“力量”是指完成任务的能力、许可或授权,这将推动项目的进展。在一些项目中,这意味着提交访问权限,但最终这意味着建立项目其他贡献者的尊重和信任,这样您可以更容易地影响和推动项目的方向。你通过完成有用的工作(广义地定义为代码、文档、翻译、领导、营销、宣传等)来获得“权力”,它赋予你的只是完成更多有用的工作的能力。在一个健康的项目中,我们希望将这种权力赋予越来越多的人,而不是集中在一个小精英群体中。

这就是我们所说的“OpenStack是一种技术精英”。我讨厌想到那些善意的项目治理原则被用来解释美国政治中的社会不平等的“精英政治”所玷污。我也不想认为我们将这些原则视为某种柏拉图式的理想,不需要我们不断评估我们如何授权人们帮助推动OpenStack。

项目中的多样性水平是一个不完美的暗示。是的,我们有不同的观点和赞助组织,但我们没有令人印象深刻的性别、种族或文化地理水平。

我在GNOME时代的好朋友Daniel Veillard,向香港技术委员会提出这个问题:

我们在中国。讲台上没有亚洲人。你能做些什么来改善这种情况?

是的,我们实行精英管理,任何人都可以在项目中担任领导职务,但我们需要认识到,在许多人面前,存在着极其困难的语言和文化障碍。

这些障碍的一个例子是我们如何经常举办设计峰会。非常有规律地——尤其是当你在房间里聚集了大量较为成熟的投稿人,他们是彼此理解的好朋友时——讨论往往会演变成一个充满玩笑的随意声音网站。我和其他人一样应该为此受到谴责,但有时我回想起来,会为“小组内”之外的人加入讨论的难度感到不寒而栗。

我看到过许多例子,一位新的非英语母语者与一位现有的贡献者合作,领导一场关于他们工作的设计峰会。真正有效的是,现有的贡献器可以帮助吸引与会者,放慢对话速度,确保新的投稿人理解所提供的反馈……而不试图对新投稿人的工作加以赞扬。这只是我们可以用来授权新贡献者的一种技术。

总之,我认为OpenStack的“精英管理”是一个赋予贡献者权力(并庆祝他们的贡献)的善意模式,但我们都应该关注如何才能做出特别努力,赋予那些尚未在项目领导层中得到很好代表的群体的贡献者权力。

2014年OpenStack个人成员董事选举和红帽

tl;dr–隶属关系限制意味着最多只能选出两个红帽附属候选人中的一个。累积投票制使我们两人的竞选都可能严重损害我们两人当选的机会。优惠投票制度,如Condorcet公司STV公司不会有这个问题。

在Red Hat,我们这些为OpenStack做出贡献的人非常认真地承担起了我们的责任,把对项目有好处的东西放在我们的脑海中,这就是我们喜欢说的“上游帽子”。对我和拉塞尔·布莱恩特来说尤其如此。

然而,现在2014年OpenStack个人成员董事选举候选人名单最终确定后,我们发现自己在与罗素和我都是候选人这一事实作斗争。我们选举制度的两个方面使这成为一个问题。首先,累积投票制意味着那些愿意投票给我或罗素的人被迫在我们之间做出选择——本质上,我们正在损害彼此当选的机会。其次,归属限制意味着,即使我们俩都有幸获得足够的选票当选,我们中的一个人也会被限制淘汰。

这两个问题的结合意味着我们必须在决策中考虑我们的从属关系。这些规则将附属关系置于选举制度的前列和中心位置,尽管个人会员董事并没有被选为其雇主的代表。

现在,我个人对过去一年里没有足够努力地推动选举制度问题感到愧疚。在某一点上我喜欢尝试对累积系统进行调整因为我发现,让超过25%的选民投票支持改革的前景十分严峻。我想对我们现在面临的这个决定持完全开放的态度,因为我想帮助提高人们对这个问题的重要性的认识。

鉴于Red Hat是白金会员,并在董事会中拥有自动席位,我们正在权衡的选项包括:

  1. 继续让罗素和我参加投票,接受我们正在破坏彼此机会的风险。
  2. 我或罗素退出了投票,给了我们中的另一个人最好的当选机会。
  3. 布莱恩·史蒂文斯(Brian Stevens)退出董事会,我或罗素(Russell)接替他的位置,让我们中剩下的任何一个都有可能当选。

这不是一个容易的决定。我们都觉得我们可以在董事会上有所贡献。我们两人都会为能够当选为个别议员的代表而感到非常自豪。我们俩都认为,布莱恩·史蒂文斯(我们非常尊敬的首席技术官)是红帽董事会中最好的代表。

我们将在选举前就此作出决定,但目前我们认为没有任何选项比其他选项更好。但至少,我希望每个人都能发现这一点,作为一个具体的例子,说明为什么我们的选举制度需要改变。