1. Trang chủ
  2. » Tất cả

Introduction to Free Software (1)

292 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 292
Dung lượng 2,09 MB

Cấu trúc

  • Introduction to Free Software

    • Credits

    • Dedication

    • Introduction

    • Contents

  • XX07_M2101_02708-1.pdf

    • Free Software

      • Index

      • 1. Introduction

        • 1.1. The concept of software freedom

          • 1.1.1. Definition

          • 1.1.2. Related terms

        • 1.2. Motivations

        • 1.3. The consequences of the freedom of software

          • 1.3.1. For the end user

          • 1.3.2. For the public administration

          • 1.3.3. For the developer

          • 1.3.4. For the integrator

          • 1.3.5. For service and maintenance providers

        • 1.4. Summary

      • 2. A bit of history

        • 2.1. Free software before free software

          • 2.1.1. And in the beginning it was free

          • 2.1.2. The 70s and early 80s

          • 2.1.3. The early development of Unix

        • 2.2. The beginning: BSD, GNU

          • 2.2.1. Richard Stallman, GNU, FSF: the free software movement is born

          • 2.2.2. Berkeley's CSRG

          • 2.2.3. The beginnings of the Internet

          • 2.2.4. Other projects

        • 2.3. All systems go

          • 2.3.1. The search for a kernel

          • 2.3.2. The *BSD family

          • 2.3.3. GNU/Linux comes onstage

        • 2.4. A time of maturation

          • 2.4.1. End of the nineties

          • 2.4.2. Decade of 2000

        • 2.5. The future: an obstacle course?

        • 2.6. Summary

      • 3. Legal aspects

        • 3.1. Brief introduction to intellectual property

          • 3.1.1. Copyright

          • 3.1.2. Trade secret

          • 3.1.3. Patents and utility models

          • 3.1.4. Registered trademarks and logos

        • 3.2. Free software licences

          • 3.2.1. Types of licences

          • 3.2.2. Permissive licences

          • 3.2.3. Strong licences

          • 3.2.4. Distribution under several licences

          • 3.2.5. Program documentation

        • 3.3. Summary

      • 4. Developers and their motivations

        • 4.1. Introduction

        • 4.2. Who are developers?

        • 4.3. What do developers do?

        • 4.4. Geographical distribution

        • 4.5. Dedication

        • 4.6. Motivations

        • 4.7. Leadership

        • 4.8. Summary and conclusions

      • 5. Economy

        • 5.1. Funding free software projects

          • 5.1.1. Public funding

          • 5.1.2. Private not-for-profit funding

          • 5.1.3. Financing by someone requiring improvements

          • 5.1.4. Funding with related benefits

          • 5.1.5. Financing as an internal investment

          • 5.1.6. Other financing modes

        • 5.2. Business models based on free software

          • 5.2.1. Better knowledge

          • 5.2.2. Better knowledge with limitations

          • 5.2.3. Source of a free product

          • 5.2.4. Product source with limitations

          • 5.2.5. Special licences

          • 5.2.6. Brand sale

        • 5.3. Other business model classifications

          • 5.3.1. Hecker classification

        • 5.4. Impact on monopoly situations

          • 5.4.1. Elements that favour dominant products

          • 5.4.2. The world of proprietary software

          • 5.4.3. The situation with free software

          • 5.4.4. Strategies for becoming a monopoly with free software

      • 6. Free software and public administrations

        • 6.1. Impact on the public administrations

          • 6.1.1. Advantages and positive implications

          • 6.1.2. Difficulties of adoption and other problems

        • 6.2. Actions of the public administrations in the world of free software

          • 6.2.1. How to satisfy the needs of the public administrations?

          • 6.2.2. Promotion of the information society

          • 6.2.3. Research promotion

        • 6.3. Examples of legislative initiatives

          • 6.3.1. Draft laws in France

          • 6.3.2. Draft law of Brazil

          • 6.3.3. Draft laws in Peru

          • 6.3.4. Draft laws in Spain

      • 7. Free software engineering

        • 7.1. Introduction

        • 7.2. The cathedral and the bazaar

        • 7.3. Leadership and decision-making in the bazaar

        • 7.4. Free software processes

        • 7.5. Criticism of ''The cathedral and the bazaar''

        • 7.6. Quantitative studies

        • 7.7. Future work

        • 7.8. Summary

      • 8. Development environments and technologies

        • 8.1. Description of environments, tools and systems

        • 8.2. Languages and associated tools

        • 8.3. Integrated development environments

        • 8.4. Basic collaboration mechanisms

        • 8.5. Source management

          • 8.5.1. CVS

          • 8.5.2. Other source management systems

        • 8.6. Documentation

          • 8.6.1. DocBook

          • 8.6.2. Wikis

        • 8.7. Bug management and other issues

        • 8.8. Support for other architectures

        • 8.9. Development support sites

          • 8.9.1. SourceForge

          • 8.9.2. SourceForge heirs

          • 8.9.3. Other sites and programs

      • 9. Case studies

        • 9.1. Linux

          • 9.1.1. A history of Linux

          • 9.1.2. Linux's way of working

          • 9.1.3. Linux's current status

        • 9.2. FreeBSD

          • 9.2.1. History of FreeBSD

          • 9.2.2. Development in FreeBSD

          • 9.2.3. Decision-making process in FreeBSD

          • 9.2.4. Companies working around FreeBSD

          • 9.2.5. Current status of FreeBSD

          • 9.2.6. X-ray of FreeBSD

          • 9.2.7. Academic studies on FreeBDS

        • 9.3. KDE

          • 9.3.1. History of KDE

          • 9.3.2. Development of KDE

          • 9.3.3. The KDE League

          • 9.3.4. Current status of KDE

          • 9.3.5. X-ray of KDE

        • 9.4. GNOME

          • 9.4.1. History of GNOME

          • 9.4.2. The GNOME Foundation

          • 9.4.3. The industry working around GNOME

          • 9.4.4. GNOME's current status

          • 9.4.5. X-ray of GNOME

          • 9.4.6. Academic studies on GNOME

        • 9.5. Apache

          • 9.5.1. History of Apache

          • 9.5.2. Development of Apache

          • 9.5.3. X-ray of Apache

        • 9.6. Mozilla

          • 9.6.1. History of Mozilla

          • 9.6.2. X-ray of Mozilla

        • 9.7. OpenOffice.org

          • 9.7.1. History of OpenOffice.org

          • 9.7.2. Organisation of OpenOffice.org

          • 9.7.3. X-ray of OpenOffice.org

        • 9.8. Red Hat Linux

          • 9.8.1. History of Red Hat

          • 9.8.2. Current status of Red Hat.

          • 9.8.3. X-ray of Red Hat

        • 9.9. Debian GNU/Linux

          • 9.9.1. X-ray of Debian

          • 9.9.2. Comparison with other operating systems

        • 9.10. Eclipse

          • 9.10.1. History of Eclipse

          • 9.10.2. Current state of Eclipse

          • 9.10.3. X-ray of Eclipse

      • 10. Other free resources

        • 10.1. The most important free resources

          • 10.1.1. Scientific articles

          • 10.1.2. Laws and standards.

          • 10.1.3. Encyclopaedias

          • 10.1.4. Courses

          • 10.1.5. Collections and databases

          • 10.1.6. Hardware

          • 10.1.7. Literature and art

        • 10.2. Licenses for other free resources

          • 10.2.1. GNU free documentation license

          • 10.2.2. Creative Commons licenses

      • Bibliography

  • XX07_M2101_02708-2.pdf

    • Appendixes

      • Index

      • 1. Appendix A. Learning guide

      • 2. Appendix B. Key dates in the history of free software

      • 3. Appendix C. GNU Public License

      • 4. Appendix D. Texts of some legislative proposals and related documents

      • 5. Appendix E. Creative Commons' Attribution-ShareAlike

      • 6. Appendix F. GNU Free Documentation License

      • 7. Glossary

      • 8. Style guide

