jiacai2050 / ideas

Think more
https://github.com/jiacai2050/ideas/issues
29 stars 2 forks source link

Open Source History: Why Didn’t BSD Beat Out GNU and Linux? #53

Open jiacai2050 opened 1 year ago

jiacai2050 commented 1 year ago

https://www.channelfutures.com/open-source/open-source-history-why-didnt-bsd-beat-out-gnu-and-linux

If you use a free and open source operating system, it's almost certainly based on the Linux kernel and GNU software. But these were not the first freely redistributable platforms, nor were they the most professional or widely commercialized.

If you use a free and open source operating system, it’s almost certainly based on the Linux kernel and GNU software. But these were not the first freely redistributable platforms, nor were they the most professional or widely commercialized. The Berkeley Software Distribution, or BSD, beat GNU/Linux on all of these counts. So why has BSD been consigned to the margins of the open source ecosystem, while GNU/Linux distributions rose to fantastic prominence? Read on for some historical perspective.

Understanding BSD requires delving far back into the history of Unix, the operating system first released by AT&T Bell Labs in 1969. BSD began life as a variant of Unix that programmers at the University of California at Berkeley, initially led by Bill Joy, began developing in the late 1970s.

At first, BSD was not a clone of Unix, or even a substantially different version of it. It just included some extra utilities, which were intertwined with code owned by AT&T.

That all started to change in the early 1980s, however, when AT&T’s decision to commercialize Unix raised demand for a Unix clone that would be freely redistributable without steep licensing fees. As a result, BSD programmers worked throughout the mid-1980s to separate their code from AT&T’s, and made slow but steady progress toward releasing a complete Unix-like operating system of their own.

They finally achieved their goal in June 1991, when the Net 2 release of BSD became available. In contrast to the Net 1 release that preceded it, which comprised mostly networking code but not a full operating system, Net 2 was a complete, Unix-like system.

Because Net 2 BSD was available under a permissive license that granted access to the source code and the right to redistribute the system or derivatives of it freely, it was effectively the first “open source” operating system to see the light of day. The term “open source” did not yet exist at the time, and the BSD license did not satisfy the Free Software Foundation’s requirements for free-software licensing, but Net 2 was still a major step forward for the free-software community, since it showed that efforts to create a free, Unix-like system could succeed.

Net 2 was also an important leap because it was the only free Unix clone that actually worked. At the time, the Linux kernel did not yet exist. (Linus Torvalds released the first version of Linux several months after Net 2 appeared, and it took more than two more years before Linux became fully functional.) And the GNU operating system, which Richard Stallman and his supporters had been working on since 1984, lacked a kernel.

So, if BSD Net 2 was the first—and, at the time, by far the best—free Unix-like system, why did it not end up taking the hacker community by storm, and become the open source platform we all use today instead of GNU/Linux?

Fighting the Law

Part of the answer was the lawsuit that Unix Systems Labs (USL), which by the early 1990s had acquired rights to what had been AT&T Unix, sued Berkeley Software Design Inc. (BSDI) in early 1992, claiming that BSDI’s commercial implementation of BSD infringed USL’s copyright. In March 1993, a court dismissed most of these claims, but the legal drama continued when the University of California countersued. It was not until early 1994, by which time Novell had acquired the rights to Unix, that the legal disputes were fully resolved through settlement.

Ultimately, the legal drama did not undercut programmers’ ability to use or redistribute BSD. However, it did stunt adoption of the operating system by creating doubts about BSD’s legal future. As a result, it arguably forged an opening that allowed Linux to gain ground despite being developed primarily by an undergraduate in his Helsinki apartment, rather than a team of professional computer scientists at a major American university.

Licenses, Licenses

But the lawsuits do not fully explain BSD’s slow adoption. After all, the GNU/Linux community faced its own series of major legal battles in the early 2000s, when the SCO Group sued several major Linux distributors and corporate users. Yet the GNU/Linux community emerged relatively unscathed from those disputes, which were essentially resolved in 2007 in Linux’s favor.

Part of BSD’s lack of immense popularity with hackers—that is, the people who made GNU and Linux what they became—also had to do with the permissiveness of the Net 2 licensing terms. Unlike GNU’s GPL license, which required the source code of all derivative works of GPL-licensed software to remain publicly available, the BSD license did not force developers who borrowed or tweaked the BSD code for their own projects to share their source code publicly. That was good news for commercial companies wary of sharing their code, but bad for hackers who valued openness and transparency.

The BSD Cathedral

Last but not least, it also mattered that BSD was built by a relatively small, mostly centralized team of professional programmers based in Berkeley. That set it apart from a system like Linux, which Torvalds created in collaboration with a wide network of loosely organized volunteer developers spread across the world. Thus, while BSD functioned as what Eric S. Raymond would call a software “cathedral,” carefully and elegantly built by a small group of master coders, the Linux development scene looked more like a “bazaar,” with code released early and often by a decentralized team of programmers whose only qualification was their ability to get the job done.

The cathedral approach—which GNU, for its part, also adopted for the first 15 years of its history—did not lead to the rapid innovation that helped make Linux so popular in its early years. Thus, the fact that Torvalds, mostly by mistake, stumbled upon a very new, more effective development strategy lent momentum to Linux that BSD never saw.

BSD’s Legacy

Of course, BSD hardly disappeared entirely once Linux had become popular by the mid-1990s. On the contrary, a variety of operating systems based on Net 2, including NetBSD, OpenBSD and FreeBSD, remain alive and well today, with small but passionate communities of users.

At the same time, BSD’s permissive licensing terms made its derivatives popular with some proprietary-software companies—most notably Apple, which included some code derived from BSD in its OS X and iOS operating systems. In this sense, BSD—or some form of it—has a massive following today, although the vast majority of people who own Macs, iPhones and iPods have no idea that their hardware relies partially on “open source” code developed at Berkeley in the 1980s and early 1990s.

Maybe that’s sad. After all, Apple software is about as closed as closed can be, making it the total opposite of the type of system the BSD developers envisioned when they unveiled Net 2 in 1991. Either way, it’s an interesting outcome.

jiacai2050 commented 1 year ago

稍微总结下原因:

  1. 协议。相比 GPL,BSD 允许第三方公司私有(proprietary changes)
  2. 法律。1991 年左右 AT&T 起诉过 BSD,94 年结束
  3. 大教堂式的开发方式。不利于创新。BSD 的功能就像 Eric S. Raymond 所说的软件 "大教堂",由一小群编码大师精心打造,美轮美奂;而 Linux 的开发场景则更像一个 "集市",由一个分散的程序员团队尽早、频繁地发布代码,他们的唯一资质就是完成工作的能力。
jiacai2050 commented 1 year ago

https://bsd.slashdot.org/story/99/12/27/106207/why-is-bsd-not-as-popular-as-linux