{"id":3256,"date":"2012-10-06T22:11:54","date_gmt":"2012-10-07T03:11:54","guid":{"rendered":"http:\/\/www.openstack.org\/blog\/?p=3256"},"modified":"2013-02-20T20:05:41","modified_gmt":"2013-02-21T02:05:41","slug":"how-sina-contributes-to-openstack","status":"publish","type":"post","link":"https:\/\/www.openstack.org\/blog\/how-sina-contributes-to-openstack\/","title":{"rendered":"How Sina Contributes to OpenStack"},"content":{"rendered":"<p class=\"lead\">OpenStack launches a new release every 6\u00a0months. Essex was released 6 months ago, and Folsom came out on September 27. Every release \u00a0is followed by a third-party report on the individual and corporate contributions. In this article, \u00a0I&#8217;d like to talk about how we Sina OpenStack dev team, as an important corporate contributor in OpenStack projects, involves in the OpenStack\u00a0community and how we contribute to OpenStack Folsom ?<\/p>\n<p>6 months ago, in a report of\u00a0<a href=\"http:\/\/www.readwriteweb.com\/cloud\/2012\/04\/who-wrote-openstack-essex-a-de.php\" target=\"_blank\">Who Wrote OpenStack Essex?<\/a>\u00a0by\u00a0ReadWriteWeb, we were surprised to see that Sina was for the first \u00a0time listed\u00a0among\u00a0Top 10 bugfix companies, ranking #9. My team was highly inspired, and we never thought that our little work in OpenStack could be able to be listed along with the International IT giants, like Rackspace, RedHat, IBM and HP. \u00a0Since then, we have devoted much more weight on the community development of OpenStack official projects, and\u00a0 invested more resources and encouraged all team\u00a0members \u00a0to engage in OpenStack community development\u00a0as well.<\/p>\n<p>As a result, we have\u00a0achieved much progress during Folsom release\u00a0according to the statistics from\u00a0<a href=\"https:\/\/github.com\/markmc\/openstack-gitdm\/\" target=\"_blank\">openstack-gitdm<\/a>, which is maintained by\u00a0Mark McLoughlin, an OpenStack contributor from Red Hat, \u00a0and provides the\u00a0<a href=\"https:\/\/github.com\/markmc\/openstack-gitdm\/tree\/results\/folsom\" target=\"_blank\">contribution data<\/a>\u00a0extracted from git commits, Gerrit and launchpad\u00a0for 7 core projects of OpenStack during the whole Folsom release.<\/p>\n<a href=\"http:\/\/www.openstack.org\/blog\/2011\/03\/openstack-conference-design-summit-announcing-service-provider-track\/652-revision-3\/\" rel=\"attachment wp-att-658\"><img loading=\"lazy\" class=\"aligncenter\" alt=\"\" src=\"http:\/\/freedomhui.com\/wp-content\/uploads\/2012\/09\/b.jpg\" width=\"598\" height=\"314\" \/><\/a>\n<p>In general, we have contributed 147 patches to the 7 core projects of OpenStack, ranking #4; having 74 bugfix been approved, also ranking #4; \u00a011,787 lines of code been merged, ranking #8, and we have 18 stackers who have code contributions in Folsom release, ranking #2 after Rackspace. \u00a0<a href=\"http:\/\/bitergia.com\/public\/reports\/openstack\/2012_09_folsom\/index.html\">Bitergia\u2019s report on Folsom<\/a>\u00a0using different toolset and methodology also concludes the\u00a0similar result.\u00a0\u00a0(More\u00a0statistical graphs\u00a0are shown in the photo gallery bellow)<\/p>\n<p>Moreover, we have been involved in the\u00a0collaborative developments of all the\u00a07 core projects, which means we have balanced investment in these projects, and we believe this strategy \u00a0will benefit us in better understanding the whole OpenStack frameworks and different\u00a0components. If only counted by the number of patch, we ranked #6 in Nova, #3 in Quantum, #3 in Cinder, #6 in Glance, #3 in Keystone and #11 in Horizon.<\/p>\n<p>But why, how and what\u00a0did we Sina OpenStack team contribute to OpenStack community and OpenStack projects?<\/p>\n<h1>Why and How?<\/h1>\n<p>In the mid of 2011, when the Diablo release was under heavy development, we decided to use OpenStack as our underlying system of Sina IaaS public Cloud, Sina Web Services(SWS), and another strategic product besides Sina App Engine(SAE), which is developed by my former team members and already the most popular public PaaS cloud in China. \u00a0But then OpenStack was full of bugs, not very stable and not ready for production deployment, and also lacked \u00a0some essential components, such as billing, monitoring and load balancer etc. So we invested several engineers to do bugfix, to implement new features and to design\u00a0necessary\u00a0services. In the\u00a0beginning, we forked an internal branch from a particular commit of OpenStack, and had much development on the internal branch. Later we found that it is a little difficult to merge upstream updates to our own branch, if this condition did continue, our project would be\u00a0dangerous\u00a0since it would go more and more far way from the official projects, and we would finally lose the community and the ecosystem. So we stopped the trend immediately and cut down our own fork. Instead, we joined the community,\u00a0collaborated with gurus around the world, and combined the requirement of our own public cloud projects and need of OpenStack community, so that we could be able to avoid duplicated development, and it has become a win-win game for the community and my employer. In fact, we have contributed all our bugfixes and feature improvements to upstream. We also opened sourced our own implementation of \u00a0biling(<a href=\"http:\/\/github.com\/sinacloud\/dough\" target=\"_blank\">Dough<\/a>) and monitoring(<a href=\"http:\/\/github.com\/sinacloud\/kanyun\" target=\"_blank\">Kanyun<\/a>). We benefited a great deal from \u00a0this change.<\/p>\n<p>First, most importantly, many of my team members have \u00a0grown up from a newbie to an\u00a0experienced and\u00a0qualified OpenStack contributor\u00a0through the collaborative community development in a short time, thus in turn the progress of our own projects were\u00a0speeded up\u00a0\u00a0with such quick learners.<\/p>\n<p>Second, by means of contributing our own feature implementations and open-sourcing additional projects, we got lots of valuable\u00a0feedback\u00a0from PTLs, core developers and the community, guiding us to better software design and \u00a0implementation.<\/p>\n<p>That&#8217;s why and how we are \u00a0involved in the community\u00a0development\u00a0and contributing to OpenStack.<\/p>\n<h1>What?<\/h1>\n<p>Besides code contribution\u00a0mentioned\u00a0above, what else have we done for OpenStack in the last 6 months?<\/p>\n<p>As the early OpenStack dev team who operates the first production OpenStack cloud in China, we have done lots of work to promote OpenStack in China, as well as building COSUG to be the most active and influential open source user group in China. To be specific:<\/p>\n<ul>\n<li>Among our 174 patches, some of which are tagged with high priority and critical for\u00a0stability and usability of OpenStack projects, including:\n<ul>\n<li>Fix Live Block Migration(non-shared storage), bug\u00a0#<a href=\"https:\/\/bugs.launchpad.net\/nova\/+bug\/1044237\" target=\"_blank\">1044237<\/a>\u00a0, #<a href=\"https:\/\/code.launchpad.net\/bugs\/1049533\">1049533<\/a>, #<a href=\"https:\/\/code.launchpad.net\/bugs\/977007\">977007<\/a><\/li>\n<li>Fix vm resize related bugs, bug #<a href=\"https:\/\/code.launchpad.net\/bugs\/1015731\">1015731<\/a>, #<a href=\"https:\/\/code.launchpad.net\/bugs\/1050196\">1050196<\/a><\/li>\n<li>Allow deletes to occur in any state, bp:<a href=\"https:\/\/blueprints.launchpad.net\/nova\/+spec\/delete-in-any-state\" target=\"_blank\">delete-in-any-state<\/a><\/li>\n<li>EC2 Id compatibility, bp:<a href=\"https:\/\/blueprints.launchpad.net\/nova\/+spec\/ec2-id-compatibilty\" target=\"_blank\">ec2-id-compatibilty<\/a><\/li>\n<li>etc&#8230;<\/li>\n<\/ul>\n<\/li>\n<li>Leading the COSUG to be\u00a0the second largest user group after the official OpenStack community, with around 3000 members in total according to\u00a0<a href=\"http:\/\/www.slideshare.net\/HuiCheng2\/cosug-updates\" target=\"_blank\">COSUG Updates presentation<\/a> by Hui Cheng in <a href=\"http:\/\/www.openstack.org\/blog\/2012\/09\/openstack-china-tour-2-shenzhen\/\" target=\"_blank\">Shenzhen OpenStack meet-up<\/a>. We often plan and organize regular online and off-line OpenStack meet-up in Beijing and other cities, building a bridge connection for OpenStack developers, users and companies to communicate and share their insight regarding OpenStack and cloud computing.<\/li>\n<li>As the lead manager of COSUG, our team leader Hui Cheng is responsible for\u00a0operating the OpenStack Chinese portal, <a href=\"http:\/\/www.openstack.org.cn\" target=\"_blank\">www.openstack.org.cn<\/a>, \u00a0COSUG ML, COSUG official Weibo account <a href=\"http:\/\/e.weibo.com\/openstack\" target=\"_blank\">@OpenStack<\/a>(Weibo.com\/OpenStack), and OpenStack events arrangement.<\/li>\n<li>We devoted much time and energy in co-organizing the <a href=\"http:\/\/www.openstack.org\/blog\/2012\/08\/openstack-won-unprecedented-popularity-in-asiapacific\/\" target=\"_blank\">OpenStack Asia\/Pacific Conference<\/a>(OSAC) held in\u00a0August, 2012, in Beijing, making it a successful and largest cloud event in Asia. It is the conference that make OpenStack and its community widely known and\u00a0recognized\u00a0\u00a0by most Chinese IT employees and companies.<\/li>\n<li>We co-founded China Open-Source Cloud League(COSCL) with Intel, \u00a0which officially supports their developers to share R&amp;D resources and jointly participates and contributes to Openstack official projects and the community.See <a href=\"http:\/\/www.chinatechnews.com\/2012\/08\/16\/16561-newly-formed-china-open-source-cloud-league-connects-to-openstack\" target=\"_blank\">news report<\/a>\u00a0about COSCL then.<\/li>\n<li>We initiated\u00a0<a href=\"http:\/\/StackLab.org\" target=\"_blank\">StackLab.org<\/a>\u00a0projects, for TryStack.org is not accessible from China for same reasons. \u00a0StackLab<a href=\"http:\/\/stacklab.org\/\" target=\"_blank\">\u00a0<\/a>is an fully accessible Open<strong>Stack Lab<\/strong>oratory which now mainly provides an free OpenStack sandbox for the cloud\u00a0developers, users and\u00a0anyone else who is interested in OpenStack, testing and experiencing OpenStack.We have attracted more than 200\u00a0registered\u00a0users in less than 1 week. \u00a0<a href=\"http:\/\/freedomhui.com\/2012\/10\/coscl-launches-stacklab\/\" target=\"_blank\">Here<\/a>\u00a0is\u00a0StackLab news report and its <a href=\"http:\/\/freedomhui.com\/2012\/09\/howto-launch-instance-in-stacklab\/?lang=zh-hans\" target=\"_blank\">HOWTO document<\/a>.<\/li>\n<li>We have planed the nationwide OpenStack promotion\u00a0campaign, <a href=\"http:\/\/hui.csdn.net\/MeetingInfo.aspx?mid=129\" target=\"_blank\">OpenStack China Tour<\/a>, which is a series of meet-ups in Chinese major cities, covering most active OpenStack users and developers in China, such as <a href=\"http:\/\/www.openstack.org\/blog\/2012\/09\/openstack-china-tour-beijing\/\" target=\"_blank\">Beijing<\/a>, <a href=\"http:\/\/www.openstack.org\/blog\/2012\/09\/openstack-china-tour-2-shenzhen\/\" target=\"_blank\">Shenzhen<\/a>, Chengdu, Wuhan, Xi&#8217;an and Shanghai, and\u00a0possibly\u00a0more cities will be involved in.<\/li>\n<li>We also have published articles and blogs about OpenStack projects\u00a0and market opportunities \u00a0through InfoQ, CSDN,\u00a0<em>Programmer\u00a0Magazine<\/em>\u00a0and our multi-language team blog\u00a0<a href=\"http:\/\/freedomhui.com\" target=\"_blank\">freedomhui.com<\/a>, these articles, blogs and our\u00a0slides have been being regarded as important sources and reference for Chinese OpenStack users to know and learn OpenStack.<\/li>\n<\/ul>\n<h1>What&#8217;s more?<\/h1>\n<p>At the last OpenStack Conference and Design Summit in April, we shared our work through presentation\u00a0<a href=\"http:\/\/www.slideshare.net\/HuiCheng2\/integrating-open-stack\" target=\"_blank\">Integrating OpenStack To Existing Infrastructure<\/a>, and\u00a0\u00a0<a href=\"http:\/\/www.slideshare.net\/lzyeval\/dough-openstack-billing-project\" target=\"_blank\">Dough: OpenStack Billing Project<\/a>.<\/p>\n<p>For the upcoming OpenStack Summit at San Diego, we have prepared one presentation <a href=\"http:\/\/openstacksummitfall2012.sched.org\/event\/f072cfd0e6a0c3341288a1191c52e41a\" target=\"_blank\">DevOps in OpenStack Public Cloud<\/a>, and one design proposal\u00a0<a href=\"http:\/\/summit.openstack.org\/cfp\/details\/73\" target=\"_blank\">Local Storage Volume plugin for Cinder<\/a>\u00a0for Grizzly, looking forward to seeing you guys in the grand meeting.<\/p>\n<p>In August, 2012, I was elected by the individual members of the OpenStack global community as a board member of <a href=\"http:\/\/www.openstack.org\/foundation\/board-of-directors\/\" target=\"_blank\">OpenStack Foundation<\/a>, that drives me to continue contributing, promoting, and more deeply involved in OpenStack projects and the community.<\/p>\n<h1>Summary<\/h1>\n<p>Even though we have done these work, I would consider this is not enough, we still have large space to do better and more.<\/p>\n<p>For example, even though\u00a0we have good scores if counted by changeset or bugfix,\u00a0the average changed lines is not very high compared the developers from Rackspace, RedHat and others. The rank by code influence is not high as well, and so far we do not have a core developer in any projects, and so on.<\/p>\n<p>But we believe Sina OpenStack dev team will definitely have much more progress and more contributions in Grizzly.<\/p>\n<p>In the end, we must thanks the OpenStack community, and the newly founded OpenStack Foundation,\u00a0who help us grow up, \u00a0give us guidance to how to communicate and how to delve into the core of OpenStack.(See OpenStack Foundation\u00a0<a href=\"http:\/\/freedomhui.com\/2012\/10\/openstack-foundation-global-meetup-beijing\/\" target=\"_blank\">birthday global meet-up<\/a>\u00a0in Beijing)<\/p>\n<p>More\u00a0importantly, OpenStack gives us great opportunity to success, not only in\u00a0career, but also in business.<\/p>\n<p>&nbsp;<\/p>\n<div class=\"row-fluid\"><ul class=\"thumbnails\"><li class=\"span2\"><a class=\"thumbnail\" href='https:\/\/www.openstack.org\/blog\/how-sina-contributes-to-openstack\/openstack-foundation-global-meetupbeijing\/'><img width=\"150\" height=\"150\" src=\"https:\/\/www.openstack.org\/blog\/wp-content\/uploads\/2012\/10\/OpenStack-Foundation-Global-Meetup@Beijing-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"OpenStack Foundation Global Meetup@Beijing\" loading=\"lazy\" srcset=\"https:\/\/www.openstack.org\/blog\/wp-content\/uploads\/2012\/10\/OpenStack-Foundation-Global-Meetup@Beijing-150x150.jpg 150w, https:\/\/www.openstack.org\/blog\/wp-content\/uploads\/2012\/10\/OpenStack-Foundation-Global-Meetup@Beijing-125x125.jpg 125w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><\/li><li class=\"span2\"><a class=\"thumbnail\" href='https:\/\/www.openstack.org\/blog\/how-sina-contributes-to-openstack\/img_20120815_142727\/'><img width=\"150\" height=\"150\" src=\"https:\/\/www.openstack.org\/blog\/wp-content\/uploads\/2012\/10\/IMG_20120815_142727-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"Sina Bugfix meeting\" loading=\"lazy\" srcset=\"https:\/\/www.openstack.org\/blog\/wp-content\/uploads\/2012\/10\/IMG_20120815_142727-150x150.jpg 150w, https:\/\/www.openstack.org\/blog\/wp-content\/uploads\/2012\/10\/IMG_20120815_142727-125x125.jpg 125w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><\/li><li class=\"span2\"><a class=\"thumbnail\" href='https:\/\/www.openstack.org\/blog\/how-sina-contributes-to-openstack\/7-1024x574\/'><img width=\"150\" height=\"150\" src=\"https:\/\/www.openstack.org\/blog\/wp-content\/uploads\/2012\/10\/7-1024x574-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"OpenStack Foundation Birthday cake\" loading=\"lazy\" srcset=\"https:\/\/www.openstack.org\/blog\/wp-content\/uploads\/2012\/10\/7-1024x574-150x150.jpg 150w, https:\/\/www.openstack.org\/blog\/wp-content\/uploads\/2012\/10\/7-1024x574-125x125.jpg 125w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><\/li><li class=\"span2\"><a class=\"thumbnail\" href='https:\/\/www.openstack.org\/blog\/how-sina-contributes-to-openstack\/top-bugs\/'><img width=\"150\" height=\"150\" src=\"https:\/\/www.openstack.org\/blog\/wp-content\/uploads\/2012\/10\/top-bugs-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"Top Bugfix by Employer\" loading=\"lazy\" srcset=\"https:\/\/www.openstack.org\/blog\/wp-content\/uploads\/2012\/10\/top-bugs-150x150.jpg 150w, https:\/\/www.openstack.org\/blog\/wp-content\/uploads\/2012\/10\/top-bugs-125x125.jpg 125w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><\/li><\/ul><\/div>\n<p>This article is translated to <a href=\"http:\/\/science.webhostinggeeks.com\/openstack\">Serbo-Croatian<\/a> language by Anja Skrba from <a href=\"http:\/\/webhostinggeeks.com\/\"> Webhostinggeeks.com<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>OpenStack launches a new release every 6\u00a0months. Essex was released 6 months ago, and Folsom came out on September 27. Every release \u00a0is followed by a third-party report on the individual and corporate contributions. In this article, \u00a0I&#8217;d like to talk about how we Sina OpenStack dev team, as an important corporate contributor in OpenStack&#8230;  <a href=\"https:\/\/www.openstack.org\/blog\/how-sina-contributes-to-openstack\/\" class=\"more-link\" title=\"Read How Sina Contributes to OpenStack\">Read more &raquo;<\/a><\/p>\n","protected":false},"author":37,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[7,3,21],"tags":[43,382],"_links":{"self":[{"href":"https:\/\/www.openstack.org\/blog\/wp-json\/wp\/v2\/posts\/3256"}],"collection":[{"href":"https:\/\/www.openstack.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.openstack.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.openstack.org\/blog\/wp-json\/wp\/v2\/users\/37"}],"replies":[{"embeddable":true,"href":"https:\/\/www.openstack.org\/blog\/wp-json\/wp\/v2\/comments?post=3256"}],"version-history":[{"count":54,"href":"https:\/\/www.openstack.org\/blog\/wp-json\/wp\/v2\/posts\/3256\/revisions"}],"predecessor-version":[{"id":3306,"href":"https:\/\/www.openstack.org\/blog\/wp-json\/wp\/v2\/posts\/3256\/revisions\/3306"}],"wp:attachment":[{"href":"https:\/\/www.openstack.org\/blog\/wp-json\/wp\/v2\/media?parent=3256"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.openstack.org\/blog\/wp-json\/wp\/v2\/categories?post=3256"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.openstack.org\/blog\/wp-json\/wp\/v2\/tags?post=3256"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}