Nội dung

Introduction

The concept of software freedom

Since the early seventies, software commercialization has led to restrictions on usage, such as prohibiting lending to third parties Despite software's inherent flexibility, manufacturers often reserve the exclusive right to modify or correct their programs without user consent In contrast, free software provides users with freedoms that proprietary software does not, allowing for greater adaptability and user control.

In this article, we define "private software" as any program that does not meet the criteria for free software, as outlined in our subsequent definition.

Free software, as defined by Richard Stallman and the Free Software Foundation, encompasses four essential freedoms granted to users: the freedom to run the program for any purpose, to study and modify the program, to redistribute copies, and to distribute modified versions of the software.

1) Freedom to run the program in any place, for any purpose and for ever.

2) Freedom to study how it works and to adapt it to our needs This requires access to the source code.

3) Freedom to redistribute copies, so that we can help our friends and neigh- bours.

4) Freedom to improve the program and to release improvements to the pu- blic This also requires the source code.

The mechanism ensuring these freedoms, as outlined in current legislation, involves distribution under a specific license, which we will explore in Chapter 3 This license allows the author to grant the recipient permission to exercise these freedoms while also imposing any desired restrictions, such as requiring attribution to the original authors upon redistribution For a license to be deemed free, however, these restrictions must not undermine the aforementioned freedoms.

The ambiguity of the term free

The term "free software" in English can be confusing, as it may imply both "freedom" and "free of charge" or "gratis." To clarify this distinction, many English speakers adopt the Spanish term "libre software" to emphasize the concept of freedom, contrasting it with "gratis software."

