Articles how to Build Utterly Reliable Systems


The time seems to be right. Of course, this felt antagonistic and was not a friendly fork. But our feelings aren’t reliable indicators. In light of the past and current situation, the fork was necessary, healthy, and will be advantageous to both Crossroads developers and MQ users.

The “one ego per repo” guideline was already agreed upon. Martin Lucina (“Mato”) perceived this as a failure and abruptly quit MQ at that point, citing he could not justify continuing to work on it because it would never be successful. However, this rule enabled us to scale and create the widely used MQ/2.1 stable release.

The accords that were reached by consensus years ago appear to be the source of most of Mato’s rage. Go ahead and read the “hostile” trademark policy. Actually, it reads, “iMatix will use its trademarks to ensure that only work done by the MQ community can use the MQ name.” I drafted it as Martin Sustrik (“Sustrik”) requested, he approved of it, and we used it.

For me, the community is defined by the rules and agreements we have in place, starting with the LGPL that we all share under. That is who we are, and those who consciously flout our standards are politely ejected. Regarding ABI compatibility, version numbers, release policies, release procedures, contribution policies, and other issues, we have very rigorous guidelines Anyone who has spent time on zeromq-dev will be familiar with my methodical approach: identify a need, offer a solution, request review, then fix until we reach consensus. Sustrik and I developed the release policies based on our ideas on how to produce stable releases. They were what made it possible for me to create a stable version of MQ/2.1 while Sustrik created those ill-fated 3.0 and 4.0 codebases.

So, in December of last year, when Mato and Sustrik cheerfully disregarded a year-long process consensus and unilaterally sought to regain control over stable releases, I made the decision to gently remove them from their positions. Though cute and audacious, their unexpected MQ/3.1 beta announcement to zeromq-dev comes approximately two years too late. It was also really awkward given that I had recently returned from a week-long stay with them in Seoul. Perhaps they intended to start a brawl.

I got some feedback from some of the other MQ contributors on this news. They said, “That was unusual. It appeared as though they simply disregarded a year of thorough process development to handle things their way. Even worse, nothing actually worked the previous time Mato and Sustrik did things their way. There were several releases but not much code.

Of course I punished them both severely for breaking our outlined and approved policies. For instance, the “This page lists the official distributions built, released, and supported by iMatix” statement can be found on the download page. The neighbourhood wiki might offer further services. and again, with Sustrik’s permission, this dates to the 2.0 stable release.

I felt incredibly deceived by two friends I’d assisted and supported at work for so many years, and I was indignant. yet enough with the rage towards those who enjoy imposing rules on others yet detest obeying them. The emotional haze is not beneficial; it traps us and distracts us.

People will fault Crossroads for dividing the neighbourhood. I’m going to argue various points in favour of the fork.

General Principle:

First off, it gives those who are plainly creative but unable to work with higher authorities a platform. The combination of “I really value this person” and “This person is one of my worst nightmares” when I employed Mato and Sustrik twelve and seven years ago, respectively, was terrible. The community serves as that higher authority in the event of MQ.

Second, it will promote socialisation for these people, who I truly like and wish the best for. Crossroads has already implemented a number of the practical adjustments that I had long pushed for MQ but without any support. Numbering versions in the protocol. a backwards-compatible system. enhanced context API. so forth. They distrusted populism when they were employed by MQ. They now rely on it, which is advantageous.

Third, we require various places. Stabilisation differs from experimenting in several ways. If not, MQ would never have been at all. In the past, we utilised many repositories inside the same MQ organisation. After that, the experiments (3.0, 4.0) were discarded. At all costs, we safeguarded our users against this volatility. A significant enhancement is that there is now a robust firewall separating the stable code from the experiments.

Fourth, I need evidence that our MQ process (the C4 process), as a knowledge scientist or social architect, is reliable. It appears empirical and is supported by evidence, yet it cannot be proved other than by making an attempt and failing. Widespread participation, minimal friction, and incremental problem-driven micro-change, in my opinion, will result in better software over time than tiny expert groups “building software”.

Fifth, the world has more options now. It used to be RabbitMQ or MQ. It’s MQ or Crossroads right now. Choice is advantageous, and to be completely cynical, if Mato and Sustrik hadn’t forked MQ, I would have probably convinced someone to do it just for promotional purposes.

Crossroads’ biggest downside is that it puts Sustrik at risk of burnout yet again. It’s simple to overlook the cost that we, as individuals, incur when developing our art. There is no one individual at ZeroMQ today who cannot be replaced. Sustrik, however, is necessary for Crossroads. All of it will cease if he gives up. Furthermore, the pressure only makes matters worse. Let’s hope that others will support him if they intervene quickly and with a sense of welcome.

tl;dr: Knowledge can be freely available in our modern society if it is properly licenced. We purposefully went with the LGPL for MQ. The entire point of allowing hostile branches is to prevent fights involving flame wars and discussions when two parties disagree. Simply put, they fork, compete, and strive for the best reliable information. The society is not divided; rather, it is more intelligent and robust than ever. It simply wears two hats.

Ask ChatGPT
Set ChatGPT API key
Find your Secret API key in your ChatGPT User settings and paste it here to connect ChatGPT with your Tutor LMS website.