What is the underlying motivation for open source?

c0210f1b97cde2735036e324b1161f27.jpeg

f60851762ea4682246adf074e281382b.png

 This paper mainly answers three questions:

  1. Why do people open source?

  2. Why do people participate in open source in various forms?

  3. What is the essential motivation behind this?

  Here’s a question first:

  Do people really do everything for profit?

  To my surprise, more than half of the people raised their hands.

  In the following, we mainly illustrate the problem through examples

f3950e6637e326eaa3b70f0514e1f300.jpeg

Let’s first take a look at how open source guru Linus thinks about this issue:

Linus believed that all human motivations can be divided into three basic types. These types are, in order, "survival", "social life" and "entertainment". 

I think he is right. It basically corresponds to Maslow's hierarchy of needs theory. Survival motivation corresponds to physiological needs and safety needs, social life motivation corresponds to the need for belonging and respect, and entertainment motivation corresponds to recognition needs. Knowledge, aesthetics, self-realization, self-transcendence, etc. These higher-level needs can all be classified into entertainment and fun.

The title of his autobiography is: " Just for Fun" . Note that all titles are carefully considered.

There are two sentences in this book that caught my attention. One is that he once said at a conference, " Linux development is a global team sport. " In another interview, he said: " Linux development is a global team sport." It's also entertainment, the kind of entertainment that money can't buy. "

429b274eb17411bf30cbc785e6dd40b1.png

This is very consistent with the latter two of his worldviews. He certainly did not open source code for survival.

The invention of Linux was, to a large extent, to satisfy one of his own ambitions:  "I want to develop a Minix that is better than Minix."  Minix was taught by Andrew S. Tanenbaum in 1987 Published as a program used to "teach students how operating systems operate and demonstrate them using simple and intuitive examples," it is a "PC version of Unix with source code, with very low hardware requirements, and There's a book explaining how it works. No one has ever done anything like this before. It's not free, but it's almost there - only $59-$69, which is the price of 14 floppy disks, which is pretty much the cost of production It’s a waste.”

At that time, Tanenbaum received more than 200 emails every day asking for program improvements. Tanenbaum was not willing to change too much because this was a teaching system after all. If the system became huge, it would not be suitable for teaching. In addition, "this way it cannot be used at the lowest level." hardware configuration, and that’s something I want to preserve for students.”

Tanenbaum is only willing to make improvements like this: "The basic criteria are that if there are a lot of people asking for it, and if the change is not troublesome, and it won't mess up the structure of the entire system, I will agree," he explained . "If there aren't so many people asking for it, or if it's too troublesome, or if it requires major surgery on the system, I won't do it."

In Linus's view, Minix's terminal emulation is not convenient, it cannot perform task control (job-control), and its memory management is too simplified. Linus wanted to write a better Minix than Minix.

At the beginning, Linus just wrote a terminal emulator on Minix that could better read the Usenet newsgroup on the school network. He modified the two processes he had written before to test the task switching ability. One process read from the keyboard. The information is sent to the modem, and another process reads the data from the modem and sends it to the screen. 

In order to realize these functions, he wrote keyboard and monitor drivers; in order to download files from the school network, he wrote a disk driver; in order to read and write files, he wrote his own program based on the Minix file system. new file system.

In 1991, from May to September, Linus spent 5 months, 10 hours a day, writing Linux 0.01.

9447c121b52a360b95d2ffa53978e922.png

On September 17, 1991, he uploaded the first official version of Linux, version 0.01, to the /pub/os/linux directory on the ftp.funet.fi server created by Ari Lemenko, an assistant professor at the University of Helsinki. He only uploaded The source program (about 10,000 lines) is included, and it also comes with a complete release note, about 1,800 words. It emphasized that "the main purpose of releasing this version is to let everyone read the program."

4769b68f6148df73e28617c2a7e55352.jpeg

Let’s take a look at what Denis, another full-time open source software author , thinks.

Among the top 1000 websites in the world, at least 52% of them use the code of  the core-js  project.

Its author Denis Pushkarev wrote a long article on February 14, 2023, describing why he developed core-js:

"In 2012, I switched my development stack to full-stack JavaScript. At the time, JavaScript was still too primitive - IE was still more popular than anything else, ES3-era browsers still accounted for the majority of the web, and the latest NodeJS Version is 0.7 - it's just getting started.

