MidPoint has went a long way over a last couple of years. It started as a bunch of architecture sketches and it went through many iterations over UML diagrams and prototype code in the early development stages. It survived significant changes in platform and technology and emerged out of that as a lean and lightweight system. It went through many refinements of the implementation, experiments, testing and bugfixing cycles and releases. Now midPoint stands stable and strong. MidPoint is the largest and most sophisticated open source identity provisioning system available on the market. It is as big as its two other competitors combined.
But now we are entering a new era in midPoint development. There are interesting developments in midPoint product functionality. Although the technical details are surprising and they are undoubtedly a sweet music for an engineer’s ear I would like to leave that for later. What I want to describe now is something different: our approach, community and cooperation.
Up until now the midPoint versions were named after Titans. Starting from Prometheus we have used the naming convention for many following versions. The choice of naming was quite appropriate: midPoint development was very centralized and somehow authoritarian. This “age of the Titans” is exactly what was needed to create a product base and it served us well to create an excellent and elegant product. But this is all done now. We have already made steps to make midPoint development more open and cooperative. And more of that will follow with midPoint version 2.3.
Firstly: licensing. We have switched midPoint license to Apache License as soon as we could. We consider this license to be one the most liberal licenses available and I personally believe that this is a critical aspect of any open source project. We have also decided to strictly stick to that license and accept only contributions that come with Apache License. This ensures that midPoint is open and it will stay open. Because we do not require contributor copyright assignments. Therefore in the future we will NOT have the power to change the license ourselves even if we wanted to. MidPoint will stay open. Forever.
Secondly: source code. Half a year ago we have switched from Subversion to Git. From centralized to distributed. We wanted to do that for a long time. And when we finally did that I immediately started to wonder how we could have ever lived without Git. However this was not only a technological change but also a philosophical one. Change to distributed source code management opened a whole new dimension of possibilities. It opened up the way for new cooperations and innovative business models. Now it is possible to maintain local versions of midPoint, downstream distributions, special-purpose builds and other OEM-like models. And we plan to take full advantage of this new world and support as much of it as we can.
Thirdly: contributions. We have already received code contributions from some of our partners and more of them is on the way. We always welcome such contributions and I personally do not have the words that would be good enough to describe how much we appreciate them. However the code contributions are just the tip of the iceberg. We have received a marvelous feedback from our partners: feedback about what works in midPoint, what does not work so well and especially feedback about what the users would like to see in next midPoint versions. Actually midPoint 2.3 is the first version where almost all the features were based on requests from our partners.
And last but not least: We plan a broader cooperation with other IDM projects. We have already switched midPoint connector framework to ConnId and we plan to cooperate also with other projects. I have a very specific idea in mind … but more about that later.
Overall midPoint is entering new much more cooperative era. We call it “age of enlightenment”. We have a new company website, we plan to share more background information in blogs and mailing lists and we want to engage the midPoint community in a much greater degree. We have also change the naming scheme for midPoint releases to indicate that we really mean it. The next midPoint release is called “Newton”.