The Rust community seeks changes, and the PHP banner does not fall?

At the end of last month, two major events related to open source languages ​​occurred.

First, JetBrains led the establishment of the PHP Foundation, hoping to ensure the longevity and prosperity of the language. The second is the collective resignation of the Rust review team, on the grounds that the Rust core team has created an "oligarchy".

In recent years, Rust has been in the limelight due to the bets of various big companies, but due to its high learning costs, huge replacement projects, etc., it is actually a big hit. Coupled with the recent chaos in the community, one can't help but wonder if Rust is really as good as the "gold fathers" behind it say? On the other hand, although PHP is often criticized, its usage rate is basically stable in the top ten, and with the release of the new version and the establishment of the foundation, it is thriving.

From the perspective of community governance alone, the styles and development of the two language communities are completely different. This article is divided into two parts, respectively, to talk about the community development of Rust and PHP .

Rust first aid

In 2006, the programming language industry was at a time when various languages ​​were competing for hegemony, and many engineers entered the battlefield with the dream of "writing a programming language by themselves". Graydon Hoare, the father of Rust, is one of them.

As a professional programming language engineer, Graydon Hoare's daily work is to develop compilers and toolsets for other languages. He has participated in many compiler projects such as GCC, Clang, Swift, and Tracemonkey, but he has not participated in the design of these languages.

This situation gave him the idea to develop a language of his own. Graydon Hoare argues that the virtues of languages ​​that are well known to developers do not make them a widely used systems language, and that the memory models deployed in the language are not safe and non-concurrent. In his view, the environment has changed, and the Internet is highly concerned with security and concurrency, so the design styles in favor of C and C++ should continue to change.

He wanted to make a language that was safe and easy to use. After three years of hard work, he finally presented Rust to his boss in 2009.

There is a fungus called "Rust Fungi" in nature, which parasitizes plants and causes diseases. It is called "one of the most terrible ecological diseases of this century". Rust fungi are very tenacious and can produce 5 spore types during their life cycle, and they can also transform into each other. The five small circles on the Rust language logo correspond to the five spores, referring to the "super robustness" of the Rust language. In addition, "Rust" also combines "Trust" and "Robust" in the glyph combination, implying "trust" and "robustness".

Mozilla is very interested in Graydon Hoare's work, has high hopes for Rust, and hopes that it will provide better concurrency, security, and ease of use than C++, even as part of a long-term project to refactor the browser stack. Around 2010, Mozilla's R&D team hit a bottleneck in the development of Firefox. The underlying implementation of Firefox is mainly written in C++. Although the team has the best practical experience and rich engineering and technical talents, it is still easy to write code with such complex high performance, parallelization and memory safety requirements as the browser kernel. error. According to statistics, more than 70% of the vulnerabilities in Firefox are related to memory security. And Rust fills this gap.

Although Mozilla values ​​the technical advantages of Rust and forms a dedicated team to continue development, this does not mean that they have enough experience in the governance of open source language communities.

According to Brian Anderson, a former Rust core team member and a senior research engineer at Mozilla Research, he has worked on the Rust programming language for 6 years. When on the Rust team, Rust was always understaffed anyway, "I remember being pissed about this: How do we compete with Google and Apple with so few full-time engineers?"

There are two paths to solving the problem, one is to cultivate a diverse community of contributors, but in Brian Anderson's words, "this is a slow and uncertain process".

Another way is to rely on interns. At that time, the core person responsible for Rust development within Mozilla was Dave Herman, a programming language theorist, a macro expert, and the highest-ranking Rust believer in the company. He has applied to companies for resources and people for the Rust team, and he has also brought in a number of intern developers to the Rust team based on his reputation in academia.

Brian Anderson recalls: "A laudable fact: Rust was primarily created by students, many of whom interned at Mozilla."

