blob: 02740a02ace5c866238a10212656e30f1ef67404 [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Archive: 2017 12">
<meta name="author" content="The Apache Software Foundation">
<meta name="keywords" content="python,libcloud,cloud,cloud computing,rackspace,amazon ec2,cloudfiles,openstack,cloudstack" />
<title>Archive: 2017 &raquo; December | Apache Libcloud</title>
<!-- fav icons -->
<link rel="shortcut icon" href="/images/favicon.png" />
<link rel="apple-touch-icon" href="/images/apple-touch-icon.png" />
<link rel="apple-touch-icon-precomposed" href="/images/apple-touch-icon.png" />
<link href="/blog/atom.xml" type="application/atom+xml" rel="alternate" title="Apache Libcloud Blog Feed" />
<!-- Facebook OpenGraph tags -->
<meta content="Apache Libcloud" property="og:site_name">
<meta content="Archive: 2017 &raquo; December" property="og:title">
<meta content="Archive: 2017 12" property="og:description">
<meta content="website" property="og:type">
<meta content="https://libcloud.apache.org/blog/archives/2017/12/" property="og:url">
<link href='/assets/global-1768bfa479597eed443be67c5aec2edc.css' rel='stylesheet' type='text/css' />
</head>
<body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
<nav class="navbar navbar-fixed-top navbar-inverse" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/"><img src="/images/libcloud_logo.png" class="navbar-logo" /> Apache Libcloud</a>
</div>
<div class="collapse navbar-collapse navbar-ex1-collapse">
<ul class="nav navbar-nav">
<li ><a href="/" >Home</a></li>
<li ><a href="/about.html" >About</a></li>
<li ><a href="/getting-started.html" >Quick Start</a></li>
<li ><a href="https://libcloud.readthedocs.org/en/stable/" target="_blank">Documentation</a></li>
<li ><a href="/downloads.html" >Downloads</a></li>
<li ><a href="/community.html" >Community</a></li>
<li ><a href="/blog/" >Blog</a></li>
</ul>
<div class="material-switch pull-right">
<input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
<label for="theme-switch" class="label-default"></label>
<span id="theme-toggle" class="theme-switch">Dark mode</span>
</div>
</div><!-- /.navbar-collapse -->
</div><!-- /.container -->
</nav>
<div class="container main-container">
<div class="post">
<h2 class="post-title"><a href="/blog/2017/12/30/libcloud-year-in-review-2017-released.html">Libcloud Year in Review 2017</a></h2>
<span class="post-date-author">By Tomaz Muraus on Dec 30, 2017</span>
<div class="post-content">
<p>Another year is behind us. Like most of the previous years, this year included
a lot of exciting development. This post is going to present some statistics and
highlights of the year.</p>
<h3 id="year-in-numbers-recap">Year in Numbers (recap)</h3>
<ul>
<li>800+ commits</li>
<li>191 opened PRs on Github (159 closed, 32 open at the time of this writing)</li>
<li>86 opened JIRA issues</li>
<li>75+ different contributors</li>
<li>4 releases (3 major ones)</li>
</ul>
<div class="imginline">
<p><a href="https://www.openhub.net/p/libcloud" target="_blank"><img src="/images/posts/2017-12-30-libcloud-year-in-review-2017-released/Screenshot from 2017-12-29 19-07-48.png" class="img-responsive inline" /></a></p>
<p class="img-caption">Statistics from Open Hub.</p>
</div>
<p>You can also dig into the numbers yourself on <a href="https://github.com/apache/libcloud/pulse">Github</a>, <a href="https://www.openhub.net/p/libcloud">Open Hub</a> and
<a href="https://projects.apache.org/project.html?libcloud">Apache Project Information</a>.</p>
<h2 id="releases">Releases</h2>
<p>This year we had 4 releases (2.0.0, 2.1.0, 2.2.0, 2.2.1). Out of that, three
major ones.</p>
<p>Libcloud 2.0.0 which was released in April represented a big milestone. We
finally moved away from our home grown HTTP abstraction layer built on top
of Python’s httplib library to the popular requests library.</p>
<p>Back in the day when the project started, requests library didn’t exist yet so
we needed to build a lot of the functionality which is now provided by requests
ourselves. Move to requests means that we now have a lot less code to maintain
and we can focus our efforts on the actual drivers which is core to Libcloud and
where the project provides value.</p>
<p>To give you an idea how much effort it took - the ground work for that change
started back in 2016 (<a href="https://libcloud.apache.org/blog/2016/04/06/requests-support.html">https://libcloud.apache.org/blog/2016/04/06/requests-support.html</a>,
<a href="https://github.com/apache/libcloud/pull/728">https://github.com/apache/libcloud/pull/728</a>), but it took a lot more testing
and work to get it stable enough so we were finally able to include it as part
of the stable 2.0.0 release (and before that, we also released a couple of release
candidates so users could test and verify that their Libcloud related code
still works as expected without any regressions).</p>
<p>Special thanks to <a href="https://twitter.com/anthonypjshaw?lang=en">Anthony Shaw</a> for leading this effort and not giving up (the
change itself involved touching a lot of code and updating test cases for most
of the drivers which resulted in a lot of not so pleasant work and merge
conflicts).</p>
<h2 id="community">Community</h2>
<p>The community continued to grow and we have received contributions from more
than 75 different contributors. Keep in mind that this number only includes
people who contributed a code change which has been merged into trunk. The
actual number is quite a bit higher (code who didn’t get merged, people who
reported a bug or didn’t include a code change, etc).</p>
<p>We have also added one new committer - Quentin Pradet.</p>
<h2 id="ecosystem">Ecosystem</h2>
<p>In addition to various proprietary and private code bases, Libcloud continues
to be used as an important part by various open-source <a href="https://pypi.python.org/pypi?%3Aaction=search&amp;term=libcloud&amp;submit=search">projects and
libraries</a>.</p>
<p>Most notable ones include <a href="https://saltstack.com/">SaltStack</a>, <a href="https://stackstorm.com/">StackStorm</a> and <a href="https://www.google.si/search?ei=bqVGWvyGMYOXkwWlgI7gCw&amp;q=ansible&amp;oq=ansible&amp;gs_l=psy-ab.3..0i67k1j0l9.2982.2982.0.3130.1.1.0.0.0.0.99.99.1.1.0....0...1c.1.64.psy-ab..0.1.99....0.4KRxU06xPjw">Ansible</a>.</p>
<h2 id="conclusion">Conclusion</h2>
<p>I would like to take this opportunity to thank everyone who has contributed
to the project in one form or another. No matter how small or involved, your
contribution helped project grow and push through another successful year.</p>
<p>Again, thank you, happy and successful 2018 and see you soon.</p>
</div>
<div class="row section post-meta">
<div class="col-md-12 post-tags">
<p>Tags: <a href="/blog/tags/news.html" rel="tag">news</a>, <a href="/blog/tags/year-in-review.html" rel="tag">year in review</a></p>
</div>
</div>
</div>
<p class="navigation">
</p>
<hr />
<footer>
<div class="row">
<div class="col-lg-12 text-center">
<div class="footer-links">
<p><a href="http://www.apache.org/licenses/">License</a> | <a
href="/security.html">Security</a> | <a
href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
<a href="http://www.apache.org/foundation/thanks.html">Thanks</a> |
<a href="https://www.apache.org/events/">Events</a> |
<a href="/credits.html">Credits</a> | <a href="/media.html">Media</a>
</div>
<div class="footer-text">
<p><a class="acevent" data-format="wide"></a></p>
<p class="">Copyright &copy; 2009-2023 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
<p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
<p class="">Site last updated on 2023-09-09 21:33:21 +0000</p>
</div>
</div>
</div>
</footer>
</div><!-- /.container -->
<!-- JavaScript -->
<script src='/assets/global-20157a00c0e17a775f45ed99ccdf79d7.js' type='text/javascript'></script>
<script type="text/javascript">
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before
"trackPageView" */
/* We explicitly disable cookie tracking to avoid privacy issues */
_paq.push(['disableCookies']);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="https://analytics.apache.org/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '7']);
var d=document, g=d.createElement('script'),
s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<script src="https://www.apachecon.com/event-images/snippet.js"></script>
</body>
</html>