Free software is distinct from gratis software, as its definitions do not imply that it is available at no cost The third freedom of free software allows anyone to redistribute it without requiring financial compensation or permission, making it challenging to generate substantial profits solely from its distribution Consequently, individuals who acquire free software can redistribute it at a lower price or even for free.

While anyone can sell software at any price, leading to a redistribution price that approaches the marginal cost of copying, various business models thrive on software sales Consumers are often willing to pay for additional benefits, such as perceived guarantees, enhanced selection, updates, and organization of software packages.

Several texts outline the conditions necessary for a license to be classified as a free software license Notably, the Free Software Foundation's definition, the Debian guidelines for determining program freedom, and the Open Source Initiative's definition of open source are historically significant in this context.

/www.opensource.org/docs/definition_plain.html) [215], which is very simi- lar to the preceding ones.

The Debian directives stipulate that authors can require distributed source codes to remain unmodified, necessitating that any changes be provided as separate patches Additionally, binary programs must be generated under different names than the originals, and licenses should not affect other programs distributed in the same manner.

The term open source software ('open source programs'), promoted by Eric

Raymond and the Open Source Initiative align closely with the concept of free software, yet they differ philosophically by prioritizing the availability of source code over the notion of freedom Despite these distinctions, the practical definitions are similar, as noted in Debian's open source definition This terminology, viewed as politically neutral, highlights the technical advantages of open source, including enhanced development processes, improved business models, and increased security However, it has faced significant criticism from Richard Stallman and the Free Software Foundation, who advocate for the superiority of free software principles.

[27], it has resonated far better with the commercial literature and with the company strategies that one way or another support the model.

Other terms associated in some way to free software are as follows:

Freeware These are free programs They are normally only distribu- ted in binary format, and can be obtained free of charge.

Permission to redistribute content can sometimes be granted, but in other cases, it must be sourced from the official site designated for that purpose This content is often utilized to promote additional programs or services that typically offer more comprehensive functionality.

Examples of this type of programs include Skype, Google Earth or Microsoft Messenger.

Shareware is a distribution method for software that allows users to copy programs freely, but it typically requires payment for continuous use While it may offer limited functionality or display annoying messages, the payment request often appeals to the user's ethics Additionally, legal terms in the license can be enforced against those who violate them.

Charityware, also known as careware, is a type of shareware that encourages users to make payments directed towards a charitable organization Instead of enforcing mandatory payments, many charityware programs request voluntary contributions An example of this is the free software Vim, which invites users to support its development through optional donations.

The author relinquishes all rights to the work, placing it in the public domain, which must be clearly stated; otherwise, the program will be considered private, limiting its use If the source code is also made available, the program is deemed free to use.

Copyleft This is a particular case of free software where the licence requires any distributed modifications to also be free.

Proprietary,�locked-in,�non-free These are terms used to refer to software that is neither free nor open source.

Motivations

As we have seen, there are two large families of motivations for free software development, which likewise give rise to the two names by which it is known:

• The ethical motivation, championed by the Free Software Foundation

The Free Software Foundation (FSF) embraces the hacker culture and advocates for the use of the term "free" in software, emphasizing that software is knowledge that should be freely shared They argue that concealing software is antisocial and assert that the ability to modify programs represents a fundamental form of freedom of expression For a deeper understanding, consider exploring the concepts outlined in "Free Software, Free Society."

