Open Collaboration: Empowering Developers

Author: Xiao Ying; Planning: h4cd

When we talk about open source, we rarely talk about freedom, although open source goes hand in hand with freedom. Since the rise of open source in 1998, we have not been able to separate open source from freedom. Because it was conceived in the free software movement, it is free to use, copy, modify, and distribute the source code, and its spiritual core has continued to this day. Why is "freedom" so important to open source? We will use Open Source, Betrayal of Freedom or Advance by Retreat? , " Open Collaboration: Empowering Developers", and "Business Freedom: From Edge to Core Contribution" to answer this question. This article is the second.

The spirit of free sharing and the open and collaborative development model, like two ropes twisted together, have become the core pillars of the survival and development of open source projects, which have continued to this day. Open collaboration gives developers the greatest freedom to participate in open source projects. This freedom reached the peak for the first time in the development of the Linux kernel.

A geek party

The first time the Linux kernel attracted users on a large scale was after the release of version 0.12 in January 1992. Despite the limited functions at the time, as a Unix-like operating system kernel, it already had considerable advantages, especially when Unix was expensive as a proprietary software.

The special thing is that the designer Linus has opened a site dedicated to submitting code. This means that, in addition to the six members of the core team, developers can directly participate in the development of the Linux kernel, freely submit code to solve some problems, or implement some functions.

Linus often posts updates to the Linux kernel on the Minix newsgroup, where a group of die-hard fans of the Minix operating system are gathered. For a group of developers who are keen on technology, a new operating system does have a fatal attraction. The number of Linux users is rapidly increasing.

In 1992, there were nearly 1,000 users of the Linux operating system, and most of them were master hackers who were keen on technology. By 1993, nearly a hundred developers had participated in kernel modification and writing via the Internet. In 1994, with the official release of Linux 1.0, the development of the kernel also entered a virtuous circle. When version 1.2 was released in March 1995, the Linux kernel had 250,000 lines of code. The new magazine, Linux Journal, has a circulation of 10,000 copies. Linux systems can also work with Intel processors, DEC processors, and Sun's SPARC processors. Linux has taken a big step forward.

A few years later, there are thousands of developers in the Linux community, who rely on the mailing list and the specifications made by each other to communicate and develop, freely propose functional requirements, and freely maintain and upgrade. "Everything is done step-by-step, no votes, no canvassing, no recounts, and everyone knows who the activists are and who they can trust." In Just for Fun: the Story of an Accidental Revolutionary  In the book, Linus describes this collaborative approach.

Before that, not many projects would open up the development process to the public and allow users to participate. For example, in the development of various projects of the GNU Project, there are often only a small number of people who contribute code. Only when the new version is completed will the source code be released to the public. The interval between version releases may be several months. For many developers in the community, all they can do is test the software, ask questions or feature requests, and while this is important, participation is extremely limited.

In software project management, the prevailing theory at the time was Brooks' Law, that adding developers to a project would only lead to further project delays. This law was first articulated in The Mythical Man-Month: Essays on Software Engineering by Fred Brooks, father of the IBM System/360 system . Brooks' Law predicts that a project with thousands of contributors should be a flaky, unstable mess.

The Linux community has certainly shattered this theory. As more developers joined, Linux gradually became a high-quality operating system kernel. In 1996, the number of global users of the Linux kernel had grown rapidly to 3.5 million. In Linus's view, all this is due to his two shortcomings: one is laziness, and the other is because he likes to take advantage of other people's labor. Because he is lazy and likes to take advantage, he gives some functions to others to develop and enjoy it. Except that the final decision belongs to Linus, other developers are equal and can add system functions. This is also the special feature of the "Linux development model", which is not limited to the six core members, but invites all users to participate and brainstorm. ESR, author of "The Cathedral and the Bazaar" commented: Linux is the first project to consciously successfully use the entire world as its talent pool.

In the early days, most software users were developers with programming ability. Therefore, when RMS, the "father of free software", proposed to protect the freedom of software users to run, copy, distribute, learn, modify and redistribute source code, it actually meant developers freedom of. After all, ordinary users don't care whether the software vendor provides source code. And Linus uses an open and collaborative approach to further expand and concretize the freedom of developers. Isn't the best freedom for the developer role the freedom to develop?

