This article is based on Mr. Wang Xingyu’s speech at the Gdevops 2017 Global Agile Operations Summit in Guangzhou.

(Click “Read original” to get the full PPT of Wang Xingyu’s speech)

introduction

Wang Xingyu, co-founder of Linux China Open Source Community (https://linux.cn), has been engaged in the Internet industry for 20 years, focusing on open source work for more than 10 years.

Hello everyone, I’m Wang Xingyu from Linux China Open Source Community. I used to be the host of Gdevops Summit. Today, I will be the speaker to share with you some ideas about the strategic direction of enterprise open source. This is also the first time in more than ten years that I have stepped on the stage as a speaker to give a formal speech. I hope you have learned something.

From the current situation, the Internet and software industry are gradually being infiltrated by open source, enterprises are paying more and more attention to open source, and there is even a saying that “open source has ruled the world”. So, today, let’s talk about how enterprises should treat open source and welcome the wave of open source.

Topic Introduction:

A brief history of open source

2. The correct way to open open source software

3. Five steps of enterprise open source strategy

If you want to understand open source, open source application, first need to go back to the source, understand the history of open source. If you don’t understand the background and process of open source, you will not do a good job or run into some mistakes in the application of open source, which is a common occurrence in our enterprise.

Open source is a cultural phenomenon and technology born basically at the same time as the Internet and software. After the advent of Unix and the Internet in 1970, the open source culture and phenomenon emerged almost at the same time. After that, with the rise of commercial proprietary software, open source software also got continuous development, and even gained a relatively large influence at the beginning of this century.

Graph: the Revolution of OS

For example, the 2001 documentary “The Operating System Revolution” tells the story of how proprietary software, such as Windows and the commercial version of Unix, which had become monopolies at the time, collapsed under the pressure of open source versions of Linux and other software.

History of Software

Software is the logic on hardware that emerged with the birth of computers. Hardware evolved from the original transistor to the current stage, integrated circuits, becoming larger and larger, processing faster and faster. But the essence of software remains the same, always the logic that runs on top of the hardware.

For historical reasons, the original software was free, free, and open source. This is not to say that people in the past had higher ideological sentiment than today’s people or had communist ideals, but because software was closely attached to hardware at that time, so compared with hardware, software actually belongs to a floating logic.

Take a typical example. In the early days of software, researchers at AT&T LABS in 1969 developed Unix using older computers that were not available at the time. The system was initially developed as an in-house pilot project and as a personal project, freely copied.

Figure: Early Unix mainframes and C language founders

However, after that, the AT&T because of monopoly by the American government ruling, must be divided into seven, and limited shall not be involved in the computer industry again in 10 years, this leads to a Unix developed after not for sale, and Unix was contribution to come out, become free to copy and use the system, formed the beginning of a free.

The early classical hackers did not mean the people who attacked and destroyed systems as we now understand them. They were a group of people who showed off their technology and studied deeply. For example, the founders of Unix and THE C language at that time developed a lot of software that could be freely distributed.

For example, when someone found his printer was not working well and wanted a modified version of the printer’s driver, they said they had it and gave it away without paying anything. That’s the way early culture is, it can spread freely.

The rise of proprietary software models

With the popularization of computers and the gradual rise of proprietary software, the development of software and hardware also gradually appeared the division of labor. For example, IBM at that time would specially find Microsoft to develop the operating system when producing personal computers, forming the proprietary software model, and leading the proprietary software economic model for decades with the commercial proprietary software sales model promoted by Microsoft.

Above, Microsoft’s Windows Version 3.11, the first classic personal operating system of the year with Internet connectivity. Of course, in addition to Microsoft, companies like Oracle, Informix, AND IBM were also software giants, and together they represented the peak of proprietary software development of the era.

The return of classical hacker culture

However, in the view of classical hacker groups led by RMS (Richard Matthew Stallman) and ESR, software is free and free, and they advocate that software should return to the ideal world atthe beginning of the birth of computer.

In 1984, the same year that AT&T was removed from the computer business prohibition (i.e., commercializing UNIX), RMS decided to commercialize UNIX, so it launched Free Software, which promoted the GNU Movement and then the FSF (Free Software Foundation), which was an epoch making movement.

Photo: RMS promoting free software on the side of the road

Then Linus Torvalds, while in college in 1991, developed the Linux kernel, adding the last and most important piece of the GNU operating system puzzle.

Graph: Linus Torvalds

In 1998, in addition to RMS, other people, such as ESR and Linus, held different ideas on Open Source from RMS. They believed that RMS’s pursuit of Open Source software was too idealistic, which was not conducive to promotion and acceptance, so they decided to promote the concept of Open Source software.

Photo: First Open Source Summit

This was the first open source summit in 1998. There were a lot of familiar faces, like the O’Reilly book that we all buy. There was Founder O’Reilly in it, Linus in the middle, and others, but RMS was not invited.

Open source will win by a landslide

Why will open source win? There are three main reasons:

First, open source software has exploded with the growth of the Internet.

The Internet was actually built partly on open source software, the early Internet was based on Unix, and a lot of the basic services of the Internet were based on Unix, DNS, which was originally developed at Berkeley called BIND, Apache Web server, mail server, and so on, It’s all based on open-source software.

Therefore, with the development of the Internet, open source software has naturally spread to many aspects and achieved good development.

Second, the proprietary software model has shown signs of decay after reaching its peak.

Thirdly, with the popularization of computer education and more and more people’s exploration/development of open source software model, open source software has formed a new software and Internet development model, and even become the mainstream.

Old enemies either switch sides or die, Microsoft being the most typical case. Ballmer, who took over Microsoft after Bill Gates, famously said that “open source is cancer” and became the most anti-open source force. But after the new president Satya came to power, he did a 180 degree about-face and changed Microsoft into Microsoft Love Linux.

In fact, satya didn’t single-handedly turn this around, because at the time there was a gradual shift in open-source thinking and thinking within Microsoft, satya played a decisive role at the right time.

This is what we mean when we say that open source software will overtake proprietary software in a landslide.

The correct way to open open source software

When it comes to open source software, many people think that they can just take it and use it, and there will be no problems. But there are still a lot of finesse in it, and I’ll show you the correct way to open open source software today.

What is OPEN SOURCE SOFTWARE?

The Open Source Software Advancement Alliance (OSI) has a complete definition of open source software, which must meet 10 criteria, the most important of which are the first three criteria:

1. Free Redistribution

2. Source Code

3. Derived Works

4….

For example, when you get open source software, you can give it away or do anything with it. It’s free distribution. If you get open source software that’s binary, you can easily get the original version for free, which is where the term comes from. In addition, you can make changes to the source code and distribute it further, which is called derivation, and this right is very important and is a big factor in the rapid growth of open source software today.

More details to view the OSI’s official website, https://opensource.org/osd-annotated

What is FREE SOFTWARE
)

