📜 ⬆️ ⬇️

My condolences: now you support the popular open source project

From the author: The article contains my slides and notes from a speech of June 25, 2016 at the WordCamp Europe conference. I said about the same thing.



Today I want to talk about the emotional fluctuations associated with supporting an open source project. More specifically, to describe the emotional ups and downs that you will experience from publishing your code online. But first, take a look at the big picture.
')

Software eats the world


A famous phrase from Mark Andreessen, the creator of the Netscape browser: “software eats the world.” I want to clarify that the world is eating open source software, and I have a couple of arguments in favor of my version.

First, the results of the 2015 survey “the future of open source software”: “78% of respondents said they partially work with the support of the GRO, and 66% said they create software for clients on the basis of the GRO. These figures have almost doubled since 2010. ”

Secondly, Nadia Eghbal, conducting interesting research on the economics of GRO, calculated that "The share of GRO in the Instagram purchased for $ 1 billion was at least $ 143 million ."

It seems to me that there are several reasons for this Cambrian explosion of GRO:

  1. HIF is free of charge, which means that a company can spend money on people (innovations) and not on soft licenses.
  2. There is a critical mass of reliable components that accelerates the entry of your product into the market.
  3. OPO produces the best software.
  4. And that is especially close to me, OPO allows companies to solve common problems together without complicated negotiations and agreements.


So, OPO is very cool. But what is it?

Open source is more than just a license.


Now this concept means two things.

It is clear that there is an official definition - a license that allows some liberties to the software user. But usually now this concept is used to refer to the joint and public creation of software. The license is generally of no interest to anyone - 80% of projects with Github have no license.

Why, then, is there so many people involved in GCO? For the reasons described, associated with the business. I also find it pleasant to work with people from different cultures and with different experiences. In addition, OPO gives me a sense of permanence in a career that regular work does not.

In the creation of the GRO can participate in different ways.

Support is more than a contribution.


Contribution to the project - a form of temporary participation. You make one or a couple of contributions to the common cause, that's all. And support implies long-term management of how the project develops. In this inequality, support means more contribution, both in terms of remuneration, and in terms of effort, commitment, and emotional involvement.

Let's walk along the emotional path of the person supporting the project.

I am ashamed of my code


Suppose you want to support a project, but you are ashamed of your code too much to put it online. Little secret: everyone is ashamed of their code. This is not a reason not to lay out the project and not to start its support.

Publication of the project is an excellent opportunity to learn.

Publication of the project - an excellent opportunity to learn. Placing code online leads to a discussion of this code, which otherwise simply would not take place. When people use your project, they give you new tasks to solve, which helps you grow as a developer.

It is important to note that the road to mastery is long and difficult, as well as endless.

It pisses me off that I can't finish the releases


A newly minted person supporting his project can be very upset by the fact that he cannot finish releases. And I felt the same way. I planned the release, adding a bunch of tasks, and worked until I solved them all. But one, or several, or a dozen tasks delayed my October release until December, January or February.

Calendar releases; celebrate everything


I release new versions of my WP-CLI project on the calendar, noting all the steps taken in the process. From a philosophical point of view, it seems to me that users should not care about the specific version that they use - the main thing is that it is the freshest and the best. In general, I try not to assign task stages until I complete them only if they are terribly needed to be solved.

To make the release process smoother, I use a constant format for release notes, so I don’t have to think every time how to write them. For the same purpose, I created a list of what should be done before the release, and programmed as many of these items as possible.

It is important to note that the end of the release takes several hours, which you will have to cut out from your schedule.

I am overwhelmed by the number of open tasks


If you support an open source project, the number of open tasks may seem excessive to you. With the growing popularity of the project, users will constantly open tasks, and this will be faster than you can close them. At some point, you will see a list of 400 tasks and lose hope.

Sort, prioritize, make decisions


Supporting WP-CLI, I always try to sort, prioritize and make decisions. I periodically read the task list, clarify tasks to the necessary detail, assign labels, etc. I set priorities by assigning a small number of tasks at the same time. And finally, I make decisions - if the task is open for two years and does not move, it means that it is not important.

It is important to note that you never reach zero open tasks, so you need to get used to the normal number of open tasks in your project.

It pisses me off when discussions of tasks turn into arguments


As the leading OPO project, you can be frustrated by discussions of problems turning into wars. The text has a very small emotional density. Our personal conversation with you is sufficiently filled with emotions, since we use body language, facial expressions, and intonation to maintain speech. Textual communication, not filled with emotional content, can easily lead to misunderstanding ...

Be sympathetic, firm and respect others


With the support of my project, I try to be sympathetic, firm and respect others.

First, I try to understand where the user comes from, try to feel in his skin, and understand what they want to say, even if they don’t say it directly.

Secondly, I respect the fact that they use their precious time to try to improve my project. If they report an error, it could take a couple of days of their time.

Finally, I am firm because I am the head of the project, which sets the tone for communication and reduces ambiguity.

It is important to note that you still have to grow a thick skin.

I am too passionate about my work on the OPO


With the support of the PBO project, you may feel that you are too much involved in it. People ask you to do something, and you agree. Too many "yes" - and here it is, stress.

Achieve happiness and set boundaries


Supporting my project, I discovered that I need to achieve my own happiness and establish the boundaries of involvement. Most of all I liked the balance at 2-5 hours per week, which was within the normal schedule of my work. This supports the passion for the project, and does not allow it to turn into work. Since I set priorities in the tasks, I gradually move forward in solving those tasks that I consider important.

It is important to note that the level of involvement has to be constantly adjusted.

I'm lonely


Supporting the project, you can feel lonely. Now I am struggling with this and trying to imagine the long-term future of my project, which does not depend entirely on me. It’s great, of course, to be a benevolent dictator, but the bus factor worries me a lot.

Concentrate on the guide and invite other participants.


In my project, I try to focus on leadership, and show others the ability to make decisions on a project. Specifically, I:



It is important to note that you will not find a sufficient number of participants, and you will have to put up with what you have - and this can be difficult.

And why am I leading this?

WP-CLI eats WordPress


WP-CLI is becoming more and more involved in WordPress development. It seems that at every WordCamp event there is a session dedicated to WP-CLI. The command line allows you to do more with less effort. You can also help WP-CLI eat WordPress by adding and maintaining new commands.

You can also become a person supporting WP-CLI!


WordPress has plugins, and WP-CLI will have command packs in the future. And for his sake, I'm trying to solve the problems that WordPress has with plugins:

In WordPress, plugins have a secondary status, in contrast to the code included in the core. I want WP-CLI packages to have the same status as the commands.
Too often WordPress plugins have one author. I would like each of the WP-CLI packages to have two or three active authors.

We all feel that the role of GRO in the global economy is gradually increasing. In my speech, I hoped to convey that, despite the emotional shakes, support for GROs can be very useful for your career.

And when you decide to take this step, I wait until I can tell you: my condolences, now you support the popular open source project.


Speech by the author (in English).

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


All Articles