建立在线社区：Hazelcast (Building online communities: Hazelcast)
Hazelcast is the leading open source in-memory data grid. It offers a small library that provides a clustering and data distribution platform for Java. We asked Chris Engelbert, Manager of Developer Relations at Hazelcast, to tell us a little bit about their open source community.
Tell us about a little bit about yourself and the Hazelcast community. How did it all begin?
Hazelcast is the leading Open Source In-Memory Data Grid, rendering low latency access and fast calculation easy and fast. In 2005 Hazelcast itself started out of curiousity to find out if distributed data structures and distributed computation has to be complicated. The main driving goal ever since is simplicity.
Hazelcast是领先的开源内存数据网格，可轻松快速地实现低延迟访问和快速计算。 在2005年，Hazelcast本身就开始好奇地发现分布式数据结构和分布式计算是否必须复杂。 从那时起，主要的驱动目标就是简化。
With each release the project grew and more users and contributors joined our tribe. A lot of people were happy with the common style of support given for open source projects at that time, however some users needed more. In 2009 Hazelcast was founded as a company employing an open source business model, at that time and due to the requests from the community, managing commercial support contracts to an open source project. Basically what everyone else did :-)
随着每个版本的发布，项目不断发展，更多的用户和贡献者加入了我们的部落。 当时很多人对开源项目的通用支持风格感到满意，但是有些用户需要更多支持。 Hazelcast成立于2009年，当时是一家采用开源业务模型的公司，当时，由于社区的要求，Hazelcast管理着针对开源项目的商业支持合同。 基本上其他人都做过:-)
I joined the company in late 2013, coming from the user / community base, answering questions on Google Groups and being a frequent contributor. I don’t remember if Stackoverflow already was a thing back then. First being part of the core development team, I moved on to Technical Evangelism and finally Developer Relations (as we call our program today) due to my experience in the open source world.
我于2013年底加入公司，来自用户/社区基础，回答有关Google网上论坛的问题，并经常出稿。 我不记得当时Stackoverflow是否已经是一回事。 首先，我是核心开发团队的一员，由于我在开源领域的经验，我转而从事技术福音，最后是开发人员关系(今天称为我们的计划)。
The community / project today has grown to over a 100 external committers and some of them are frequent contributors, some of them are less frequently contributing in terms of pull requests but are actively involved in design discussions, answering questions, speaking at conferences. We engage everyone to join the community forces and support people with swag and other goodies.
What common goals do you have as a community?
To make Hazelcast the most commonly used (and obviously best) In-Memory Data Grid in the market. There are a few competitors, still it is a niche sector. Anyhow our main goal as a community (not only us as a company) is to bring Hazelcast forward, to keep the simplicity approach by heart. We love to engage with people, we love to hear their ideas and we love to work with them.
使Hazelcast成为市场上最常用(显然是最好的)内存数据网格。 有一些竞争对手，但它仍然是一个小众市场。 无论如何，我们作为社区(不仅是公司本身)的主要目标是推动Hazelcast的发展，并始终坚持简单的方法。 我们喜欢与人交往，我们喜欢听取他们的想法，也喜欢与他们合作。
Last year we started the HEP (Hazelcast Enhancement Proposal) process to engage working with the community even more. Using HEPs we drive the community based development of features or extensions for Hazelcast. People can submit new ideas, they can join others HEPs and in general we try to canalize development in a way to prevent the community and Hazelcast employees working on the same idea / feature independently and in the worst case concurrently. This would result in one solution to be dropped. Apart from that the best results are those that are created together!
去年，我们启动了HEP(Hazelcast增强建议)流程，以进一步与社区合作。 使用HEP，我们可以推动基于社区的Hazelcast功能或扩展的开发。 人们可以提交新想法，也可以加入其他HEP，并且总的来说，我们试图通过规范开发来防止社区和Hazelcast员工独立(在最坏的情况下)同时从事相同的想法/功能。 这将导致放弃一种解决方案。 除此之外，最好的结果是一起创造的！
What are the main issues discussed in the Hazelcast Gitter channel?
We use multiple Gitter channels. The main channel is used for all kinds of general discussions, questions and open source support. Apart from that we use one Gitter channel for each running HEP (incubator) project to centralize discussion on this feature while it is in discussion or implementation phase. In general everyone is free to join the Gitter channel at https://gitter.im/hazelcast/hazelcast and start discussing about whatever seems interesting to her / him and related to Hazelcast :-)
我们使用多个Gitter通道。 主要渠道用于各种一般性讨论，问题和开源支持。 除此之外，我们在每个正在运行的HEP(孵化器)项目中使用一个Gitter通道，以在此功能处于讨论或实施阶段时集中讨论此功能。 总的来说，每个人都可以自由地通过以下网址加入Gitter频道： https： //gitter.im/hazelcast/hazelcast，并开始讨论对她/他来说似乎有趣的事情以及与Hazelcast相关的事情:-)
What are the most important factors that you have taken into account while creating and maintaining the community? What factors contribute to the success of your community?
I guess the key for a strong community is to listen to them. Listen to problems, listen to ideas but also to have an open ear to constructive critics. Users are users and they define how your project is used in the end. Not all of them using it the right or even expected way but those are situations you want to either solve together with them, bringing them back to the right way or where we have to consider if providing a better solution to their use case makes sense. Here again comes the community vs. company into the game. I speak for the community and I fight for every request :-)
我想建立一个强大的社区的关键是听他们的话 。 倾听问题，倾听想法，但也要对建设性的批评家敞开心ear。 用户就是用户，他们定义了最终如何使用您的项目。 并非所有人都以正确或什至预期的方式使用它，而是您想与他们一起解决的情况，将它们带回到正确的方式，或者我们必须考虑为他们的用例提供更好的解决方案是否有意义。 这里再次出现了社区与公司的竞争。 我为社区代言，并为每一个要求而奋斗：-)
On the other hand it’s not enough to just listen but you also need to show responsiveness. You have to react to keep people active, engaged and feel appreciated. Giving reputation to the right people, showing appreciation, as well as reward the most active ones are just a few things that are on the table. When done correctly people come up with talks, writing books, help develop the community together with you. That’s at least my experience.
另一方面，仅听是不够的，但您还需要表现出React能力 。 您必须做出React，以使人们保持活跃，参与并感到赞赏。 给合适的人以声望，表现出赞赏，以及奖励最活跃的人，这只是摆在桌面上的几件事。 如果做得正确，人们会提出演讲，写书，帮助与您一起发展社区。 至少这是我的经验。
What are the key challenges that you encounter while managing the community?
I guess it pretty much comes down to the same as my biggest private excitements. Managing all the different channels that developers all around the world want to use. Everybody has his favourite platform and we want the people to feel home when interacting with us.
我想这几乎可以归结为我最大的私人兴奋。 管理全球开发人员想要使用的所有不同渠道。 每个人都有自己喜欢的平台，我们希望人们在与我们互动时感到宾至如归。
Gitter has become a main factor in interaction with our community since we started using it about 2 years ago. It is very convenient for the users as you reuse your already existing github user account and it gives direct and fast access to Hazelcast internal developers — and yes they love to interact and chat! Come and try it out! Apart from that the main issue is: my day has only 24h but I would love to work with the community 48h a day!
How do you encourage participants’ commitment and contribution to the community?
We want developers to love Hazelcast, we want them to love it from the bottom of their heart. For the right reasons. Often developers are lazy (I am! You all know the joke that developers automate everything they need at least twice? ;-)) but creative, we want to give them the simplest way to solve their distributed computing / storage problem but also support their creativity with features they really need and love.
我们希望开发人员喜欢Hazelcast，我们希望他们发自内心地喜欢它。 出于正确的原因。 通常，开发人员很懒惰(我是！你们都知道开玩笑说，开发人员至少需要两次自动完成他们需要的一切？;-))，但是他们很有创造力，我们希望为他们提供解决其分布式计算/存储问题的最简单方法，同时也支持他们具有他们真正需要和喜爱的功能的创造力。
Given that we also supply them with everything a loving heart needs, t-shirts, stickers, you know how it works. We love to see people living Hazelcast everyday and we really appreciate every bit that comes from the community. We’re interested in their use cases, we ask them to share their experience with the world, may it speaking at a conference, writing a blog posts, organizing a user group. Whatever they do, we’re here to help them and clear the way whenever possible.
鉴于我们还为他们提供了爱心所需的一切，T恤，贴纸，所以您知道它是如何工作的。 我们希望看到人们每天都生活在Hazelcast中，我们非常感谢社区提供的一切。 我们对他们的用例感兴趣，我们要求他们与世界分享他们的经验，是否可以在会议上讲话，写博客文章，组织用户组。 无论他们做什么，我们都会在这里为他们提供帮助，并尽可能地扫清障碍。
Based on your experience, do you feel that the open source communities have changed and evolved over the past years? If so, how?
I guess open source communities definitely changed. Open source, a couple of years ago, was mainly considered to be okay for startups or smaller companies that had basically no money to spare in software, or for Linux. This has completely changed over the years. Open source moved into the mainstream of software development and made it into the biggest application systems. Even military organizations trust open source solutions for their openness, stability and ease of customization.
我猜开源社区肯定发生了变化。 几年前，开放源代码主要被认为对于基本上没有钱花在软件上的初创公司或较小的公司或Linux来说是可以的。 这些年来，情况已完全改变。 开源进入软件开发的主流，并成为最大的应用程序系统。 甚至军事组织也因其开放性，稳定性和易定制性而信任开源解决方案。
Along with the way open source changed, communities followed along. Today open source communities consist of highly skilled, well known and/or extremely engaged people. Some people are even considered the same way as rockstars. Didn’t imagine that while I was in school.
随着开源方式的改变，社区也随之而来。 如今，开源社区由技术高超，知名度高和/或参与度高的人们组成。 有些人甚至被认为与摇滚明星一样。 没想到我在学校的时候。
Open source and business is not a contrast anymore, it will change further. Today there is commercial support for almost every bigger open source project and there are people in need of that. Everybody is free and able to pick up an open source project and to provide support. Isn’t it a great software world we’re in? I mean look at Microsoft, yeah! :-)
开源和业务不再是一种对比，它将进一步改变。 如今，几乎每个更大的开源项目都有商业支持，并且有人需要。 每个人都是免费的，并且能够选择一个开源项目并提供支持。 我们不是一个很棒的软件世界吗？ 我的意思是看看微软，是的！ :-)
What advice would you give to someone who wants to start an online open source community from scratch?
Woah, last question, hard question.
Building a community is hard job. You need to be persistent, you need to provide time, I mean a lot of time. Begin with your project, if you find a second or third person, that’s awesome. Build something amazing and people will love what you built.
建立社区是一项艰巨的工作。 您需要持之以恒，需要提供时间，我的意思是很多时间。 从您的项目开始，如果您找到第二或第三个人，那就太好了。 打造惊人的东西，人们会喜欢您的建造。
A good first step is talking about it at conferences, creating awareness. Write about it, make people know it exists. Engage people, help them spreading the word again.
一个好的第一步是在会议上谈论它，以提高知名度。 写下它，让人们知道它的存在。 吸引人们，帮助他们再次传播信息。
I guess it all comes down to keeping people engaged and love what they do, they’ll love what you do!
P.S. You can easily start your own community Gitter channel here.