📜 ⬆️ ⬇️

Social Architecture: stratagems for success in open source projects

Pieter Hintjens - Belgian developer, writer. He held the position of CEO and chief software designer for iMatix , a company that produces free software , such as the ZeroMQ library (the library takes care of some of the data buffering, queue maintenance, connection establishment and restoration, and other things), OpenAMQ, Libero , GSL code generator , and the Xitami web service.



When Peter Hinchens learned that he had only a few years left to live, he decided to sum up his work and systematize his heritage. October 3, 2016 Peter Hinchens decided on euthanasia .
')
One of his death pods is the book Social Architecture, about building online communities for developing open source projects. I want to provide you with translations of some chapters.

Patterns for success


This is a chapter with a series of behavioral patterns for success in software development. They strive to include everything that separates success from glorious tragic failure. They were written in one day as “religious manic dogmas” by the leader and “everything else is crazy” - by a colleague. For me, they are a science. But treat Lazy perfectionists and other tools the way you do conventional tools — sharpen them, use them and throw them away if you get something better.


Lazy perfectionist


Never create anything that is not an exact minimal solution to a problem that we can determine and must solve.

A lazy perfectionist spends his free time watching others and identifying the tasks that need to be solved. He seeks understanding, always asking “What is the real problem?”, Then moves precisely and minimally, creating or forcing others to create a usable solution for one particular task. He uses or instructs others to use these solutions, and repeats it until the unsolved problems or time and money run out.

Benevolent tyrant


The management of a large army takes place on the same principle as several people; it is simply a matter of dividing them into smaller groups.
- Sun Tzu

The benevolent tyrant divides big problems into small ones and gives them to different groups in order to concentrate. It breaks down the tasks between these groups as an API or “out of protocol” solutions, which I will discuss in the next chapter. A benevolent tyrant builds a chain that begins with problems and ends with finding a solution. He is ruthless in how this chain works, but does not tell people what they should do or how.

Heaven and Earth


The ideal team consists of two parts: one for writing code, the other for feedback.

Heaven and Earth work together as a unit, in close proximity, but formally they communicate through problem solving. The sky receives information about problems from other users, as well as during its own use of the product, and “feeds” the Earth with it. Earth responds quickly by testing solutions. Heaven and Earth can communicate through dozens of queries daily. The sky communicates with other users, and Earth - with other developers. Heaven and Earth can be two different people or two small groups of people.

Opened door


The accuracy of knowledge comes from diversity.

An open door accepts input from almost anyone. She does not argue about quality or direction, instead allowing others to argue and be more involved. She expects that even a troll will bring variety to the group's opinion. It allows the group to form its opinion on what will make the code stable, and applies these solutions with the help of the Benevolent tyrant.

Laughing clown


Perfection precludes participation.

Laughing clown, often acts as a “successful loser” and does not claim to competence. Instead, his antics and clumsy attempts provoke others to save him from his own tragedy. One way or another, it always reveals the right ways to solve a problem. People are so busy proving him wrong that they do not notice how valuable work they are doing.

Caring general


Do not plan anything. Develop strategy and tactics, and do not set goals.

A caring general works in uncharted territory, solving problems that are hidden before they appear on the horizon. Thus, he has no plans, but he is looking for opportunities, and then uses them quickly and accurately. He develops tactics and strategy on the ground, then teaches them his soldiers so that they can move both independently of each other and together.

Social engineer


If you know your enemy and know yourself, you do not need to be afraid of even a hundred battles.
- Sun Tzu

The social engineer reads the hearts and minds of those with whom he works. He asks everyone “What makes you angry, worried, feel safe, be happy, argue your point of view or argue?” He studies whims and predispositions. With this knowledge, he can encourage those who are useful, and discourage those who are not. A social engineer never acts based on his own emotions.

Faithful gardener


He will win, whose army is inspired by a single spirit in all its ranks.
- Sun Tzu

A dedicated gardener grows a process from a small seed, step by step, with each new person coming to the project. He makes every change, having an exact reason and agreement from everyone. He never “brings the cause down”, but allows others to come to a consensus, and then ensures that this consensus is observed. Thus, each owns and controls the process and is controlled in it: they are attached to it.

Tramp


After crossing the river, you should be far away from it.
- Sun Tzu

The tramp accepts his own mortality and transience. He has no attachment to his past work. He believes that everything we do will end up in the garbage, it's just a matter of time. With accurate, minimal investment, he can quickly distance himself from the past and focus on the present and near future. First of all, he has no ego and no pride, so he cannot suffer from the actions of others.

Pirate gang


Code, like all knowledge, works best as a private, non-collective property.

A pirate gang is freely organized around problems. She accepts authority to the extent that her superiors set goals and provide resources. The pirate gang owns the process and divides it in such a way that any task can be repeated by any of the Gangs or transferred to another performer. The pirate gang moves quickly if new problems arise, and quickly abandons old solutions if they are no longer relevant. No individual or group can monopolize any part of the chain.

Flash mob


Water forms its course depending on the soil through which it flows.
- Sun Tzu

Flash mobs merge together in space and time as needed, and then these associations very quickly disappear. Physical proximity is important for high bandwidth communications. But over time, this creates technical ghettos, where the Earth is separated from the Sky. Flashmob tries to collect a lot of “frequent passengers”.

Canary watchman


Pain is usually not a good sign.

The canary-watchman measures the quality of an organization according to its own level of suffering and according to the observed level of satisfaction of those with whom it works. He brings new members to the organization so that they can show more raw “suffering of the innocent”. He can use alcohol to make others talk about their pain points. He asks others and himself: “Are you happy to participate in this process, and if not, why?” When organizing the process hurts him or others, he sees this as a problem that needs to be solved. People should enjoy their work.

Gallows


Never bother others to make mistakes.

The gallows knows that we learn, making mistakes, and he throws a rope around the neck of others to learn. He just gently tightens the rope when the time comes. A bit of tension to remind others of their precarious situation. Allowing others to learn from mistakes gives a good reason to stay and a bad reason to leave. The gallows is endlessly patient, because there is no shortcut to learn anything.

Historian


Keeping shared records can be tedious, but this is the only way to avoid collusion.

The historian forces public discussion in order to avoid “collusion” in his field of activity. The pirate gang implies full and equal communications that do not depend on momentary presence. No one reads the archives, but just the mere probability stops the majority from being abused. The historian encourages the right tool for the job: email for quick discussions, IRC for chatting, wiki for knowledge, and tracking errors for writing just in case.

Provocateur


When a person knows that he will be hanged in two weeks, it is incredibly concentrated thoughts.
- Samuel Johnson

The provocateur creates deadlines, enemies, and sometimes impracticable. Teams work better when they don't have time for bullshit. Deadlines bring people together and focus collective intelligence. An external enemy can move a passive team to action. The provocateur never takes a deadline too seriously. The product is always ready to ship. But this is a bit like a pitfall: one mistake, and we are all looking for a new job.

Mystic


When people argue or complain, just send them a quote from Sun Tzu.
- Mikko Koppanen

Mystic never argues directly. He knows that to argue with an emotional person is only to cause even more emotions. Instead, he shies away from the discussion. It is difficult to be angry with the Chinese general, especially when he has been dead for 2400 years. Mystic plays the Hangman when people insist on being right, having made a mistake.

Translation: Christina Streltsova

Who wants to help with the translation of the book "Social Architecture" - write in a personal.

Publication support - Edison , which specializes in the development of protective relay systems for power companies and applications for modeling experiments for universities .

Source: https://habr.com/ru/post/313194/


All Articles