This kind of freedom makes every developer who contributes code to become the creator of the project, instead of a bystander or outsider. It was originally a carnival for Linus alone, but it finally turned into a carnival for a group of geeks. The enthusiasm that comes with freedom drives the success of the Linux kernel. With the collaborative development of many developers, as of 2021, the code volume of the Linux kernel version 5.11 will reach 30.34 million lines.

ESR was inspired by the success of the Linux kernel, and finally wrote the famous article "The Cathedral and the Bazaar", which attracted the attention of many software companies, thus setting off a vigorous open source software movement. The key to Linux's success, the open and collaborative development model, has thus become a typical representative of the open source collaboration model.

The price of not being free

The Linux kernel is not the first project to use this model for development, but in terms of project popularity, openness, depth of collaboration, and breadth of influence, it has the greatest impact. In the late 1990s, more and more open source projects turned to this model, and the spark had become a prairie prairie.

In 1997, a group of developers, dissatisfied with the slow and closed authoring environment of GCC (GNU Compiler System), organized a project called EGCS (Experimental/Enhanced GNU Compiler System). GCC and EGCS are two parallel products - both from the same community of Internet developers, both from the same GCC source code base, and both use nearly the same Unix toolset and development environment. The only difference between these projects is that EGCS made a conscious attempt to adopt an open and collaborative development strategy, while GCC retained an old organizational model, with more closed development groups and infrequent releases.

A few months later, the EGCS version was far ahead in terms of features, not only better supporting FORTRAN and C++, but also more reliable than the latest stable version of GCC, and major Linux distributions are starting to switch to EGCS. In April 1999, the Free Software Foundation ( FSF ) disbanded the original GCC development group and formally handed over project control to the EGCS steering group.

If GCC's lessons weren't deep enough, Mozilla's open source journey may be a better account of open source's successes and failures.

Netscape was the first to open source a commercial product. In January 1998, Netscape announced that it would open source the browser suite, code-named Mozilla, and established an organization dedicated to the project, hoping to use the power of global developers to turn the tide. At that time, it was in a fierce battle with Microsoft in the browser market. Microsoft's aggressive bundling of Internet Explorer with Windows and offering it for free has pushed the once-popular Netscape Navigator browser, despite its 90 percent market share at one point. In the end, IE browser still occupies half of the country.

However, the facts have once again proved that open source projects that are not open and free cannot mobilize the interest of developers and attract extensive participation of developers. An open source project without users is like without life. Even if it can become popular, it will eventually be abandoned by the times.

The source code disclosed by Netscape is an old development version with many problems; Mozilla uses the NPL license, which allows Netscape to release subsequent versions as proprietary software, while others cannot; the source code is also mixed in A lot of code that is not free software; Mozilla does not accept code from developers outside the company and is maintained only by people inside the company. All of them have made Netscape negative. This veiled and exclusive open source approach completely deviates from the open source spirit of free sharing and open collaboration. In Linus' view, Netscape just provided a lot of source code.

At that time, ESR and other open source advocates saw these problems, but no one dared to criticize, for fear of "smearing" the newly born open source, they could only watch Netscape browser's market share continue to lose to IE. .

Netscape also realized that such "open source" was useless, and in October redoed the Mozilla project, making it truly open source. This has some exciting results. In November, Netscape's browser reversed its declining market share and began to profit from the competition with IE. But it was too late. This was a drop in the bucket for Netscape at the time, and it failed to save the decline. In 1999, Netscape was acquired by AOL.

Thankfully, open source has allowed Mozilla to keep Tinder. After several years of development, the Firefox browser (Firefox) based on Mozilla source code was born. On the Mozilla Foundation's official website, the Mozilla project is described as follows: "It aims to harness the creativity of thousands of programmers on the Internet to drive unprecedented levels of innovation in the browser market." Today, Mozilla did exactly that. It is already a successful and eye-catching open source project. Its open source software Firefox releases a new version every month as planned, and it has occupied a stable market share in the browser market.

Mozilla once took a detour, but turned its bow just in time. It is undeniable that Netscape's open source Mozilla is epoch-making. After Netscape, Sun, IBM, Informix, Oracle and other large enterprises have joined the open source movement one after another, from open interfaces to software open source step by step.

It's just normal now