Selected essays of Richard M Stallman) [211] or the analysis of Pekka Hima- nen (The hacker ethic and the spirit of the information age Random House,

• The pragmatic motivation, championed by the Open Source Initiative

The term "open source" is endorsed by the Open Source Initiative, which highlights the technical and financial benefits associated with open source software.

Aside from these two main motivations, people working on free software can do so for many other reasons, including for fun (Linus Torvalds and David

Diamond, Texere, 2001) [217] or for money, potentially with sustainable bu- siness models Chapter 4 studies these motivations in detail on the basis of ob- jective analyses.

The consequences of the freedom of software

Free software provides numerous benefits, with its few drawbacks often overstated by proprietary competitors The primary concern is financial, as generating significant revenue from its distribution is challenging, often leading to distribution by parties other than the original author Consequently, alternative business models and funding mechanisms are essential, which we will explore in the following chapter.

5 Other disadvantages, such as the lack of support or poor quality, are related to financing but also in many cases are false, since even software with no form of financing tends to offer good support levels thanks to user and developer forums, and often the quality is very high.

The cost model of free software significantly differs from that of private software, as much of its development occurs outside the formal monetary economy, often utilizing exchange or barter systems This collaborative approach allows developers to share and adapt programs, enhancing their functionality without direct financial transactions Chapter 7 explores effective software engineering mechanisms to leverage these unpaid resources, while Chapter 8 examines the tools that facilitate collaboration Additionally, the overall costs are minimized since free software can build upon existing programs, eliminating the need for starting from scratch, and distribution costs are substantially lower due to Internet delivery and free promotion through public forums.

The freedoms associated with software development foster high-quality outcomes through the voluntary collaboration of individuals who identify and report bugs in unforeseen scenarios Additionally, if a program lacks quality, competitors can enhance it by building on its foundation This interplay of collaboration and competition serves as a powerful mechanism for driving improvements in software quality.

Now let's examine the beneficial consequences for the receiver.

In a monopolistic market, end users—whether individuals or businesses—can encounter genuine competition, as the reliance on software manufacturers' support is not absolute Numerous companies, including smaller ones, possess the source code and expertise necessary to operate while offering certain programs for free.

Evaluating product quality now hinges more on community acceptance and access to source code than on the manufacturer's reputation The era of trusting black boxes based solely on claims is over, as consumers seek transparency and accountability from manufacturers, who can no longer unilaterally dictate the fate of their products.

Evaluating products prior to adoption has become significantly simpler, as we can now install alternative solutions directly in our real environments for testing In contrast, assessing private software often requires reliance on external reports or negotiating testing arrangements with suppliers, which may not always be feasible.

The freedom to modify free software allows users to customize it according to their needs and address any errors directly, which can be a challenging and time-consuming process with proprietary software In the case of proprietary software, users often face lengthy waits for error corrections in future versions, which may require repurchase Conversely, with free software, users can either fix issues themselves, if qualified, or hire external services for repairs, integration with other programs, or quality audits, particularly regarding security This shift significantly transfers control from the software provider to the user.

Public administration plays a crucial role in ensuring accessible services and protecting citizens' data, which necessitates a higher adherence to standards compared to private companies This responsibility includes maintaining data integrity, privacy, and security over the long term To achieve this, public administration should utilize open data formats and independent software solutions that are certified secure through internal audits Unlike private software, which often prioritizes creating captive markets, free software is more aligned with these standards, promoting transparency and accountability in data management.

The Administration acts as a pivotal showcase and guide for the industry, significantly influencing the creation of a technological framework that fosters national wealth This wealth can be generated by encouraging the growth of companies focused on developing new free software for the Administration, as well as maintaining, adapting, or auditing existing software A deeper exploration of this topic will be presented in Chapter 6.

For software developers and producers, freedom transforms the competitive landscape by enabling smaller entities to thrive and access cutting-edge technology This flexibility allows for leveraging others' work, fostering competition through code modification, while also presenting the risk of competitors utilizing the same code under copyleft licenses With effective project management, developers can harness the voluntary collaboration of numerous contributors and gain access to a nearly free global distribution network However, securing financial resources remains a critical challenge, particularly when software is not developed through paid commissions, a topic explored in Chapter 5.

For integrators, free software is paradise It means that there are no longer black boxes that need to be fitted together, often using reverse engineering.

Rough edges in software can be refined, and various components can be seamlessly integrated to create a cohesive final product, thanks to the extensive availability of free software resources.

1.3.5 For service and maintenance providers

Access to the source code transforms our role to that of the producer, highlighting the necessity for maintenance providers to possess a deep understanding of the program, akin to the developer's expertise This knowledge enhances the value of their services, especially given the low cost of the software Currently, this model represents the most promising business opportunity within the realm of free software, fostering significant competition.

A bit of history

Free software before free software

Free software as a concept did not appear until the beginning of the 1980s.

However, its history can be traced back to several years earlier.

2.1.1 And in the beginning it was free

In the 1970s, the IT landscape was characterized by large computers primarily used by corporations and government institutions, with IBM as the dominant manufacturer During this era, purchasing hardware typically included access to the manufacturer's software, provided that a maintenance contract was maintained, and the concept of software as a separate commercial entity was largely unheard of.

In this period, software was normally distributed together with its source code

User groups like SHARE for IBM systems and DECUS for DEC users played a significant role in facilitating the exchange of source code and information, often organizing these interactions without practical restrictions.

The "Algorithms" section of the Communications of the ACM magazine served as an effective exchange forum during the early years of IT, where software was typically free This accessibility allowed users not only to access the source code but also to share, modify, and redistribute these modifications with others.

On June 30, 1969, IBM announced that starting in 1970, it would sell software separately from its hardware, marking a significant shift in the perception of software as a valuable commodity This change meant that clients could no longer access necessary programs included in the hardware price, leading to increased restrictions on user access, sharing, modification, and study of software This transition laid the groundwork for the current landscape of software in the early 21st century, where access and usage rights are tightly controlled.

For readers eager to explore the transition period in software cataloging, "How the ICP Directory Began" by Larry Welke (1998) offers valuable insights This article highlights the inception of one of the first independent software catalogs, revealing that companies were willing to invest in programs not produced by their own computer manufacturers.

In the mid-1970s, the emergence of private software marked a significant cultural shift in the IT industry, leading to the rise of numerous companies focused on this new business model This development set the stage for the organized emergence of free software nearly a decade later, as a response to the growing demand for alternative software solutions.

Despite the dominant trend favoring private software models, several initiatives emerged that exhibited early characteristics of what we now recognize as free software Notably, projects such as SPICE, TeX, and the more complex Unix contributed to the development of free software as we define it today.

SPICE (Simulation Program with Integrated Circuit Emphasis) is a groundbreaking simulation tool developed by Donald O Pederson at the University of California, Berkeley, in 1973, to analyze the electrical characteristics of integrated circuits Initially created as a teaching resource, SPICE quickly gained popularity in universities worldwide, becoming essential for students in the emerging field of integrated circuit design Its public domain status allowed for redistribution, modification, and adaptation to specific needs, enabling companies to develop proprietary versions This flexibility contributed to SPICE's rise as the industry standard in integrated circuit simulation, marking it as one of the first free software programs to dominate this market due to its unique characteristics and technical excellence.

More information on the history of SPICE can be consulted in "The life of SPICE", pre- sented during the Bipolar Circuits and Technology Meeting, Minneapolis, MN, USA, in

You can find the SPICE web page at http://bwrc.eecs.berkeley.edu/Classes/IcBook/SPICE/.

In 1978, Donald Knuth began developing TeX during a sabbatical year, creating an electronic typography system renowned for producing high-quality documents He initially adopted a license that aligns with today's free software standards, and when TeX reached a stable version in 1985, he upheld that license By then, TeX had emerged as one of the largest and most recognized free software systems available.

You can explore significant milestones in the history of TeX by visiting the online resource at [math.utah.edu](http://www.math.utah.edu/software/plot79/tex/history.html) For additional insights, the related Wikipedia article offers valuable information, accessible at [Wikipedia](http://www.wikipedia.org/wiki/).

2.1.3 The early development of Unix

Unix, one of the first portable operating systems, was originally created by

Thompson and Ritchie (among others) from AT&T's Bell Labs It has continu- ed to develop since its birth around 1972, giving rise to endless variants sold

(literally) by tens of companies.

In 1973 and 1974, Unix was introduced to numerous universities and research centers globally under a license for academic use Despite some restrictions on free distribution, the operations within licensed organizations closely resembled the dynamics found in many free software communities that emerged later.

Access to the Unix source code allowed developers to study, enhance, and expand the system, leading to the emergence of a vibrant community centered around the Computer Systems Research Group (CSRG) at the University of California, Berkeley This community fostered a unique culture that played a significant role in the evolution of free software In many ways, Unix served as a precursor to the developments we later witnessed with GNU.

Years later, Linux became limited to a smaller community and required an AT&T license, yet its development continued to mirror earlier patterns, albeit in a less connected environment.

Development methods inherent to free software

In Netizens On the history and impact of Usenet and the Internet (IEEE Computer Society

In the early development of Unix, its value was significantly enhanced by the availability of open source code, which allowed users to examine, improve, and customize the software This openness played a crucial role in fostering various free software projects.

Pioneers such as Henry Spencer emphasized the significance of access to source code within the Unix community, highlighting that it enabled users to identify and resolve bugs effectively By the late 1970s and early 1980s, nearly every Unix site had complete access to these source codes, underscoring their importance in fostering collaboration and innovation.

The beginning: BSD, GNU

In the early 1980s, the first organized projects aimed at creating free software emerged, marking a significant shift from individual initiatives This period saw the establishment of ethical, legal, and financial foundations for these projects, which continue to evolve today It was during this time that the term "free software" was coined to describe this new phenomenon.

2.2.1 Richard Stallman, GNU, FSF: the free software movement is born

At the beginning of 1984, Richard Stallman, who at the time was employed by the MIT AI Lab, abandoned his job to started working on the GNU project.

Stallman identified as a hacker who valued sharing his technological insights and code He felt alienated by his decision to reject exclusivity and non-sharing agreements, which set him apart from his peers Additionally, he was frustrated by the limitations imposed by proprietary software, which left him powerless to address issues that could have been easily resolved.

His idea when he left the MIT was to build a complete software system, for ge- neral use, but totally free ("The GNU Project", DiBona et al.) [208] The system

(and the project that would be responsible for making it come true) was called

GNU ("GNU's not Unix", recursive acronym) Although from the beginning the GNU project included software in its system that was already available

Richard Stallman initiated the development of essential software tools, including the widely-used C compiler GCC and the popular text editor Emacs, laying the groundwork for future advancements in systems like TeX and the X Window system.

Since the inception of the GNU project, Richard Stallman prioritized the freedoms of software users, ensuring that not only those who obtained programs directly from GNU retained rights such as modification and redistribution, but also those who received them through subsequent redistributions and modifications To achieve this, he crafted the GPL license, which is widely recognized as the first software license specifically created to ensure a program's freedom in this manner.

Richard Stallman introduced the term "copyleft" to describe the generic mechanism used by GPL-type licenses to ensure certain guarantees, and this concept has since become synonymous with a broad range of free software licenses endorsed by the Free Software Foundation.

GNU General Public Licence, version 2, June 1991) [118].

Richard Stallman established the Free Software Foundation (FSF) to secure funding for the development and protection of free software He also articulated his ethical principles in "The GNU Manifesto," which outlines the importance of software freedom.

Foundation, 1985) [117] and "Why software should not have owners" (Richard

The GNU project was designed as a highly structured initiative with clear objectives, employing small volunteer groups to develop individual tools that seamlessly integrate into the overall GNU system Inspired by the modularity of Unix, this approach emphasized collaboration, primarily through the Internet However, during its inception, the Internet was not widely established, prompting the Free Software Foundation to sell tapes containing applications, making it one of the first organizations to receive limited financial support for creating free software.

In the early 1990s, six years after its inception, the GNU project was nearing the completion of a Unix-like operating system, but it had yet to develop a crucial component: the kernel The kernel is the core of the operating system that interfaces with hardware, abstracts its functions, and enables applications to share resources effectively.

During its inception, GNU software gained significant popularity among users of various Unix variants, which were the leading operating systems in business environments The GNU project also established a strong reputation among IT professionals, particularly in academic institutions, as its products were recognized for their stability and high quality.

Since 1973, the Computer Science Research Group (CSRG) at the University of California, Berkeley, has been a pivotal center for Unix-related developments, particularly between 1979 and 1980 This period saw the porting of applications and the creation of new ones designed for Unix, alongside significant enhancements to the kernel and the addition of various functionalities Notably, several DARPA contracts were awarded during the 1980s, further contributing to these advancements.

The US Department of Defense funded the development of TCP/IP, which remains the foundational protocol for Internet functionality This initiative not only facilitated the growth of the Internet but also contributed to the proliferation of Unix workstations among various companies.

CSRG's advancements laid the groundwork for various Unix versions, leading to the emergence of prominent systems like SunOS from Sun Microsystems and Ultrix from Digital Equipment Consequently, Berkeley established itself as one of the two primary sources of Unix, alongside the official version from AT&T.

To utilize the code developed by the CSRG and the Unix community, obtaining AT&T's Unix license was essential, yet increasingly challenging and costly, particularly for those needing access to the system's source code This situation prompted efforts to find alternative solutions.

In June 1989, the Computer Systems Research Group (CSRG) released Networking Release 1 (Net-1), a version of Unix that included TCP/IP protocols without AT&T code, under the BSD license This minimalist free license facilitated both free redistribution and incorporation into private products, despite some issues regarding disclosure obligations Additionally, the CSRG innovated a financing model by selling distribution tapes for USD 1,000, which, although allowed for redistribution, generated significant funds from thousands of organizations to support ongoing development.

Having witnessed the success of the Net-1 distribution, Keith Bostic proposed to rewrite all of the code that still remained from the original AT&T Unix.

Despite skepticism from some CSRG members, a public announcement was made seeking assistance, leading to a gradual influx of utilities rewritten according to specifications in Berkeley Simultaneously, the kernel underwent a similar process, resulting in most of the code not originally produced by Berkeley or volunteer collaborators being independently rewritten By June 1991, permission was secured from the University of Berkeley's governing body for Networking Release 2.

(Net-2) was distributed, with almost all of the kernel's code and all of the uti- lities of a complete Unix system The set was once again distributed under the

BSD licence and thousands of tapes were sold at a cost of USD 1,000 per unit.

All systems go

By 1990, essential components of a complete system were available as free software, with the GNU project and BSD distributions providing the majority of necessary applications for operating systems Additionally, initiatives like X Window and GNU developed high-quality window environments and compilers, contributing significantly to the software landscape.

Many administrators of SunOS or Ultrix systems opted to replace their proprietary applications with free versions from GNU or BSD for their users However, to create a fully functional system based entirely on free software, one crucial component was still absent: the kernel This gap was addressed by two independent projects: 386BSD and Linux.

In the late 1980s and early 1990s, the GNU project developed essential utilities and tools for a complete operating system, showcasing many outstanding free applications, notably the X Window system However, the project faced a crucial gap: the operating system's kernel To address this, the GNU project initiated the Hurd project, aiming to create a modern kernel using advanced technologies.

In the early 1990s, the BSD community was advancing towards a free kernel, with the Net-2 distribution nearly complete, lacking only six files By early 1992, Bill Jolitz finalized these files and released 386BSD, a system designed for the i386 architecture This development eventually led to the creation of NetBSD, FreeBSD, and OpenBSD Rapid progress followed, and by the end of that year, 386BSD had become stable enough for use in non-critical production environments, including integration with Windows through the XFree project.

The system primarily utilized the i386 architecture and was built with a high-quality compiler, GCC While certain components were licensed under different agreements, including GPL from the GNU projects, the majority of the system was distributed under a unified license.

The free software development model showcases remarkable success stories, such as Linus Torvalds, who created Linux as a second-year student at the University of Helsinki Additionally, there are other students, like German developer Thomas, who have also gained recognition through their contributions to free software.

Roel ported X11R4 (a version of the X Window system) to a PC based on a 386 This development took him to work at Dell, and later to become the founder of the X386 and

XFree projects played a crucial role in establishing a Windows-like environment for GNU/Linux and the BSD operating systems For an in-depth look at the history of XFree and Roel's contributions, refer to "The History of XFree86" published in Linux Magazine, December 1991.

The lawsuit from USL instilled fear among potential users regarding possible legal repercussions if the University of California lost the case, leading to concerns about the project's future This uncertainty may have contributed to the significantly larger base of GNU/Linux installations compared to all *BSD systems combined, although the exact reasons remain unclear.

In July 1991, 21-year-old Finnish student Linus Torvalds announced his project to create a free operating system similar to Minix By September, he released version 0.01, with subsequent updates appearing every few weeks The first stable version, 1.0, was launched in March 1994, although the kernel had been functional for several months prior During this time, numerous developers contributed to Linux, incorporating various GNU software, XFree, and additional free programs Unlike the *BSDs, the Linux kernel and many associated components were distributed under the GPL license.

The story of Linux is a captivating and well-documented chapter in the realm of free software Notable resources, such as Ragib Hasan's "History of Linux," commemorate its 10th anniversary and provide valuable insights An intriguing piece of history can be found in Linus Torvalds' original announcement on the comp.os.minix newsgroup, where he detailed his work on the kernel since April and his efforts to port GNU project tools like Bash and GCC For more information, you can explore the announcement thread at Google Groups.

The emergence of Linux distributions has significantly shaped the landscape of GNU/Linux systems since their inception in 1992, with notable examples including MCC Interim Linux, TAMU, and the widely recognized SLS, which ultimately led to the development of Slackware Each distribution aims to provide a user-friendly, ready-to-use operating system, competing by enhancing features that are valued by their user communities In addition to offering pre-compiled packages, these distributions typically include their own tools for package management, installation, and overall system administration, ensuring a streamlined experience for users.

Over time distributions have succeeded each other as different ones became the most popular Of them all, we would highlight the following:

1) Debian, developed by a community of volunteer users.

2) Red Hat Linux, which was first developed internally by the company Red

