You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by vi...@apache.org on 2016/07/25 19:29:38 UTC
mesos git commit: Added Developer Community Status blog post.
Repository: mesos
Updated Branches:
refs/heads/master 3e115accc -> 9dfcd890b
Added Developer Community Status blog post.
Review: https://reviews.apache.org/r/50313/
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/9dfcd890
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/9dfcd890
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/9dfcd890
Branch: refs/heads/master
Commit: 9dfcd890b9af0ebc1d18ef4d5ec629ea6eacb32a
Parents: 3e115ac
Author: Artem Harutyunyan <ar...@mesosphere.io>
Authored: Mon Jul 25 12:29:25 2016 -0700
Committer: Vinod Kone <vi...@gmail.com>
Committed: Mon Jul 25 12:29:25 2016 -0700
----------------------------------------------------------------------
site/source/assets/js/dev-community.js | 125 +++++++++++++++++++
.../blog/2016-07-21-dev-community-status.md | 91 ++++++++++++++
site/source/layouts/basic.erb | 3 +
site/source/layouts/dev-community.erb | 7 ++
4 files changed, 226 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/9dfcd890/site/source/assets/js/dev-community.js
----------------------------------------------------------------------
diff --git a/site/source/assets/js/dev-community.js b/site/source/assets/js/dev-community.js
new file mode 100644
index 0000000..e2686e2
--- /dev/null
+++ b/site/source/assets/js/dev-community.js
@@ -0,0 +1,125 @@
+// Load the Visualization API and the corechart package.
+google.charts.load('current', {'packages':['corechart']});
+
+// Set a callback to run when the Google Visualization API is loaded.
+google.charts.setOnLoadCallback(drawChart);
+
+// Callback that creates and populates a data table,
+// instantiates the pie chart, passes in the data and
+// draws it.
+function drawChart() {
+ var data = google.visualization.arrayToDataTable([
+ ['Release', 'Apple', 'Metamarkets', 'Twitter', 'Mesosphere', 'Huawei', 'Other', 'Microsoft', 'IBM', {'role': 'annotation'}],
+ ['0.24', 2, 0, 157, 211, 0, 65, 13, 5, ''],
+ ['0.25', 0, 0, 76, 157, 0, 44, 13, 29, ''],
+ ['0.26', 0, 0, 48, 205, 0, 67, 60, 20, ''],
+ ['0.27', 1, 0, 22, 637, 0, 65, 25, 24, ''],
+ ['0.28', 0, 0, 0, 406, 0, 34, 48, 19, ''],
+ ['1.0-rc2', 23, 2, 1, 1107, 1, 287, 123, 226, '']
+ ])
+
+ // Set chart options.
+ var options = {
+ 'title': 'Commit Breakdown by Organizations and Releases',
+ 'width': 600,
+ 'height': 400,
+ 'isStacked': true,
+ 'groupWidth': '90%',
+ 'legend': { position: 'top', maxLines: 30 }
+ };
+
+ // Instantiate and draw our chart, passing in some options.
+ var chart = new google.visualization.ColumnChart(
+ document.getElementById('commit_breakdown_by_organizations_and_releases'));
+ chart.draw(data, options);
+ drawContributorsChart();
+}
+
+function drawContributorsChart() {
+ var data = google.visualization.arrayToDataTable([
+ ['Release', 'Committers', 'Contributors', {'role': 'annotation'}],
+ ['0.24', 208, 245, ''],
+ ['0.25', 139, 180, ''],
+ ['0.26', 97, 303, ''],
+ ['0.27', 214, 560, ''],
+ ['0.28', 126, 381, ''],
+ ['1.0-rc2', 445, 1325, '']
+ ])
+
+ // Set chart options.
+ var options = {
+ 'title': 'Commit Breakdown by Contributors and Committers',
+ 'width': 600,
+ 'height': 400,
+ 'isStacked': true,
+ 'groupWidth': '90%',
+ 'legend': { position: 'top', maxLines: 30 }
+ };
+
+ // Instantiate and draw our chart, passing in some options.
+ var chart = new google.visualization.ColumnChart(
+ document.getElementById('commit_breakdown_by_contributors_and_committers'));
+ chart.draw(data, options);
+ drawUniqueContributorsChart();
+}
+
+function drawUniqueContributorsChart() {
+ var data = google.visualization.arrayToDataTable([
+ ['Release', 'Unique Contributors', 'Unique Committers', {'role': 'annotation'}],
+ ['0.24', 40, 14, ''],
+ ['0.25', 37, 13, ''],
+ ['0.26', 42, 14, ''],
+ ['0.27', 51, 13, ''],
+ ['0.28', 41, 10, ''],
+ ['1.0-rc2', 92, 17, '']
+ ]);
+
+ // Set chart options.
+ var options = {
+ 'title': 'Number of Contributors and Committers per Release',
+ 'width': 600,
+ 'height': 400,
+ 'isStacked': true,
+ 'groupWidth': '90%',
+ 'legend': { position: 'top', maxLines: 30 }
+ };
+
+ // Instantiate and draw our chart, passing in some options.
+ var chart = new google.visualization.ColumnChart(
+ document.getElementById('number_of_contributors_and_committers_per_release'));
+ chart.draw(data, options);
+ drawMonthlyChart()
+}
+
+function drawMonthlyChart() {
+ var data = google.visualization.arrayToDataTable([
+ ['Release', 'Apple', 'Metamarkets', 'Twitter', 'Mesosphere', 'Other', 'Microsoft', 'IBM', {'role': 'annotation'}],
+ ['2015-07', 0, 0, 71 , 124, 45 , 8 , 1 , ''],
+ ['2015-08', 2, 0, 107, 99 , 46 , 5 , 7 , ''],
+ ['2015-09', 0, 0, 71 , 132, 56 , 30, 28, ''],
+ ['2015-10', 0, 0, 17 , 94 , 29 , 43, 10, ''],
+ ['2015-11', 1, 0, 31 , 138, 71 , 0 , 9 , ''],
+ ['2015-12', 0, 0, 1 , 195, 61 , 17, 10, ''],
+ ['2016-01', 0, 0, 0 , 301, 71 , 22, 13, ''],
+ ['2016-02', 0, 0, 0 , 258, 46 , 12, 12, ''],
+ ['2016-03', 0, 0, 0 , 296, 78 , 42, 36, ''],
+ ['2016-04', 2, 0, 0 , 184, 75 , 37, 58, ''],
+ ['2016-05', 6, 0, 0 , 237, 50 , 50, 52, ''],
+ ['2016-06', 7, 1, 0 , 268, 118, 16, 66, '']
+ ])
+
+ // Set chart options.
+ var options = {
+ 'title': 'Commit Breakdown by Organizations and Months',
+ 'width': 600,
+ 'height': 400,
+ 'isStacked': true,
+ 'groupWidth': '90%',
+ 'legend': { position: 'top', maxLines: 30 }
+ };
+
+ // Instantiate and draw our chart, passing in some options.
+ var chart = new google.visualization.ColumnChart(
+ document.getElementById('commit_breakdown_by_organizations_and_months'));
+ chart.draw(data, options);
+}
http://git-wip-us.apache.org/repos/asf/mesos/blob/9dfcd890/site/source/blog/2016-07-21-dev-community-status.md
----------------------------------------------------------------------
diff --git a/site/source/blog/2016-07-21-dev-community-status.md b/site/source/blog/2016-07-21-dev-community-status.md
new file mode 100644
index 0000000..8a8b0e3
--- /dev/null
+++ b/site/source/blog/2016-07-21-dev-community-status.md
@@ -0,0 +1,91 @@
+---
+layout: dev-community
+title: "Mesos Developer Community Status Report"
+permalink: /blog/dev-community-status/
+published: true
+post_author:
+ display_name: Michael Park
+ gravatar: 2ab9cab3a7cf782261c583c1f48a81b0
+ twitter: mcypark
+tags: Community, MesosCon
+---
+
+The Mesos project has a large and rapidly growing community of users and contributors.
+In this post we would like to reflect on the current state
+of the community as well as speak about some benefits and challenges that the
+growth brings.
+
+One of such challenges is that the we have to make sure that everyone\u2019s interests
+are met. This isn\u2019t always easy due to occasional conflicts of interest. For example,
+developers are eager to see their patches vetted and committed to the codebase as
+rapidly as possible, whereas production users of Mesos want to make sure that the stability of the software is never
+compromised for the sake of rolling out new features. Both are essential components
+of a healthy open source infrastructure project, and we want to strike a harmonizing
+balance.
+
+Transparency is the key for being able to grow the community while also making
+sure that participants understand and agree with the development direction. In
+this post - much of which derives from a recent [MesosCon 2016 presentation] -
+we are going to present some statistics that reflect the current state of the
+community participation. The time frame for the following statistics ranges from
+the 0.24 release (July 2015) until 1.0.0-rc2 (June/July 2016).
+
+We mined the data for this post from Mesos [git log](https://git1-us-west.apache.org/repos/asf?p=mesos.git;a=tree;f=docs;h=b8c6cfa978ea6986fa7e9181f209448f4984a3ab;hb=9c8bfa9b1bfe52fa6b44aaf883333311bdde5519) and used the recently added
+[contributors.yaml](https://git1-us-west.apache.org/repos/asf?p=mesos.git;a=blob;f=docs/contributors.yaml;h=e17fed49ea358837eb33827dc3aceea9cd69c1b3;hb=9c8bfa9b1bfe52fa6b44aaf883333311bdde5519) file for mapping contributors to organizations.
+
+### Community Growth and Diversity
+<div id="number_of_contributors_and_committers_per_release"></div>
+
+The number of unique contributors has been increasing steadily over time. As of
+this writing, the number of contributors for the most recent release is greater
+than 100. This is a more than factor two improvement over the 0.24 release for
+which there were about 50 unique contributors!
+
+Historically there have always been large organizations from which the significant
+amount of contributions came from. In recent times, Mesosphere, IBM and Microsoft have
+been leading in terms of number of contributions made to the codebase. However,
+in terms of numbers of people, the individual contributors greatly outnumber those
+from Mesosphere, IBM and Microsoft.
+
+This is a great milestone for all of our individual contributors out there!
+We greatly appreciate your contribution to the project and we're looking forward
+to seeing even more commits from individual contributors in the future.
+
+<div id="commit_breakdown_by_organizations_and_releases"></div>
+
+In terms of numbers of commits from an organization, Mesosphere has the highest number after
+contributing 62.8% of the commits. It is followed by 'Other' (which is a default organization
+for all the authors who do not have an affiliation entry in the [contributors.yaml](https://git1-us-west.apache.org/repos/asf?p=mesos.git;a=blob;f=docs/contributors.yaml;h=e17fed49ea358837eb33827dc3aceea9cd69c1b3;hb=9c8bfa9b1bfe52fa6b44aaf883333311bdde5519)), IBM and Microsoft. We are actively working on involving more members from the community
+and are looking forward to seeing an even greater community participation.
+
+It is important to note that 1.0 release has been in the making for a longer time
+than previous releases, and that is why there is a significant spike in the number of
+commits for 1.0-rc2.
+Here is how the same graph looks like once we change the breakdown from releases to months.
+
+<div id="commit_breakdown_by_organizations_and_months"></div>
+
+It presents a fuller picture where the upward trend is still there, but one can also notice
+that the smooth growth trend has been there for a while.
+
+The last graph that we want to present shows the breakdown of commits per release
+between contributors and the PMC members (aka Mesos Committers). As one can see
+the number of commits authored by non-committers vastly outnumbers the ones originating
+from committers. This shows that the active committers spend a lot of time shepherding
+and landing patches from contributors.
+
+<div id="commit_breakdown_by_contributors_and_committers"></div>
+
+Going forward we are going to introduce a page on our website where we will continuously
+publish up-to-date statistics around the developer community. We are also going to double
+down on initiatives to improve the contribution experience on the Mesos project. We
+started by doing a spring cleaning on our GitHub and Reviewboard backlogs, as well as the Kanban
+board in JIRA. This will make sure that shepherds do not get drowned in stale reviews, and that
+everyone can see what the community is working on. We also have some ideas around improving the
+developer tools, collecting and analyzing metrics around reviews, as well as some other initiatives
+that should foster a greater participation. If you are interested in helping us improve the
+community participation and drive some of these initiatives please join the 'Community' working group.
+
+Stay tuned for more news on the dev list!
+
+[MesosCon 2016 presentation]: https://www.youtube.com/watch?list=PLGeM09tlguZQVL7ZsfNMffX9h1rGNVqnC&v=SnPmU61fVjQ
http://git-wip-us.apache.org/repos/asf/mesos/blob/9dfcd890/site/source/layouts/basic.erb
----------------------------------------------------------------------
diff --git a/site/source/layouts/basic.erb b/site/source/layouts/basic.erb
index 950c5a3..253de38 100755
--- a/site/source/layouts/basic.erb
+++ b/site/source/layouts/basic.erb
@@ -27,6 +27,9 @@
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
+ <% if content_for?(:javascript) %>
+ <%= yield_content :javascript %>
+ <% end %>
</head>
<body>
<!-- magical breadcrumbs -->
http://git-wip-us.apache.org/repos/asf/mesos/blob/9dfcd890/site/source/layouts/dev-community.erb
----------------------------------------------------------------------
diff --git a/site/source/layouts/dev-community.erb b/site/source/layouts/dev-community.erb
new file mode 100644
index 0000000..950d643
--- /dev/null
+++ b/site/source/layouts/dev-community.erb
@@ -0,0 +1,7 @@
+<% content_for :javascript do %>
+ <%= javascript_include_tag '//www.gstatic.com/charts/loader.js' %>
+ <%= javascript_include_tag 'dev-community.js' %>
+<% end %>
+<% wrap_layout :post do %>
+ <%= yield %>
+<% end %>