For more than 20 years, the open collaboration model has been evolving, becoming more free and open, the number of collaborations has increased, and the scope of participation has expanded to the whole world. It has become the most common development model for open source projects, and even synonymous with the open source collaboration model. Along with this, more tools and platforms that can practice this model have been created, and the freedom of developers has once again reached new heights.

The current popular open source distributed version management tool Git is designed by Linus to allow more people to develop simultaneously.

Between 1991 and 2002, the vast majority of Linux kernel maintenance was spent on the tedious business of submitting patches and keeping archives, an inevitable problem brought about by the rapid rise of participants. By 2002, the entire project team began to enable BitKeeper to manage and maintain code, which is a proprietary distributed version control system.

Three years later, the partnership between the commercial company that developed BitKeeper and the Linux kernel open source community ended, and they took back the Linux kernel community's right to use BitKeeper for free. This forced the Linux open source community, especially Linus, to develop its own versioning system based on lessons learned from using BitKeeper. After more than ten years of efforts by many developers, Git has become the mainstream configuration of the open collaboration model.

Github and Gitlab are open source collaboration platforms based on git. Their emergence provides a more efficient and convenient way for developers to participate in open source. They can not only contribute code to other people's projects, but even quickly build their own projects - even if the community does not Accept the submitted code, and you can also fork your own branch with one click.

Every year, a large number of developers devote themselves to open source through collaborative platforms such as Github and Gitlab. The "GitHub 2020 Digital Insight Report" shows that in 2020, Github's active code warehouses were 54.21 million, a year-on-year increase of 36%; the number of active developers was 14.54 million, a year-on-year increase of 22%. It is precisely because of the active participation of developers that basic software such as Linux, MySQL, Hadoop, Kubernetes, TensorFlow, React, and VS Code burst into vitality.

In the collaborative network woven by Github, freedom is at your fingertips, and the concept of freedom of open collaboration has been deeply rooted in the hearts of the people. In 2018, when Microsoft announced the acquisition of GitHub for $7.5 billion, many developers expressed doubts about GitHub's future independence, so they migrated open source projects hosted on Github to Gitlab.

In just one week, Gitlab has had more than 10,000 project moves in. Although this number is a drop in the ocean for the tens of millions of active code repositories on Github.

But its meaning is very inspiring. Yes, even one of the largest open source collaboration platforms in the world, even one that has always given it a great deal of freedom, once became Microsoft for some developers—a company that made a fortune on proprietary software. part of the giant corporations, became unreliable. On the one hand, although Github can host open source projects for free and has made many contributions to the open source cause, Github's website and software are not open source, and it is reasonable to take any actions that are not conducive to open source in the future; on the other hand, Microsoft used to Opposition to open source is so profound that it makes people forget that today Microsoft is already the largest corporate contributor on GitHub.

"Defection" Github makes people realize that the freedom of open collaboration is the banner that developers have been pursuing, and the right that developers have never given up.

From ideological enlightenment, to method practice, to tool innovation, which one is not for the freedom of developers? Freedom is not innate, but developed by batch after batch of open source pioneers. When proprietary software cut off the developer's freedom, RMS stood up; when Brooks' Law framed the developer's freedom, Linus stood up. Whether intentional or unintentional, active or passive, as long as someone is chasing the light of freedom, there will be a path to freedom.


References:

 1、Just for Fun:the Story of an Accidental Revolutionary

2、Open Sources: Voices from the Open Source Revolution

Link: https://www.oreilly.com/openbook/opensources/book/appa.html

3、The Cathedral and the Bazaar

Link: http://www.catb.org/~esr/writings/cathedral-bazaar/

4. "The Collaboration Model of Three Generations of Open Source Communities"

Link: https://bbs.huaweicloud.com/blogs/104282

5、Linux

Link: http://foldoc.org/linux

6. A Brief History of Git

Link: https://git-scm.com/book/en/v2/%E8%B5%B7%E6%AD%A5-Git-%E7%AE%80%E5%8F%B2

7. " Research on the Structure Evolution and Behavior Characteristics of Linux Kernel Developer Groups "

8. Netscape browser announced open source

Link: https://web.archive.org/web/20021001071727/wp.netscape.com/newsref/pr/newsrelease558.html

9、30 Years Of Linux

Link: https://www.tag1consulting.com/blog/interview-linus-torvalds-linux-and-git

{{o.name}}
{{m.name}}

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324115781&siteId=291194637