Thursday, November 21, 2019

Definition and Examples of Open-Source Software

Definition and Examples of Open-Source SoftwareDefinition and Examples of Open-Source SoftwareOpen-source software (OSS) is any computer software thats distributed with its source code available for modification. That means it usually includes a license for programmers to change the software in any way they choose They can fix bugs, improve functions, or adapt the software to suit their own needs. Open-Source Software Criteria The Open Source Initiative (OSI), a global gemeinwohlorientiert founded in 1998, acts as a leading authority on OSS. Its definition of open-source software includes ten criteria, relating to matters such as Software redistributionSource code availability and integrityDistribution and properties of licensesDerived worksAnti-discrimination Licenses Different licenses allow programmers to modify the software with various conditions attached. According to the Black Duck KnowledgeBase, a database of some two million open source projects, five of themost popu lar licenses are MIT LicenseGNU General Public License (GPL) 2.0Apache License 2.0GNU General Public License (GPL) 3.0BSD License 2.0 (3-clause, New or Revised) When you change the source code, OSS requires the inclusion of what you altered as well as your methods. The software created after code modifications may or may not be made available for free. Commercial Software Commercially available software, aka commercial or proprietary software, doesnt give access to its source code because the software is someone elses intellectual property. As a result, users often pay for it. OSS, on the other hand, is a collaborative effort The software is shared intellectual property among all who have helped develop or alter it. Free Software Although the terms are often used interchangeably, OSS is slightly different from free software. Both deal with the ability to download and modify softwarewithout restriction or charge. However, free software- a concept developed in the 1980s by an MIT computer science researcher, Richard Stallman- is defined by four conditions, as outlined by the nonprofit Free Software Foundation. These four freedoms emphasize the ability of users to use and enjoy software as they see fit. In contrast, the OSS criteria, which the Open Source Initiative developed a decade later, place more emphasis on the modification of software, and the consequences of altering source code, licensing, and distribution. The two overlap some would say the differences between OSS and free software are more philosophical than practical. However, neither should be confused with freeware. Freeware usually refers to proprietary software that users can download at no cost, but whose source code cannot be changed. Advantages While its lack of cost is a key advantage, OSS has several additional benefits Its quality can be easily and greatly improved when its source code is passed around, tested, and fixed.It offers a valuable learning opportunity for programmers. They can apply skills to the most popular programs available today.It can be more secure than proprietary software because bugs are identified and fixed quickly.Since it is in the public domain, and constantly subject to updates, there is little chance it can become unavailable or quickly outmoded- an important plus for long-term projects. Popular Types Open-source technologies helped establish much of the internet. Furthermore, many of the programs in use every day are based on open-source technologies. Cases in point Android OS and Apples OS X are based on the kernel and Unix/BSD open-source technologies, respectively. Other popular open-source software is Mozillas Firefox web browserThunderbird email clientPHP scripting languagePython programming languageApache HTTP web server Developers OSS projects are collaboration opportunities that improve skills and build connections in the field. Areas that developers can work on include Communication tools. Email, real-time mess aging, forums, and wikis help developers to find solutions or bounce ideas off each other.Distributed revision control systems. When multiple developers in different geographical locations modify data and files, these systems manage the different versions and updates.Bug trackers and task lists. These features allow large-scale projects to monitor issues and keep track of their fixes.Testing and debugging tools. These features automate testing during system integration and debug other programs. The Bottom Line Open-source software is an alternative to proprietary software. Participating in an OSS project can be a pathway to building a career in software development, allowing programmers to hone their skills by working on the biggest software programs in the world. Facebook, Google, and LinkedIn all release OSS, so developers can share knowledge, innovate solutions, and contribute to stable, functional products.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.