The concept of free software emerged earlier as software with conceptually stricter, more tightly scoped definitions. This definition is very RMS style and is what we often call the four freedoms of free software:

(1) Degree of freedom 0: No matter what purpose users are in, they must be able to run the software freely according to their wishes.

(2) Degree of Freedom 1: Users can learn and modify the software freely to help them complete their own calculations. As a prerequisite, users must have access to the source code of the software.

(3) Freedom 2: Users can freely distribute copies of the software, which is similar to the distribution system of early Unix.

(4) Freedom 3: Users can freely distribute modified copies of the software.

Photo: GNU Wildebeest, the mascot of free software

Can login the GNU web site for more details see: https://www.gnu.org/philosophy/free-sw.html

Similarities and differences between open source and free software

Open source software is different from free software, but closely related. Open source software is a more common and colloquial term, while free software is part of open source software.

This is mainly to avoid the idea that RMS is too idealistic and pure. We will not judge whether RMS is right or not. From a practical point of view, open source software is more acceptable.

In some cases, we choose a more neutral term: FOSS or FLOSS, referring to them collectively as free or open source software. F stands for FREE and L stands for Liberty. Since FREE itself has two meanings in English: FREE or FREE, it is not easy to distinguish between them, so some occasions use Liberty to express it.

What does open source give you?