Hat, but which later adopted a more community-based model, giving rise to Fedora Core.

3) Suse, which gave rise to OpenSUSE, following a similar evolution to Red

4) Mandriva (successor of Mandrake Linux and Conectiva).

5) Ubuntu, derived from Debian and produced on the basis of Debian by the company Canonical.

A time of maturation

By the mid-2000s, free software like GNU/Linux, OpenOffice.org, and Firefox gained significant media attention, reflecting its widespread adoption in various IT processes by most companies Today, it's nearly impossible for IT students to avoid using free software, which has evolved from a mere footnote to a crucial component of the industry, impacting both IT and secondary sector companies.

Software is increasingly recognized as a strategic asset by both intensive users and public administrations, marking a significant shift in its perception This trend is gradually extending to domestic users, indicating a broader maturation phase in the software landscape.

(1) This concept is explained in de- tail in the corresponding entry inWikipedia, www.wikipedia.org/ wiki/Linux_distribution

As we reflect on the current state of the software industry, a crucial question emerges: "Are we witnessing the dawn of a new software model?" While it's possible that free software could fade into a nostalgic trend, it increasingly appears that we may be on the verge of a lasting transformation that could significantly impact one of the most dynamic and influential sectors of our era.

In the mid-1990s, free software, including GNU/Linux and *BSD distributions, provided complete environments that supported the daily tasks of many users, particularly software developers Despite the need for improved graphical user interfaces, especially compared to the standard set by Windows 95, thousands of individuals worldwide were already relying exclusively on free software for their work This period marked the beginning of a significant evolution as new projects emerged rapidly, leading free software to gain traction in companies, the media, and public awareness.

