今天我們習以為常的開源軟體,其實曾經是一個非常大膽的想法。當軟體逐漸由可以互相分享的程式,變成受到公司授權限制的商品時,有人開始重新思考:電腦程式可不可以讓使用者閱讀、修改、分享,甚至一起重新設計?這個問題,最終催生了自由軟體運動、GNU、Linux,以及後來的 Open Source 世界。
Open source software feels completely normal today, but the idea was once a radical challenge to the way computer software was produced and controlled. As software became increasingly commercial and restricted by licences, a different question emerged: what if users could study the code, change it, share it and improve it together? That idea helped lead to the GNU project, Linux and eventually the modern open-source movement.
中文
在早期電腦世界,程式並不像今天一樣被清楚地分成「免費軟體」與「商業軟體」。大學、研究機構和程式設計師之間經常分享程式碼,使用者如果發現程式有問題,也可能直接修改,再把改良版本交給其他人使用。然而到了 1970 年代末及 1980 年代,電腦軟體逐漸成為一種重要的商業產品,程式碼開始被視為公司的資產,使用者取得軟體之後,未必可以看到背後的原始碼,更不能隨意修改或重新分發。對部分程式設計師而言,這不只是商業模式的改變,而是電腦文化中「合作」精神正在消失。Richard Stallman 在 MIT 人工智能實驗室工作期間,正是這種轉變的見證者。1983 年 9 月 27 日,他正式宣布 GNU Project,提出建立一套 Unix 相容、可以自由使用和修改的作業系統。GNU 這個名稱是「GNU’s Not Unix」的遞迴縮寫,意思是它在技術上採取 Unix 的許多概念,但希望建立一個不同於專有軟體世界的自由系統。 Stallman 所說的「自由」,並不單純代表不用付錢,而是使用者應該擁有執行程式、研究程式碼、修改程式,以及分享原始或修改版本的自由。這一點非常重要,因為「Free Software」中的 Free 更接近「自由」,而不是單純的「免費」。GNU 計劃因此不只是製作一套軟體,而是在重新思考使用者與電腦之間應該存在什麼關係。GNU 的目標非常龐大,因為一套完整的 Unix-like 作業系統並不只是核心,還需要編譯器、編輯器、Shell、函式庫、工具及其他大量元件。GNU 計劃在 1984 年正式開始,而 Free Software Foundation 則於 1985 年成立,協助推動自由軟體的發展。到了 1990 年左右,GNU 已經完成或取得大部分重要組件,最關鍵的缺口仍然是作業系統核心。就在這個時候,另一個重要故事出現。1991 年,芬蘭學生 Linus Torvalds 開始開發 Linux kernel,並把它逐步發展成一個可以由其他程式設計師共同參與的自由軟體核心;Linux 在 1992 年以自由軟體方式發布。後來人們把 Linux kernel 與 GNU 系統中的大量工具結合起來,形成今天我們熟悉的 GNU/Linux 系統。 這件事的重要性不只在於 Linux 本身,而在於它證明了一個大型電腦系統可以由世界各地不同的人共同開發。有人寫核心,有人修 Bug,有人建立工具,有人負責文件,有人製作發行版本,而這些工作不一定要全部集中在同一家公司內完成。這種「共同建造」的模式,逐漸成為後來開源世界的重要基礎。不過,嚴格來說,「自由軟體」與「Open Source」並不是同一天誕生。1980 年代開始的是 Free Software Movement,而「Open Source」這個名稱則在 1998 年出現。當時 Netscape 決定公開瀏覽器程式碼,引起科技界對開放式軟體開發模式的新一輪關注。1998 年 2 月 3 日,一群支持這種開發方式的人在 Palo Alto 舉行策略會議,正式推動「Open Source」這個名稱,Open Source Initiative 亦於同年成立。 「開源」的重點也不只是「把程式碼放出來」。按照 Open Source Definition,真正符合開源精神的軟體,其授權條件需要讓使用者能夠取得原始碼、重新分發軟體,並在符合授權條件的情況下進行修改及再發布。 從這裡可以看到,開源其實是一種「設計方式」,也是一種「合作方式」。傳統軟體可能由公司內部決定產品怎樣設計,再交給市場使用;開源專案則可以讓外部開發者參與研究、測試、修正和改良。這種模式後來逐漸從作業系統擴展到瀏覽器、伺服器、資料庫、程式語言、人工智能工具及大量網絡服務。今天我們使用手機、網站、雲端服務甚至人工智能系統時,背後往往都可能存在開源元件。換句話說,開源並沒有單純取代商業軟體,而是建立了另一條軟體發展道路:程式碼不一定只能藏在公司內部,也可以成為一個由全球開發者共同維護的公共技術資源。從 GNU 到 Linux,再到 1998 年正式流行的 Open Source 名稱,這段歷史真正改變的,其實不是一個軟體產品,而是人們對「誰可以設計電腦」這個問題的答案。電腦不再只是由大型企業單方面製造、使用者單方面接受的產品,它也可以是一個由世界各地的人一起修改、一起修理、一起進步的系統。今天我們看到的開源瀏覽器、作業系統、程式庫和人工智能專案,都可以看成這場改變延伸出來的結果。
English Version
The open-source software world that we know today did not appear overnight. Its roots can be traced back to an earlier computing culture in which programmers, universities and research laboratories commonly shared software and modified programs for their own needs. During the 1970s and 1980s, however, software increasingly became a commercial product. Source code was treated as valuable intellectual property, and users were often given software under restrictive licences without the freedom to study, modify or redistribute the underlying code. For some programmers, this represented more than a change in business practice. It meant that the cooperative culture of computing was disappearing. Richard Stallman, who worked at MIT’s Artificial Intelligence Laboratory, became one of the most influential figures in the response to this change. On 27 September 1983, he announced the GNU Project, proposing the development of a Unix-compatible operating system that users could freely use, study, modify and share. The name GNU stands for “GNU’s Not Unix”, a recursive acronym chosen to describe a system that would be technically compatible with Unix while taking a different approach to software freedom. An important point in this history is the meaning of the word “free”. Free Software was never simply about obtaining software without paying money. It was primarily about freedom: the freedom to run a programme, study its source code, modify it and redistribute the original or improved version. In other words, the question was not simply whether software cost nothing, but whether users had meaningful control over the technology they were using. The GNU Project therefore represented a much larger idea than the creation of another operating system. It was an attempt to rebuild a culture of cooperation around computer software. Building a complete Unix-like operating system was an enormous task. A modern operating system requires far more than a kernel. It needs compilers, editors, shells, libraries, system utilities, documentation and many other components. The GNU development effort officially began in 1984, while the Free Software Foundation was established in 1985 to support the wider free-software movement. By around 1990, GNU had developed or obtained most of the major components required for a Unix-like system, but one critical piece was still missing: the kernel. Then another story began in Finland. In 1991, Linus Torvalds started developing the Linux kernel. What began as a personal computer project soon attracted contributions from other programmers. Linux became free software in 1992, and developers began combining the Linux kernel with many of the tools already developed by the GNU Project. The resulting GNU/Linux system demonstrated something that would become fundamental to the open-source world: a complex computer system could be built through cooperation between people who did not necessarily work for the same company or even live in the same country. One programmer could work on the kernel, another could improve a compiler, another could fix a bug, someone else could write documentation, and another developer could package everything into a distribution. The development process itself became part of the technology. However, there is an important historical distinction between Free Software and the term Open Source. The free-software movement began in the 1980s, while the phrase “Open Source” was introduced later. In 1998, Netscape announced plans to release the source code of its browser, creating renewed mainstream interest in collaborative software development. On 3 February 1998, a strategy meeting was held in Palo Alto to promote the term “Open Source”, and the Open Source Initiative was formed later that year. The new terminology helped present collaborative development not only as a question of user freedom, but also as a practical and effective way of producing software. Open source, however, does not simply mean putting source code on a website. The Open Source Definition establishes requirements concerning redistribution, access to source code and the ability to modify and distribute software under appropriate licensing conditions. This distinction is important because open source is ultimately about a method of development as well as a type of software licence. Instead of every technical decision being controlled entirely inside one company, an open-source project can invite developers around the world to inspect the code, identify problems, test changes, suggest improvements and contribute new features. Over time, this model expanded far beyond operating systems. Open-source principles became important in web servers, programming languages, databases, browsers, development frameworks, cloud infrastructure and eventually artificial intelligence. Many technologies that people use every day contain open-source components, even when the final product itself is commercial. This means that open source did not simply replace proprietary software. Instead, it created another major path for technological development. Commercial companies can build valuable products around open-source technologies, while open communities can continue developing the underlying tools. The result is a technology ecosystem in which commercial development and collaborative development can exist side by side. Looking back from today’s world, the journey from GNU to Linux and then to the formal rise of the Open Source movement represents a major change in the history of computing. The most important change was not the creation of a particular programme. It was the question of who could participate in designing computer technology. A computer system no longer had to be something created entirely by a large company and simply accepted by its users. It could also become a shared technical project, improved by people across countries and organisations. From operating systems and browsers to development tools and artificial intelligence frameworks, modern computing continues to carry the influence of that idea. Open source therefore became more than a licensing model. It became a different way of imagining how technology could be designed, built, improved and shared.
總結 | 中文 | English Version
開源的誕生並不是單一一天發生的事件,而是一場由自由軟體思想、GNU 計劃、Linux 開發及 1998 年 Open Source 運動逐步形成的科技轉變。它讓電腦由「封閉產品」走向「共同建造的技術」,也改變了世界開發軟體的方法。
Open source was not born on a single day. It developed through the free-software movement, GNU, Linux and the formal Open Source movement of 1998. Together, these developments helped transform software from something controlled mainly behind closed doors into technology that could be studied, modified and improved collaboratively across the world.