It goes without saying that the essence of Open Source is to make public the rights to build, derive, use and distribute. In fact, Open here refers not only to Open source software, but also to concepts widely used outside software, such as Open hardware, Open source documentation and Open organization.

One thing you can’t talk about with open source software is the open source license. It is not only a restriction to open source software, but also the basis to maintain the existence of open source software itself and the basis of open source ecological autonomy.

What will open source software give us? In short, the most common understandings are the following three:

  • Get the source code of the software and modify it to meet your needs

  • Distribute open source software under license

  • Get feedback from open source software

What doesn’t open source give you?

Open source software is not the same as public domain software. The so-called public domain software is that it is completely waived any rights, can be arbitrarily modified, such as public domain articles, documents, software.

But open source software has strict restrictions, complying with more than 80 software-definition license requirements. It is because of these limitations that the open source ecosystem thrives.

Currently these licenses fall into two broad categories:

(1) Loose license: use it freely, even if it is to change the license and closed source. Typical licenses are BSD/MIT/Apache, and Berkeley’s 2G/3G version. Generally, they will ask you to keep the original license.

(2) Left version license: this is the Chinese translation, English called CopyLeft, is RMS relative to Copyright (Copyright) English made. This type of license is relatively strict, meaning that whether you modify it or not, it must be the same as the original license, which means that it cannot be changed and must be open source.

  • GPL: The best known of these is the GPL License, which was originally called the GNU License and is now called the GNU General License. It carries the gPL-infected feature itself, that is, when users use GPL software and add it to other software to become part of the software system, the entire software system will be infected. There are many ways to infect and circumvent the GPL, but I won’t go into them here for space reasons.

  • LGPL: There is also a case where the infection does not spread outside the library. This is because we tend to embed one piece of software into another by using a class library, in which case GPL infection is obviously a big problem, leaving the class library unused.

  • AGPL: Cases like this mean that if AGPL is encountered in a cloud service, it must be open source.

How to use open source licenses

The use of open source software has certain rules, which must comply with the following:

  • Do not use software without a license

  • Does not violate the open source license

  • Keep track of the licenses for the software you use

  • Note license scenarios (GPL, LGPL, AGPL)

  • Consult an attorney before distributing and contributing open source software

  • Ensure that employees and third parties comply with the license

Benefits of open source software

Following these rules, open source software benefits us:

  • Reduce total cost of Ownership (TCO)

  • Get rid of vendor lock-in

  • Faster technology iteration

  • Better security

  • Greater ecological support

  • More employee options

.

The stages of “opening up” open source software

In general, there are several stages of “opening” open source software in terms of depth:

Use open source software

In the technical system, the company uses open source software in its business.

2. Give back to open source software

  • Feedback on the shortcomings of open source technology

  • Contribute your own open source software and build an open source ecosystem

  • Sponsorship supports the open source community and open source software

3. Integrate open source software

  • Make their own technical system, strategic direction, and open source ecological integration

  • Lead the open source software ecosystem and standards

The risks of “opening” open source software

In this process, open source software does not only bring benefits, but also some risks of “improper opening” :

1. Technical risks

  • Immature open source software can lead a company to take a technical turn (e.g. MongoDB)

  • There is no commercial service guarantee

2. Legal risk

  • Use of open source software in violation of the license, resulting in forced open source or legal damages for the company’s software (GPL profit-making)

  • Use of open source software in violation of license puts company at a legal disadvantage (REACT patent)

3. Business risk

  • Open source core code is catching up with competitors

Open source software posture

We can only truly benefit from open source software if we use it in a way that “opens it right,” rather than embracing it with risks and difficulties.

