1.2 OpenStack基金会及管理模式
2012年9月,OpenStack发布了第六个版本Folsom。也就是在这段时期,非营利性组织OpenStack基金会成立,并由SUSE的行业计划、新兴标准和开源部门总监兼Linux基金会董事Alan Clark担任主席。
OpenStack基金会最初拥有24名会员,获得了大约1000万美元的赞助基金,由Rackspace的Jonathan Bryce担任常务董事。同时,OpenStack社区决定从此以后的OpenStack项目都由OpenStack基金会管理。
OpenStack基金会的职责为推进OpenStack的开发、发布,并使其作为云操作系统被采纳,服务于来自全球的所有28000多名个人会员。
OpenStack基金会的目标是为OpenStack开发者、用户和整个生态系统提供服务,并通过资源共享,推进OpenStack公有云和私有云的发展,辅助技术提供商在OpenStack中集成最新技术,帮助开发者开发出最好的云计算软件。
简单来说,OpenStack基金会是一个非营利性组织,由各公司资助会费,共同管理OpenStack项目,帮助推广OpenStack的开发、发行和应用。基金会会员分为个人会员及企业会员。个人会员是免费的、开放的,基金会鼓励个人会员参与技术贡献、代码贡献和社区建设。而企业会员依据公司的决策及缴纳会费的多少,分为白金会员(Platinum Member)、黄金会员(Gold Member)、企业赞助会员(Corporate Sponsor)和支持组织(Supporting Organization)。
关于会员数量,OpenStack基金会允许最多8家白金会员资格和24家黄金会员资格,目前已有AT&T、爱立信、华为、英特尔、Rackspace、红帽、SUSE和腾讯这8家白金会员,以及九州云、Canonical、中国移动、中国电信、中国联通、思科、City Network、Dell EMC、德国电信、EasyStack、烽火、浪潮、Mirantis、NEC、新华三、卓朗科技、UnitedStack及中兴通讯等黄金会员。
1.2.1 董事会
按照OpenStack基金会的成立规则,所有8家白金会员,以及24家黄金会员中的8家是可以在董事会占有席位的,并由此具备各种事务的投票权。席位在基金会董事会里是可以影响OpenStack的发展和建设方向的,这也是各企业对会员级别和董事会席位趋之若鹜的原因。
所有黄金会员需要通过投票竞争才能获得那8个黄金会员席位,并且投票由24家黄金会员在一天内完成,不对外部社区公开。
最后,个人独立董事的8个席位,是由上千万个社区个人会员经过一周投票产生的。这24个席位构成了OpenStack基金会董事会,如图1-1所示。
图1-1 OpenStack基金会董事会
董事会对OpenStack项目的管理、发展及各项决策都有十分重要的决定权。比如,曾经所有被集成在OpenStack发行版中的项目都被称为核心项目,包括Nova、Swift、Glance、Cinder、Neutron、Horizon和Keystone。但是在2013年,“核心”这个词变成了OpenStack基金会董事会能在OpenStack发行版里对某个项目进行贴标签的特有名词,“核心”的使用也就被限制了,于是此后被集成的项目被称为集成项目。再后来,随着子项目越来越多,OpenStack允许子项目自己决定自己的发布,经过一些流程审核通过且被选中的子项目被称为大帐篷项目,这一系列决策都来自董事会。
一般来说,基金会会成立各种工作组(Working Group或WG),有计划、有目标地做一些推动OpenStack发展的事情。比如,在2014年亚特兰大峰会上,英特尔提出建立企业就绪工作组(Win the Enterprise WG或Enterprise WG),其目的是推动OpenStack从公有云向私有云转化,为推动OpenStack企业就绪进行相应的工作。后来因为既要考虑企业就绪,又要考虑电信就绪等市场,就成立了一个产品工作组(Product WG),显得更为专业。这个工作组的工作内容包括定义产品工作组的目标和工作方式,定义各时间段的Roadmap、交付时间表及工作流程,定义用户委员会的介入方式,以及介绍PTL(Program Technical Lead,技术领头人)如何在工作组里收集反馈并把反馈转化成将来开发的功能,等等。
产品工作组定义有3个目标:
· 放大来自市场/用户/运维在OpenStack设计和开发工作流中的“声音”,即OpenStack设计和开发应该尊重并考虑来自市场/用户/运维的实际需求。
· 简化跨项目功能的定义、实现和跟踪。
· 发布OpenStack的Roadmap以帮助运维/用户/其他人事先规划好自己的部署。
董事们在董事会会议期间,需要听取各方报告,有时还需要投票决定相关文件是否可行。另外,在每次峰会的首日,基金会也会举办董事会,听取来自OpenStack基金会工作人员的例行报告,了解OpenStack运维的健康状况。报告内容不仅包括工作总结,还包括峰会准备情况,以及财务收支情况等。
1.2.2 技术委员会
OpenStack基金会在成立之初就设立了专门的技术委员会来指导OpenStack技术相关的工作,如图1-2所示。针对技术问题讨论、某项技术决策和未来技术展望,技术委员会负责提供指导性建议和意见。除了技术指导,技术委员会还要确保OpenStack项目的公开性、透明性、普遍性、融合性和高质量。
在一般情况下,OpenStack技术委员会由13位成员组成,这13位成员完全是由OpenStack社区中有过代码贡献的开发者投票选举出来的,通常在任职6个月后就需要重选。有趣的是,其中的6位成员是在每年秋季选举产生的,另外7位是在每年春季选举产生的,通过错开选举时间保持了该委员会成员的稳定性和延续性。成为技术委员会成员候选人的唯一条件是,该候选人必须是OpenStack基金会的个人会员,除此之外,没有其他要求。而且,技术委员会成员可以同时在OpenStack基金会其他部门兼任其他职位。
图1-2 OpenStack基金会技术委员会
技术委员会在选举产生之后,会提名13位会员中的某一位来担任技术委员会主席。如果有多位候选人被提名,则采取投票的方式,并遵循少数服从多数的原则来决定。除非有特殊情况,如法律规定禁止,OpenStack基金会董事会有权利也会相应地批准最终技术委员会主席的任命。技术委员会主席负责组织定期会议,并及时与基金会董事会和整个社区沟通。
1.2.3 用户委员会
随着越来越多的用户在生产环境中使用OpenStack,以及OpenStack生态圈里越来越多的合作伙伴在云中支持OpenStack,社区指导用户使用和产品发展的使命变得越来越重要。鉴于此,OpenStack用户委员会应运而生。
OpenStack用户委员会的主要任务是:收集和归纳用户需求,并向董事会和技术委员会报告;以用户反馈的方式向开发团队提供指导;跟踪OpenStack部署和使用,并在用户中分享经验和案例;与各地OpenStack用户组一起在全球推广OpenStack。
OpenStack用户委员会由3位成员领导并指导一系列工作组的工作。