UNIT 1 Notes.docx
Document Details
Uploaded by FieryPythagoras
Tags
Full Transcript
**UNIT -1** **Open Source:** Open Source refers to software with source code that anyone can inspect, modify, and enhance. This contrasts with proprietary software, where the source code is closed and controlled by the company or individual who created it. **Need for OSS:** Many Critical needs a...
**UNIT -1** **Open Source:** Open Source refers to software with source code that anyone can inspect, modify, and enhance. This contrasts with proprietary software, where the source code is closed and controlled by the company or individual who created it. **Need for OSS:** Many Critical needs are fulfilled by open source software. And it also give many benefits to everyone. There are some key constrain that why we need OSS. **Continue innovations:** The openness nature of open source encourage developers for new innovations. The open source community share their idea with the each other. They try to make new features. And this all activities leads to new achievement and advancement in the software. **Cost effective:** In general open source software are free to use. That software are available to everyone. So this can benefits to the individual and organization from the developing nations as well as from where there as no sufficient budgets. This will allow everyone to use high-quality software. **Security and Transparency:** With having transparent nature of open source allow users to inspect the code for the security issue and verify that the given software is working as they claimed. The large amount of developers check the code often results in quick identification of security issues. **Education Value:** As you all know open source software is available to everyone. This gives very good learning opportunity to students as well developers. Students can learn how to code, can practice and can know how large-scale software are managed. **Customization and Flexibility:** Open source have customized nature that give everyone access to modify their code by their specific need. So for that no one have to depend on vendor\'s decisions as in proprietary software. **Large community and support system:** In open source software there many active developers at every where so we can call them active communities. So from them user can take guidance and users will be supported by them. They will term in solving problem and user can learn from the experienced person. **Legal Compliance and Licensing:** Clear terms and conditions are along with the License of open source software. It will be easy for the person as well organization to understand the condition of using, sharing software. As technology continues to play a significant role in society, open-source software remains a vital component of the digital landscape, driving innovation, democratizing access to technology, and empowering users worldwide. As we all know technology serves important role in todays world. So Open software will be the best components in this digital world. This will lead the new innovations and it will also empowering users across the world. **Principles:** **Freedom to Use**: Users can use the software for any purpose. **Freedom to Study**: Users can inspect and understand the software. **Freedom to Modify**: Users can alter the software to suit their needs. **Freedom to Distribute**: Users can share the software freely. The foundational values and the guidelines that make sure about development, usage and distribution, are the principle of open source software. These principle will ensure the spirit of open culture and open community. The main principle of OSS is peer production. That means products with source code, blueprints and documentation which are freely available to all. The open source movement is a big response to the proprietary software. Author's code remain same : original source code will be unaltered , that's integrity No discrimination License not restrict License must be Neutral : accessible to all technology not for one technology Free redistribution Access to code Derived Work : allow user to modify code and share that one others. These principle are already embedded in open source licenses like the GNU General Public License (GPL), the MIT License, or the Apache License, form the foundation of the open-source movement. **Open-Source Standards:** Open Standards\" are standards made available to the general public and are developed (or approved) and maintained via a collaborative and consensus driven process. \"Open Standards\" facilitate interoperability and data exchange among different products or services and are intended for widespread adoption. **Requirements of open source software** **Source Code Availability:** The source code must be readily accessible to anyone. This allows users to inspect, modify, and distribute the software. Access to the source code is essential for transparency, security, and the ability to customize the software according to specific needs. **2. Free Redistribution:** The software must be freely redistributable. This means users can share the software with others without any restrictions or fees. Free redistribution promotes wider adoption and collaboration within the community. **3. Derived Works and Modifications:** Users must be allowed to modify the software and distribute those modifications under the same license as the original software. This encourages innovation and improvements, enabling the software to evolve and better meet the needs of users. **4. Integrity of the Author\'s Source Code:** While users can modify the software, there may be provisions that require modified versions to be clearly marked as such, to protect the integrity of the original author's work. This ensures that users can distinguish between the original software and modified versions, preventing confusion and maintaining trust in the original software. **5. No Discrimination Against Persons or Groups:** The software\'s license must not discriminate against any person or group. This ensures that the software is inclusive and available to everyone, regardless of who they are. **6. No Discrimination Against Fields of Endeavor:** The license must not restrict anyone from using the software in a particular field of work or application.Users should be free to use the software for any purpose, whether it's in education, business, research, or other fields. **7. Distribution of License:** The rights attached to the software must apply to all to whom the software is redistributed, without the need for additional licenses. This ensures that the software remains free and open for all users, maintaining the principles of open-source software even as it is shared and distributed. **8. License Must Not Be Specific to a Product:** The rights attached to the software must not depend on the software being part of a specific distribution or package.This prevents the open-source license from being tied to a particular product, ensuring the software remains open and available in all forms. **9. License Must Not Restrict Other Software:** The license must not place restrictions on other software that is distributed alongside the open-source software. This allows open-source software to coexist with proprietary software, fostering broader compatibility and use. **10. License Must Be Technology-Neutral:** The license must not be predicated on any individual technology or interface style.This ensures that the software can be used across different technologies and platforms without any licensing conflicts. **OSS success :** The IT sector and society at large have been greatly impacted by open-source software\'s phenomenal success. Open-source software\'s popularity is largely due to a number of important aspects, such as: **Wide Adoption**: A number of well-known and frequently used software projects, including the Apache web server, Mozilla Firefox, and the Linux operating system, are open source. Because of its widespread use, open-source software is now a popular alternative for both developers and companies. **Innovation**: Since the source code is available, programmers are free to experiment, add new features, and modify the software to suit certain requirements. This has caused the open-source community to experience an ongoing cycle of innovation. **Lower Cost:** Since open-source software is frequently free to use, it lowers the costs associated with obtaining high-quality tools and solutions for people and businesses. Open-source software is a desirable alternative for companies of all sizes due to its affordability. **Community Collaboration:** An enthusiastic and varied developer community is essential to the success of open-source projects. Rapid development, problem fixes, and feature enhancements are made possible by this collaborative method, which attracts many volunteers from all over the world. **Educational Value**: Open-source software offers developers and students a great way to learn about real-world coding and development techniques. **Quality and Reliability:** Potential problems and errors are frequently found and promptly fixed when there are several eyes reviewing the source code. As a result, software is created that is strong, stable, and reliable and gains from ongoing advancements. **Transparency and Security:** Due to open-source software\'s transparency, users can examine the code to check for any potential security holes and to ensure that no harmful code is included. Increased security knowledge increases user and organizational trust. **Customizability:** Because open-source software is flexible, users can tweak and adapt the code to meet certain demands and specifications. For companies looking for specialized solutions, this flexibility is very valuable. **Supportive Ecosystem:** Open-source projects frequently have dynamic and active communities that provide forums for users to exchange information and seek assistance as well as support, documentation, and other resources. The myriad apps, libraries, and tools utilized across all industries and sectors are proof of the success of open-source software. Operating systems, web servers, content management systems, databases, machine learning frameworks, and other areas are all affected by it. **Free Software:** Software that gives users the freedom to run, study, change, and share it. \"Free\" refers to freedom, not price. Here are a few well-known instances of free open-source software from different categories: Operating Systems: Linux distributions (Ubuntu, Fedora, Debian, CentOS, etc.) Web Browsers: Mozilla Firefox, Chromium (the open-source project behind Google Chrome) Office Suites: LibreOffice, Apache OpenOffice Media Players: VLC media player Graphics and Image Editing: GIMP (GNU Image Manipulation Program), Inkscape (vector graphics editor) Programming Languages and Tools: Python, Java (OpenJDK), Git (version control system) Content Management Systems (CMS): Word Press, Joomla, Drupal Virtualization: Virtual Box, QEMU **Licensing in OSS:** Licensing in Open Source Software (OSS) is a critical aspect that defines how the software can be used, modified, and distributed. OSS licenses ensure that the software remains open and accessible to users while setting the terms under which it can be shared and altered. Typically, the use, modification, and distribution of the software\'s source code are all permitted by the licensing conditions that apply to the distribution of open-source software. MIT License Apache License BSD License GPL License Mozilla Public License (MPL) Creative Commons (CC) Licenses GNU License **History of Free software :** The evolution of computing and the ideas of user freedom are entwined with the history of free software. Some significant dates in the development of free software are listed below: 1\. 1950s - 1960s: Early Computing and User Collaboration 2\. 1969: UNIX and the Birth of Open Source 3\. 1970s - 1980s: The Rise of Proprietary Software 4\. 1983: The GNU Project 5\. 1985: GNU General Public License (GPL) 6\. Early 1990s: Linux and Open Source Movement 7\. Late 1990s: Open Source Initiative (OSI) 8\. 2000s - Present: Growth and Proliferation 9\. Advocacy and Adoption **Use of open source software :** Due to its many benefits, open-source software has been widely adopted and used across multiple industries. Here are a few typical applications and advantages of open-source software: ❑ Operating Systems ❑ Web Servers and Applications ❑ Development Tools and Languages ❑ Office Suites and Productivity Tools ❑ Graphics and design ❑ Database management systems ❑ Networking and Security **FOSS does not mean no cost :** \"FOSS\" (Free and Open-Source Software) does not always imply \"no cost.\" In the context of FOSS, the word \"free\" alludes to the idea of freedom rather than necessarily having a financial cost. When referring to software, the term \"free\" denotes that users have the following fundamental freedoms: 1\. The ability to use the program however you choose. 2\. The ability to read, analyse, and edit the program\'s source code. 3\. The ability to charge a fee or distribute copies for free. 4\. The ability to distribute software that has been modified. **History of BSD:** BSD stands for Berkeley Software Distribution, it is mainly a group of related open source software has a long history dating to the early days of UNIX, has been crucial to the advancement of operating systems. Here is a quick synopsis of BSD\'s history: UNIX\'s origins: Ken Thompson, Dennis Ritchie, and others created UNIX at Bell Labs in the late 1960s and early 1970s. In academic and research settings, it became a well-liked operating system. UC Berkeley\'s Involvement: Bill Joy, a graduate student at UC Berkeley (UCB), made substantial contributions to the creation of UNIX at UCB in the late 1970s. The \"C Shell\" (csh) and the \"vi\" text editor are just two of the many additional features that he added. BSD Releases: The first official BSD version, also referred to as 1BSD, was made available by UCB in 1977. Later versions, such 2BSD and 3BSD, came after. Net/1 and Net/2: In 1989, UCB published 4.3BSD (Net/1), which had important networking advancements. Later BSD versions used this version as their starting point. Following the settlement, the BSD source was forked, leading to the creation of other BSD-based operating systems, including FreeBSD (1993), NetBSD (1993), and OpenBSD (1995). With their individual focuses and objectives, these projects each continued to improve and develop the BSD source. Ongoing Development and Modernization: The many BSD variations have continuously changed and adapted over time to contemporary computing settings. They increased performance, added security measures, and added compatibility for new hardware architectures. Impact on Contemporary Operating Systems: The BSD operating systems have had a major impact on the evolution of contemporary operating systems. Other operating systems, such as Linux, have included many of the networking, security, and performance features featured in BSD. **The free software Foundation and the GNU Project** Free Software Foundation (FSF): Richard Stallman established the Free Software Foundation (FSF) as a non-profit organization in 1985. The use, creation, and distribution of free software are the FSF\'s main goals. According to the FSF, \"free software\" is software that upholds users\' fundamental liberties as outlined by the \"Four Freedoms\": ❑ The freedom to run the program for any purpose. ❑ The freedom to study and modify the program\'s source code. ❑ The freedom to redistribute copies, either for free or for a fee. ❑ The freedom to distribute modified versions of the software. The FSF is a vocal supporter of these rights and aims to spread knowledge about the value of user choice, community cooperation, and moral considerations in software design. Richard Stallman launched the GNU Project in 1983. Its objective was to construct a fully functional, free operating system that was akin to Unix, complete with a kernel, utilities, and applications that were all distributed under a free software license. The acronym \"GNU\" stands for \"GNU\'s Not Unix,\" denoting that while the GNU Project was influenced by the Unix operating system, it was not a precise clone of Unix. By creating a complementary free software ecosystem, Stallman and the GNU Project aimed to provide users with an alternative to proprietary software. With the exception of the kernel, the GNU Project successfully created the majority of an entire operating system\'s components. The GNU/Linux operating system, also known as Linux, was developed in 1991 by Linus Torvalds using the Linux kernel and GNU tools. Legacy and Impact: The GNU Project and the Free Software Foundation have contributed significantly to the advancement of the free software and opensource development ideologies. Beyond only software, their influence affects other aspects of digital freedom and promotes a digital age ethos of openness, cooperation, and user empowerment.