1. Recognize the value of open source in relation to the strategic direction of the enterprise

  • Intrinsic motivation and interest binding. There is no practical business interests, must be in dispensable, tit-for-nothing situation.

  • Returns are hard to measure and tied to strategy. Without the premise of top-down, practical understanding and long-term support, it will not last

2. Embrace open source in a planned way

  • Planning: schedule, scope, manpower input, capital input

  • Process: Adopt and contribute open source software

  • Personnel: Technical, legal, PUBLIC relations, committee/office

Three, enterprise open source strategy five steps

When I was running the Linux open source community, I was asked by a number of companies for ideas on how to do open source. Here, I would like to share with you the practices of open source from an enterprise perspective.

1. Plan the enterprise open source plan

First of all, determine the purpose of enterprise open source, generally speaking, mainly the following three:

  • Promote product/business development

  • Facilitating recruitment

  • Establish corporate brand/reputation

Also, use open source as a strategy, not a tactic. Because open source is a permanent thing, it is not something that can be implemented by the technology department alone. It requires the support and patience of the leadership of the company, and the support and participation of all departments.

2. Implementation personnel and departments

If you want open source to be a real priority, you need to put in place people departments, and have dedicated people or dedicated departments plan and coordinate the work.

According to the size and stage of the company, different positions and departments can be set up, and part-time or full-time staff can be selected as follows:

  • Evangelist: Mainly responsible for the external dissemination of open source information

  • Chief Open Source Officer: Responsible for coordinating open source issues

  • Open Source Initiative Office: Responsible for the operation of open source affairs

  • Open source Committee: Responsible for the coordination of open source issues at a larger level, including technical, human, legal, public relations and administration.

3. Start with internal open source

Open source is more than just code disclosure. It requires several steps and links. Prudent companies should start with internal open source practices. If the size of the company is relatively large, it is also advisable to start from internal open source, which is not only conducive to break through the division and process within the company, and then go outside after the internal start.

Typically, open source requires the following steps:

  • Code store and open, need to strip sensitive information.

  • Code consolidation and documentation

  • License combing (license dependencies on external code)

  • Review the components of large software before open source, and let special people do professional consultation and guidance

  • Release open source announcement (announcement, change log, highlight recommendation)

  • Receive feedback and establish communication channels

4. Reach out to the external open source community

When internal open source practices are successful, they can gradually move to the external open source community:

(1) Establish external community

It’s not necessary to build a standalone community, it’s better to have a presence in international communities like GitHub and GitLab, and use the tools and features they offer.

(2) Establish offline salons

  • Hold small-scale offline salons irregularly/regularly, communicate with key contributors;

  • Reward contributors, both spiritual and material (Open source does not mean free, it is a spiritual or economic model that needs to be rewarded)

  • Encourage employee participation and invite outside experts

(3) Road show open source project

Attend meetings, speak and sponsor meetings, and have evangelists or open source officers help drive open source projects to success.

5. Develop a development platform and open source ecosystem

After completing the above steps, we also need to form an open platform and open source ecosystem, such as:

  • In addition to open source code, it also further improves the open capability (OpenAPI) to promote the development of upstream and downstream ecology.

  • From a single project to a cluster of associated projects.

  • In addition to open source projects, commercial companion projects/products can also be supported

  • Finally, enterprises need to manage the life cycle of open source products. That is to say, open source users are also users. When open source projects are open, we need to keep watering and maintaining them, rather than ignore them. This is common at home and abroad, but at present, many domestic enterprises are gradually paying attention to this situation, and the overall situation of the industry is gradually improving.

The recent hot,

Distributed system design from Elasticsearch cluster and data layer architecture

DBA+ tools: SQL self-audit from the online, get rid of human audit in the moment

How to build an operation and maintenance star team by analogy with NBA team building

Association and Drill-down: A winning tool for quickly locating MySQL performance bottlenecks

Big data security Training manual for Linux operation and maintenance engineers

The latest activity

2018 Gdevops Global Agile Operations Summit (Chengdu Station)

↓↓↓ Click here to download dry goods PPT