When Hazelcast started as a pure open source project in 2008, there was one guys, Talip Ozturk, with an amazing vision: A simple, powerful, scalable Distributed Map.
Ever since Hazelcast went more powerful and added more features or data structures. Today almost all Java Collections and a lot of the Java Concurrency APIs are implement in a transparent distributed manner. The community helped a lot on the path with feature requests, bug reports, pull requests and discussions to make Hazelcast what it is today.
We always engaged people from the community to help forming Hazelcast after their visions and their needs. We gave our important community the voice it deserved.
Over the last year, a lot of growth happened in Hazelcast and we were busy with internal restructures, unfortunately the community support from Hazelcast side suffered by that.
We've seen our mistake and want to go back to the strong community binding and even make it strong than ever before.
Today I am thrilled to announce to take over the Open Source Advocate role and start our new project, the Hazelcast Incubator.
Open Source Advocate
As the newly appointed Hazelcast Open Source Advocate I am the voice of the community. I will represent the community, their needs, their visions and ideas inside the company. I will give our community the necessary voice while road-map planning.
I will lead the Hazelcast Incubator Process and help people expressing their ideas, encourage people to work together on community driven features and make sure that the communication between internal (employed) developers and our community is always active, constructive, productive and last but not least friendly.
For a long time now I am a 24/7 open source guy. My github profile shown my deep commitment to open source and especially to any kind of Apache licensed software. All that said, to make it short, I am happy to take that role and to make Hazelcast again to the community project it used to be!
The basic idea of the Hazelcast Enhancement Proposal ("HEP") follows what OpenJDK proved to work over the last years with their JEP (JDK Enhancement Proposal) process. From our prospective it doesn't make sense to try to come up with a new process idea if others already have found out how to solve those issues.
We were and we are always super excited about external contributions. We want to ensure to get community changes and features merged with minimum fuss for both sides but especially want to prevent declining a pull request with a lot of effort went in. It might does not meet quality standards, is not fully implemented (edge cases) or does not fit into the general Hazelcast vision - simple but powerful. Those situations are frustrating for both sides, Hazelcast and the original implementor. We don't want to decline merging it - as I said we love contributions - and the implementor wasted a lot of his free time.
To prevent those situations from happening in the future, a HEP is created, just as a JEP, and describes the main enhancement or feature. After acceptance of the proposal in co-orperation with the internal team that owns this part of the code-base, I will create a repository, a channel on Gitter and add interested people to github. All Gitter channels will be public by default and I encourage everyone that is interested on a certain HEP to join the channels and start discussing. Teamwork is the most important feature that open source offers.
Hazelcast Incubator Process
Over the next days I will add all necessary information to our public wiki-page (Hazelcast Enhancement Proposals) and create a small micro-site listing a set of (maybe) interesting ideas the community might pick up, as well as an online-form to submit your own proposals. So long if you want to let me know about your idea just follow my mail address (firstname.lastname@example.org) or hook me up on twitter (@noctarius2k).
Hazelcast Discovery SPI HEP
Last but not least I also want to announce our first public HEP. HEP 2 - Hazelcast Discovery SPI will define a publicly available SPI to discover other members and clients in public or private clouds. There is a huge need for such a SPI for a long time and we want to attack this problem with the community.
I also want to thank Paulo Pires (@el_ppires) and Ray Tsang (@saturnism) for their amazing responses to our new community approach, to jump in and help us work out what is necessary and define the SPI.
I look forward to the future of Hazelcast Incubator and what all of us together can achieve.