(Rust community activity, source: https://www.rust-lang.org/en-US/community )

However, although the team of interns solves the problem of manpower shortage, as the internship period ends, the team changes more frequently.

Moreover, at this stage, the core members of Rust are almost all from within Mozilla, which seems to have laid the prototype of the "oligarchy" of the Rust team.

Mozilla Broken Arm

Rust has been nurtured by Mozilla for 11 years. Until August 11, 2020, Mozilla announced that it would decide to restructure the company and lay off about 250 people, including active members of the Rust project and the Rust community.

The Rust Core team then publicly stated that "the Rust project is not in danger", and then posted a detailed blog post, acknowledging that the layoffs had an impact on Rust, "Understandably, these layoffs have had an impact on the Rust project itself. A lot of uncertainty and confusion."

The Rust Core team mentioned a few important pieces of information. One is that Rust has leaders and contributors from diverse backgrounds and employers, and this diversity is an important strength. And Rust team membership is individual and employer independent, so even laid-off employees still have Rust team membership.

The second is a common misconception - all Mozilla employees who took part in Rust leadership saw this as part of their job. In fact, many Mozilla employees in Rust leadership contribute to Rust on their personal time, not as part of their jobs.

But the Rust Core team also mentioned that some people may choose to reduce their participation "We understand that not everyone can continue to contribute, and we will fully support their decision."

Why did Mozilla choose to lay off some Rust team employees? Perhaps it can be seen from the direction of Mozilla's transformation.

In an open letter titled "Change the World, Change Mozilla" , Mitchell revealed that the company had made a lot of planning ahead of 2020, including investing in new products, but the global pandemic of COVID-19 completely affected their economic situation , these plans are no longer viable, and layoffs have become more necessary.

At the same time, in Mitchell's view, Mozilla's organizational structure has not been very appropriate for a long time in the past, and in order to "create new products and create a better Internet", the organization needs to undergo a major restructuring to ensure financial health. long-term stability.

In addition to a greater focus on product, technology, and community, Mozilla is now also emphasizing "focus on economics." The open letter pointed out that the old model of "everything is free" will bring bad consequences, and we should try to explore different business opportunities for value exchange. "Promoting models that create economic value for the public good" is also  part of the Mozilla manifesto .

As an open source language provided by Mozilla for free to the outside world, Rust is difficult to actually bring considerable economic benefits to Mozilla. Mozilla's next move seems to want Rust to be self-sufficient at least through the community.

Introspection and change

Catalyzed by the layoffs at Mozilla, the Rust Core team did two things.

First, on August 18, 2020, the Rust Core team announced plans to  create a Rust Foundation with Mozilla , and said that it has actually started to research ideas about the Rust Foundation since 2019.

The emergency foundation is of course still an immediate solution: “As the project grew in size, adoption and maturity, we began to feel the pain of success. We had established legal and financial needs that our current organization lacked the capacity to meet. These needs. While we've been successful with Mozilla's help for a long time, we've reached a point where it's hard to operate without a legitimate name, address, and bank account. 'How did the Rust project get signed up?' already It becomes an issue that we cannot delay any longer.”

In the early stage of the establishment of the foundation, the Rust Core team selected members to form a project team to promote the establishment of the foundation.

Nearly a year after raising, in September 2021, the Rust Core team announced the official establishment of the Rust Foundation, with Huawei, Microsoft, Google, AWS, and Mozilla as founding members, and will launch on February 9, 2021 pm EST First board meeting at 4 o'clock. After the foundation is established, various trademarks and domain names associated with Rust, Cargo, and crates.io will be transferred to the foundation, and the foundation will be financially responsible for the fees they incur.

Although the Rust Core team also stated that they will not rely too much on a single sponsor, the establishment of the foundation has also raised concerns in the community about "big business monopoly". There has been speculation in the Rust community that AWS is trying to "take over" Rust, which is manifested in the fact that AWS, a founding member of the Rust Foundation, employs several Rust maintainers and contributors.

But in other words, Rust's application scenarios are inherently high in security requirements, and it is not easy to complete the replacement of Rust's C language build system, which makes its user base concentrated in large enterprises. With Rust and big business heroes cherishing heroes, it's only natural to get closer.

In addition, Core Team itself also made a small-scale exchange in September this year.     

The Core Team has published a blog and candid that in the early days of the Rust project, the core team was composed almost entirely of Mozilla employees working full-time on Rust.

As Rust grew, people who used to work at Mozilla left for new jobs, and new people appeared. Many newcomers are not working on Rust full-time, so collective time commitment is reduced. Currently, the Core Team is mainly composed of volunteers, and no Core Team members work full-time on the Core Team. 

To date, how Core Team itself works has remained a big mystery. Whether it is on Rust's official website or the foundation, the introduction of the Core Team has only a few lines of rights description, and it is impossible to see how members are selected, their responsibilities, and so on. Of course, the introduction of other teams is equally simple.

Even the Core Team shakeup in September was a direct appointment without a public decision: "Today announced some changes to the Core team: Ryan Levick, Jan-Erik Rediger and JT will join the Core team."

However, developers are not buying into the recent changes in the Rust community. A developer who has been in the Rust community for 6 years denounced the Core Team:

The uncooperative and brutal attitudes of Core Team members prove that they completely regard Rust as their exclusive product, or even a "pet" that they keep.
This is a completely self-interested group that will only firmly maintain its own faction and implement its own goals, with no concept of organizational interests or cooperation in mind.
Personally, I would like the Core Team members to resign and the entire Core Team to be disbanded.

Recently, however, the Linux kernel is adding support for Rust as a second language. Miguel Ojeda, lead developer of the Linux kernel and Rust on Linux, recently submitted a new patch (v2) to the Linux Kernel mailing list , further advancing the work on Rust for Linux. Ojeda revealed that, following Arm, Google and Microsoft, Red Hat has also expressed their intention to support the project. It can be seen that the strength of Rust should not be underestimated. As the "new favorite" of the language industry in recent years, we also expect Rust's community governance to get better and better.

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

Guess you like

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