OpenStack是由開發商、企業、服務供應商、研究人員及用戶共同組成的全球性的社區。關注OpenStack最好的方式就是訪問OpenStack社區:www.openstack.org。通過社區可以第一時間瞭解OpenStack的動態。因此給出下面這些鏈接,希望可以幫助讀者進一步瞭解OpenStack。
·OpenStack峰會:https://wiki.openstack.org/wiki/Summit
·OpenStack用戶成員:https://wiki.openstack.org/wiki/OpenStackUsersGroup
·OpenStack在線會議:https://wiki.openstack.org/wiki/Meetings
·OpenStack郵件列表:https://wiki.openstack.org/wiki/MailingLists
·OpenStack IRC頻道:https://wiki.openstack.org/wiki/IRC
·OpenStack維基:https://wiki.openstack.org/
·OpenStack博客:http://www.openstack.org/blog/category/newsletter/
·OpenStack資訊:http://planet.openstack.org/
·OpenStack Github:https://github.com/openstack
·OpenStack問題列表:https://ask.openstack.org/zh/questions/
相關代碼庫如下。
·核心項目Git庫:http://git.openstack.org/cgit
·項目建設工具:https://github.com/openstack-infra
·開發人員工具:https://github.com/openstack-dev
代碼提交和審查網站如下。
·代碼review系統:https://review.openstack.org/
·代碼合併建議:http://status.openstack.org/reviews/
·持續集成:http://status.openstack.org/zuul/
·用戶和管理員文檔:http://docs.openstack.org/
大家關心的還有:當對OpenStack有新的需求並且有開發意向時,如何把需求變為實實在在的OpenStack代碼和項目。首先,我們得有一個想法,當一個新的想法逐漸成熟而且工作量非常大,以致無法在現有的某個OpenStack項目中承載時,就有必要成立一個獨立的新項目進行開發。項目的發起者可以是一個人,但更有可能的是一群人。他們會發動開源社區,推廣這個新項目,並吸引一批開發者共同開發。由這些開發者形成的團隊會在OpenStack郵件列表上討論問題,並定期召開日常例會。
在新項目成立早期,如果還沒有PTL(ProgramTechnicalLead,技術領頭人),團隊內部會選舉或指派一個領頭人帶領整個團隊的開發,以及主持每期例會。由於該項目是開源的,就會源源不斷地有新的開發者加入開發團隊當中。同時,也會有人審視並吸收類似的開源項目,以避免做重複工作。逐步地,項目漸漸成熟,形成了自己的目標、計劃和代碼庫。為了方便起見,項目發起者們一般會先將項目放在stackforge目錄上。對於最初項目的版權,最好是APache2.0,這樣就與OpenStack保持一致。當有一天新項目被集成到OpenStack發行版中時,也就不用重新定義和處理版權問題了。
當項目還是新項目時,它是在OpenStack項目之外開發的,這是該項目必須經歷的一個階段。在此階段,項目發起者可以利用OpenStack項目使用的工具去管理該項目。一旦項目發起者認為該項目成熟了,就可以向技術委員會提出孵化請求,等待成為孵化項目的批轉。
在一個項目被集成到OpenStack發佈版之前,成為孵化項目是必經階段。在這個階段裡,項目開發人員需要去瞭解OpenStack的發佈節奏、發佈流程,以及要成為集成項目還有哪些工作需要完成等內容。同時,也可以盡量尋求與其他項目合作或合併的機會。一般來說,這個階段至少需要持續兩個開發週期。在孵化期間,孵化項目都會被移植到OpenStack命名空間和目錄中。在一個開發週期結束時,OpenStack技術委員會會對孵化項目做一個考核,理論上只有經歷了兩個開發週期的孵化項目才能被選為考核目標。考核的結果如果被證明是足夠成熟的,並且已經準備好被集成到OpenStack發佈版當中時,就會被選擇從孵化期「畢業」成為OpenStack集成項目。在下一個開發週期裡,該項目就正式成為集成項目,成為OpenStack家族的正式成員之一。
下面介紹一下核心項目的含義。核心項目的含義在2013年有所改變,那時OpenStack項目的管理剛被轉交給OpenStack基金會。在此之前,所有被集成在OpenStack發佈版中的項目都被稱為核心項目,包括Nova、Swift、Glance、Cinder、Neutron、Horizon和Keystone。
此後,「核心」這個詞變成了OpenStack基金會在OpenStack發佈版裡對某個項目進行標籤的專有名詞,「核心」的使用也就被限制了。可以這麼說,核心項目是集成項目的一部分,是它的子集,當OpenStack基金會董事會認為某一個集成項目能達到某些要求時,就可以為該集成項目貼上「核心」這個標籤。
在2013年之後,所有從孵化期畢業被集成在OpenStack發佈版裡的項目都統一稱作集成項目,比如Cei1ometer、Heat和Trove都是集成項目,但Nova等7個項目,仍稱為核心項目。