JavaScript is still not suitable for writing serious applications. Developers use CoffeeScript language translator to solve the problem of syntactic sugar that JavaScript lacks, and use Underscore to solve the problem of Javascript's lack of standard library.

However, they are not standards, and over time these languages ​​and libraries become obsolete along with the projects that use them. But the old JavaScript engines are still popular, and users are not in a hurry. There is little chance to give up on them. Even if the new ECMAScript standard has the advantages of speed and reliability, it will take many years for JavaScript engines to support this new standard.

At that time, ECMAScript Transpilers became popular and grew rapidly... but they were not modular and could introduce global namespace pollution... and too many necessary basic language features were not implemented yet. "

969e0867aa577ce6703f6b4339d35e5e.jpeg

He made it clear that he wanted to solve a common problem and make life easier for himself and all JS developers.

Without needing more, we can basically conclude that the main motivation of individuals to open source is : to solve problems. For fun, ambition. For the sharing, and the reputation that comes with it.

When you think about it, you can see that problem-solving, ambition, sharing, and reputation can all fall into the category of "fun."

Linus 说:“ It's fun being famous” 

So, for me personally, open source means fun, fun, fun, fun, fun.

And maybe he can even come up with something famous.

That would be more fun.

2000afa34f0395ecf2076b58dd905dd3.jpeg

Personally, it is mainly for "fun", so what is the company for? The company's mission is to make money.

This question has puzzled me for a long time.

Eric Raymond said in The Cathedral and the Bazaar:

"If you feel fear and disgust in the process of working, you should realize that something is wrong with the process. Joy, humor and playfulness are real assets...One of the most important results of open source success is that it tells us, "Play" It is the most economical working mode in creative activities."

Obviously, open source can bring fun and creativity, so can companies open source their own things?

Zach Holman, one of the earliest employees at GitHub, gave this advice in his book The New Kingmakers: " Prison your employees with happiness, good things, and a lovely workflow. "

“imprison your employees with happiness and nice things and cuddly work processes. ” —Zach Holman

Therefore, when an employee in the company suggests that we make this project open source, the leaders of Internet companies who have more modern thinking will seriously consider it. As long as it is not very core, what is wrong with contributing? Employees will be happier and they will appear more enlightened. Moreover, the company has benefited too much from open source, so what harm can it do to make a contribution?

The case of Lyft’s open source Envoy is more illustrative of this issue.

Early Lyft employees had an appreciation for open source and what it could do for the company. Obviously, Envoy isn't Lyft's main business, so why not put it out there and reward it?

Yes, this is why today, various companies open source their non-core products.

In my opinion, companies' motivations for open sourcing non-core products are:

Make work more fun, make your company more visible, and make your company more impactful.

063284a9ef86f1c61ef9692b584bb7f0.jpeg

On Quora, there is a question that reads:

“Why did Google open source Kubernetes instead of commercialize it?”

Why did Google release Kubernetes as open source instead of monetizing it? 

I think it's good to have two answers.

Andrew McGregor replied: " If the cluster scheduler is closed source, it will not gain any traction in the market, so Kubernetes must be open source. "

Levy McNary said: " Because open source makes it a standard. Once it becomes a standard, they can monetize cloud services. "

That's right, K8S gained a large amount of market through open source and its technical strength, defeating its competitors back then.

This is even more obvious in the fields of operating systems and databases. New products entering this field simply cannot survive if they are not open source. According to my friend Zhuang Biaowei, these fields have become so involved that they must be open source.

Tao Jianhui founded Taosi Technology, which makes time series databases. On its official website, it says this:

"Taosi Data adopts the AGPL license and has made TDengine's core (storage, computing engine and cluster) 100% open source. Taosi Data will do its best to build a developer community and maintain this open source business model. I believe that the core will not be If the code is open source, any basic software will not be able to win the market. Taosi Data hopes to quickly obtain market feedback, improve the product, improve the ecology, and attract more developers to join the project through open source." 

I believe he is telling the truth.

This is a typical example of the company's motivation to open source its core products:

Win users and the market through open source.

At the same time, try to commercialize and make profits.

Of course, if you have already won the market, you don't necessarily need to open source.