The emergence of the Internet as a widely accessible network was significantly propelled by free software, particularly in its infrastructure As millions of households gained Internet access, this trend solidified, especially regarding web servers, with the most popular options, like the NCSA server and Apache, being available at no cost.

The journey of free software towards widespread public adoption is effectively illustrated in Eric Raymond's influential essay, "The Cathedral and the Bazaar" (2001) While the ideas presented were already familiar to the free software development community, the article's extensive distribution played a crucial role in promoting free software as a viable alternative to traditional software development methods.

In "Setting up shop: The Business of Open Source Software," Frank Hecker explores potential business models for free software, aiming to impact the decision to release the Netscape Navigator code This pivotal article highlights the intersection of open source principles and commercial viability, marking a significant moment in the evolution of software development.

Raymond's article effectively highlighted key aspects of free software, but the release of Netscape Navigator's code marked a pivotal moment when a major company in the emerging web industry chose to adopt a free software model At that time, Netscape was struggling against Microsoft's Internet Explorer, which was bundled with its operating system, prompting many to believe that Netscape had no choice but to innovate and change the competitive landscape This shift ultimately led to the creation of the Mozilla project, which, despite facing its own challenges, has resulted in a web browser that, while not regaining Netscape's former market dominance, is considered technically comparable to its proprietary rivals.