I believe Microsoft will not open source Windows within 10 years.

Oracle will not open source Oracle for 10 years.

817b357bc739febc4014bb44b042f6c2.jpeg

Let's look at contributors' motivations for contributing to open source.

In addition to open source its own products, the company also participates in open source through contributions, which is also worth thinking about.

In 2014, I joined the Alibaba middleware team and began to take over the maintenance of the group's application containers. At that time, most of the group's application containers were based on JBoss , which was old and unmaintained. A small part of them ran on Jetty and Tomcat. At that time, the middleware team maintained a private branch of Tomcat . The biggest goal was to unify The application container for all groups is Tomcat . Before that, I had never been exposed to the development and operation and maintenance of Tomcat. For me, it was a great challenge.

However, the bigger challenge came from the goal proposed by the team leader, which seemed almost impossible to achieve at the time: becoming a committer of Apache Tomcat .

You know, as one of the core projects of Apache , Tomcat has been a star project in the open source community and the Apache Foundation since the first version was released in 1999. It still ranks first in the market share in the application container field after 20 years of development. , the popularity remains unabated . After so many years of development, Tomcat has never had a committer from China. There are only 4 people in our small team, we have no experience in open source at all, and we have no idea where to start. When the team leader asked us who was willing to take on the challenge, I took it on without thinking too much.

Soon, I started fixing bugs. The first patch was to fix a problem where a Websocket test case failed . Fixing the problem involved some refactoring of the code. I still remember that I was very cautious before submitting, and discussed it with the leader many times, and finally formed a relatively satisfactory plan. After submitting it to the Tomcat community, the community quickly responded and merged the patch I submitted. My first submission was approved. I was very happy and my nervousness was relieved. I was really happy to see my name appearing in Tomcat's release note.

"After tasting the sweetness of the contribution, the team's goal has also been adjusted: the structure of the internal version of Tomcat and the open source version must be completely consistent. This makes it very easy to merge the open source Apache Tomcat; the enhancements made internally are also easier to merge into Community.

The principle is very straightforward and simple. It has a contribution side and a self-interest side. Obviously, you will benefit a lot from UpStream.

The principle is very straightforward and simple. It has a contribution side and a self-interest side. Obviously, you will benefit a lot from UpStream.

4449894e4d70fa026d952fe5858bfbc6.jpeg

I have talked about many other people’s examples before, now I will talk about my personal example.

When  Github  came out (2008), I rarely wrote code, but I still contributed to a relatively influential project in 2023.

 This project is the core-js mentioned earlier . It has 250 million NPM downloads every month, and 19 million repositories on GitHub rely on it. 

Its author,  Denis  , ran the script on the TOP 1000 websites and detected that 52% of them used it. 

Since he is engaged full-time in open source (that is, the development of core-js), his financial resources mainly rely on donations. At the beginning, he could receive US$2,500 per month, and later he could only receive US$400 per month.

That's why Denis wrote that long article on Valentine's Day in 2023 to cry out.

After I saw it, I thought it was very helpful for people to understand the current situation of open source, so I translated this long article, which is about 33,000 words.

Then, I thought that if this translation could be placed in this project, more Chinese programmers who use this project could help him.

So I submitted this translated version.

Denis would love to see that.

c449466ace193c4f0024743fc511abae.png

Of course, he is still very cautious. After I submitted it, he called on people who understand Chinese to review it. It took about a month before this PR was accepted.

(Actually, very few people have actually done a review at the translation level, they mostly just put forward some opinions on the format)

3a232b47b2c52e2c2caa4e0c94230a36.png

I think I must have helped him.

Now we can see that whether it is an individual contributing to open source or a company contributing to open source, the main motivations are:

1. Open source is a good thing, if we have the ability, help it.

2. We use it, improve it, and preferably keep up with it.

3. If we do enough, it will bring us other benefits

95d06bf69eff628da6206ea9d1f692e2.jpeg

"There were a number of reasons for this, and if I remember correctly, one of them was the desire to provide legal protections for contributors and the company, and another was the hope that we would be able to obtain cash and donations that would allow us to Get into better shape. All in all, our ultimate goal is to build an organization that can support growing participation in open source development and mass adoption." 

Another founder, Jim  , said:

"As the Internet and web technology develop and become more stable, we all realize that we need more formal laws to provide us with more protection. Another possible reason is that at that time, IBM intended to adopt Apache HTTPD as the server for its web services. The cornerstone is that IBM is a little worried about the Apache Group, which has a strong "ganghu" smell. This can be said to be a once-in-a-lifetime opportunity. Not only does the situation require it, but also there are such powerful allies to help, so it didn't take us long to facilitate it. Regarding the establishment of the foundation this time.”

Founder Drik  said:

"At this time, IBM's Domino WebServer was going downhill and its share was declining rapidly. They were studying the feasibility of open source to see if they could switch to Apache. However, with the withdrawal of NCSA, Apache did not have a clear legal owner. USL and AT & T The impact of the lawsuit on BSD has just begun to appear... All these things have come together. Of course, for me, a European, the litigation habits of the United States are too aggressive ... So, we discussed it for a while. , we made a decision quickly.”

" The Apache Software Foundation will provide organizational, legal, and financial support for the Apache open source software project. The Foundation ensures the continuity of the Apache project beyond individual volunteer participation , provides intellectual property and financial support on a sound basis, and provides Tools to limit legal risk when participating in open source projects." 

795d240723256988fe979bb65856ce85.png

This is the purpose of the foundation. What is the mentality of those who donate to projects?

As you can see from the example below, it matches perfectly.

The aforementioned Envoy creator Matt Klein recalled:

By the fall of 2017, two things were clear. 

1. Envoy has gone beyond what Lyft can offer. The project requires help with legal, public relations, marketing, event organization and more.

2. I burn out completely quickly and need to figure out a sustainable path. We finally agreed to consider transferring Envoy to the CNCF Foundation.

The most realistic point is that individuals can lose interest in a project, and companies can do the same. In the foundation, the project has an independent home. If the foundation is strong, the project will live longer and better.

The Foundation's motives are pure and altruistic:

Help open source projects, provide a variety of support.

Make open source projects sustainable.

9ef905c6d1f5a87e88520797b09f01fc.jpeg

To sum up, I think there are 4 motivations for open source:

1. Make a good thing. (problem solving, ability demonstration)

2. Help a good thing. (Kindness is the bridge between souls)

3. Give a treat. (give gift, get user)

4. Get rewards. (Win reputation, gain market)

The first three points are the most important, and the fourth point often comes naturally.

In one sentence, it is: people always want to make, use, share, and help good things.

This is very humanistic. If you want to be more sophisticated, you can say:

People desire to create, experience, share, and give back excellence and excellence.

0f6e8881f2e343dc9a8db8f53ea50d5e.jpeg

So, where did the “fun” we talked about earlier go? Looking back, have you noticed that the above four points are all very interesting? "Fun" is a superficial phenomenon, but behind "fun" are interests.

When nature created man, she made the following arrangement:

Anything that brings benefits is fun.

And all "good things" are benefits.

Author丨Wei Jianfan

Editor丨Wuriliga

Related Reading| Related Reading

KCC@Beijing|What exactly does open source bring us?

Bobo’s CommunityOverCode Asia 2023 Organizing/Reflections on Participating

Introduction to Kaiyuan Society

Kaiyuan Society was founded in 2014. It is composed of individual members who volunteer to contribute to the open source cause. It is formed based on the principles of "contribution, consensus, and co-governance". It always maintains the characteristics of vendor neutrality, public welfare, and non-profit. It is the first to use "open source governance, International integration, community development, project incubation" is an open source community federation with the mission. Kaiyuan Society actively cooperates closely with communities, enterprises and government-related units that support open source. With the vision of "based on China and contributing to the world", it aims to create a healthy and sustainable open source ecosystem and promote the Chinese open source community to become an active player in the global open source system. Participants and Contributors.

In 2017, the Open Source Society transformed to be composed entirely of individual members, operating in accordance with the governance model of top international open source foundations such as ASF. In the past nine years, it has connected tens of thousands of open source people, gathered thousands of community members and volunteers, hundreds of lecturers at home and abroad, and cooperated with hundreds of sponsors, media, and community partners.

3704548c5867cfc5444afc40f2e88786.gif

Guess you like

Origin blog.csdn.net/kaiyuanshe/article/details/132632673