In any case, irrespective of its later success, Netscape's announcement that it would release its navigator's code had a great impact on the software industry.

Many companies started to consider free software worthy of consideration.

During the dotcom boom, financial markets began to focus on free software, leading to significant investor interest in this sector A prominent example is Red Hat, which was among the first to identify a viable business model by selling CDs containing ready-to-use GNU/Linux systems.

Red Hat Linux initially focused on ease of use and maintenance for non-IT users, gradually diversifying within the free software ecosystem In September 1998, significant investments from Intel and Netscape boosted its credibility, leading many investors to believe in its potential When Red Hat went public in the summer of 1999, its IPO was fully subscribed, and share values soared, marking a historic moment as the first company to secure stock market financing through a free software model This success paved the way for other companies like VA Linux and Andover.net to follow suit.

Red Hat provides a list of its company milestones at http://fedora.redhat.com/about/his- tory/.

During this time, numerous companies emerged with business models centered around free software, playing a crucial role in its development Notably, firms like SuSE in Germany, Conectiva in Brazil, and Mandrake in France began distributing their own versions of GNU/Linux, eventually merging to enhance the free software ecosystem.

Mandriva Others offered services to companies that wanted maintenance or to adapt free products: LinuxCare (US), Alcove (France), ID Pro (Germany); and many more.

Major players in the industry began to align themselves with free software, with companies like IBM integrating it into their core strategies In contrast, Sun Microsystems exhibited a mixed stance, occasionally supporting free software while at other times showing indifference or even hostility towards it.

Major tech companies like Apple, Oracle, HP, and SGI have adopted various strategies to explore the free software model, ranging from selectively releasing software to fully porting their products to GNU/Linux In addition to these approaches, many companies have also implemented varying degrees of free software in their offerings, as seen with Mac OS X, and have investigated business models centered around the maintenance of free products.

During this period, two significant projects emerged aimed at bringing free software to desktop environments, particularly for inexperienced IT users: KDE and another initiative.

GNOME aims to simplify user interaction with GNU/Linux and *BSD systems by eliminating the need for command line usage, allowing for a more intuitive and accessible experience with applications in these environments.

The future: an obstacle course?

Predicting the future of free software is challenging, and our goal is not to forecast it but to highlight the issues it is likely to encounter Free software has been facing numerous obstacles for some time, and how it navigates these challenges will significantly influence its future landscape.

The FUD technique, which stands for fear, uncertainty, and doubt, is frequently employed by competitors of free software to undermine its credibility Despite varying levels of justification and effectiveness, free software has largely remained resilient against these tactics, likely due to its complexity and diverse integration methods within companies.

Many companies are exploring the boundaries of free software models, attempting to provide clients with offerings that mimic its characteristics However, this approach often leads to confusion for both clients and developers, who must scrutinize the fine print to understand that these alternatives lack the true benefits of free software A prominent example of this model is Microsoft's Shared Source program.

• Lack of knowledge In many cases, users turn to free software simply be- cause they think that it is free of charge; or because they think that it is

Many individuals and organizations overlook the advantages of free software due to a lack of understanding of its unique model compared to traditional private software This misunderstanding can lead to missed opportunities and dissatisfaction, as the principles governing free software often differ significantly from those of proprietary software A deeper analysis is essential to fully appreciate the benefits and avoid misconceptions that could hinder effective utilization.

Legal obstacles pose a significant challenge for free software in the coming years The legal landscape that supported the development of free software in the 1980s and early 1990s has evolved, leading to potential complications for its future growth and sustainability.

The 1990s, while not perfect, allowed for significant growth in the software industry However, the expansion of patenting to include software in many developed nations, along with new copyright laws that restrict the creativity of software developers, has created substantial barriers for free software to penetrate key application sectors.

Legal aspects

Developers and their motivations

Economy

Free software and public administrations

Free software engineering

Development environments and technologies

Case studies

Other free resources

Ngày đăng: 04/10/2021, 14:25