{"id":20,"date":"2018-07-12T10:56:56","date_gmt":"2018-07-12T10:56:56","guid":{"rendered":"http:\/\/itp7.epgpbooks.inflibnet.ac.in\/?post_type=chapter&#038;p=20"},"modified":"2022-01-06T11:13:11","modified_gmt":"2022-01-06T11:13:11","slug":"introduction-to-open-source-fsf-history-and-philosophy","status":"publish","type":"chapter","link":"https:\/\/ebooks.inflibnet.ac.in\/itp7\/chapter\/introduction-to-open-source-fsf-history-and-philosophy\/","title":{"rendered":"Introduction to Open Source, FSF, History and Philosophy"},"content":{"raw":"<div><span style=\"float: right;\"><a href=\"https:\/\/youtu.be\/2RmxN0B48Aw\" target=\"_blank\" rel=\"noopener noreferrer\"><img src=\"http:\/\/epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/2018\/11\/download.png\" alt=\"epgp books\" width=\"75px\" height=\"75px;\" \/><\/a>\r\n<\/span><\/div>\r\n<strong>Introduction to Open Source, FSF, History and Philosop<\/strong>\r\n\r\n&nbsp;\r\n\r\n<strong>Introduction<\/strong>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify;\">In this module, we will get an overview of Open Source software. The role of open source has been appreciated since it has lowered the costs of software and made programming tasks easier. As we are aware, programmers write programs that are intended to execute on some other system. Usually, programmers never give the program code to get executed, they hand over the executable files \/ binary files pertaining to certain application for the purpose of execution. Now, if the end user wants to modify the code, he is not able to do so since the program was created by\u00a0<span style=\"text-align: initial; font-size: 1em;\">the programmer who has the code. Usually, in organizations, the source code (programs) are not released and it creates vendor lock-in. The end user is bound to approach to the programmer every time he wants the programs to be modified. He cannot approach any other programmer since the source code is with the first programmer who created the software.<\/span><\/p>\r\n<p style=\"text-align: justify;\"><span style=\"text-align: initial; font-size: 1em;\">Programmers or Developers write source code. Source code is a collection of computer instructions that will perform certain task. These instructions are written in computer language which is human-readable. Usually, the programs are text files. Figure 1 illustrates a sample program that is written in C language.<\/span><\/p>\r\n&nbsp;\r\n<p style=\"text-align: center;\"><img class=\"alignnone wp-image-21\" src=\"http:\/\/itp7.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/30\/2018\/07\/A1.jpg\" alt=\"\" width=\"729\" height=\"168\" \/><\/p>\r\n<p style=\"text-align: center;\"><strong>Figure 1: Program code of C Language<\/strong><\/p>\r\n&nbsp;\r\n<p style=\"text-align: justify;\">The program demonstrated in figure 1 is an example of source code. Usually, the source code do not execute directly on computing system, they need compilers to get the code compiled. Once the code is compiled, it generates the object code. The object code can be linked and executed by the system. The source code and object code are like \u201cbefore\u201d and \u201cafter\u201d relationship. The source code is compiled to generate object code. Object code cannot be read by people since it is sequence of bytes. Compiler is a piece of software that is responsible to convert the source code into object code.<\/p>\r\n&nbsp;\r\n\r\n<img class=\"wp-image-22 aligncenter\" src=\"http:\/\/itp7.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/30\/2018\/07\/A2.jpg\" alt=\"\" width=\"665\" height=\"225\" \/>\r\n<div>\r\n<p style=\"text-align: center;\"><strong>Figure 2: Process of Compilation<\/strong><\/p>\r\n&nbsp;\r\n<p style=\"text-align: justify;\">The source code consists of programming language statements that are created by a programmer. Programmers write programs in programming languages like C, C++, Java etc. These\u00a0<span style=\"text-align: initial; font-size: 1em;\">programming languages provide compilers, the compilers convert programs (source code) into object code, later these object code can be executed by the system.<\/span><\/p>\r\n&nbsp;\r\n<p style=\"text-align: justify;\"><span style=\"text-align: initial; font-size: 1em;\">There is another class of languages which do not require a program to be compiled. These languages are called scripting languages. Languages like HTML, Java Script, Shell script, etc. are executed directly by the interpreter. Such programs never get compiled. The interpreter is a piece of software which executes the scripts line by line without converting it into object code.<\/span><\/p>\r\n&nbsp;\r\n\r\n<\/div>\r\n<p style=\"text-align: center;\"><img class=\"alignnone wp-image-23\" src=\"http:\/\/itp7.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/30\/2018\/07\/A3.jpg\" alt=\"\" width=\"622\" height=\"233\" \/><\/p>\r\n<p style=\"text-align: center;\"><strong>Figure 3: Process of Interpretation<\/strong><\/p>\r\n&nbsp;\r\n<p style=\"text-align: justify;\">A compiled program depends on additional libraries while the scripts are usually set of commands that execute. If a program has a single error, the compiler do not generate object code. A program needs to be re-compiled till the error is solved. Whereas, the interpreters can execute the code line-by-line till them come across the error.<\/p>\r\n&nbsp;\r\n<p style=\"text-align: center;\"><img class=\"alignnone wp-image-24\" src=\"http:\/\/itp7.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/30\/2018\/07\/A4.jpg\" alt=\"\" width=\"428\" height=\"198\" \/><\/p>\r\n<p style=\"text-align: center;\"><strong>Figure 4: Compilation and Interpretation<\/strong><\/p>\r\n&nbsp;\r\n<p style=\"text-align: justify;\">Figure 2 illustrates the process of compilation and execution and interpretation. It must be observed that although the processes are different, the input is always the source code. It must be noted that in both the cases the source code is different.<\/p>\r\n&nbsp;\r\n\r\n<strong>Open Source Software<\/strong>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify;\">Usually, the programmers never give source code to the end users, rather they give the executable file that can run on systems. Source code means the program(s) created by the programmer. This is how, a programmer uses vendor lock-in. Now, whenever the program needs to be modified , the user has to approach programmer every time for modifications. Ultimately, end users must rely on programmers for each and every modification done after providing the software. This is where, open source can come into rescue.<\/p>\r\n&nbsp;\r\n<p style=\"text-align: justify;\">When we say open source, generally it is meant that along with the executable program, the programmer also delivers source code to the end user. So, if the end user gets the source code, he is relatively free to get the program modified by others if required in future.<\/p>\r\n&nbsp;\r\n<p style=\"text-align: justify;\">There are two organizations that have provided definition of open source software and free software. The definition of open source is given by Open Source Initiative (OSI). According to the definition, a software is said to be open source if it meets the criteria laid down by OSI. Similarly, there is an another organization which defines free software. If the distribution of source code comply to their norms then the source code is said to be free software. The name of this organization is Free Software Foundation (FSF).<\/p>\r\n&nbsp;\r\n\r\nThere are few terms like FOSS or FLOSS that are related to open source software. The terms are mentioned as below:\r\n<ul>\r\n \t<li>FOSS (F\/OSS) : Free &amp; Open Source Software<\/li>\r\n \t<li>FLOSS : Free\/Libre Open Source Software<\/li>\r\n<\/ul>\r\n<p style=\"text-align: justify;\">There are few misleading terms like shareware, trialware, etc. These terms must not be confused with open source. The opensource software are always free to use, while sharewars or trialwares are such kind of software that may executed with restricted facilities or might execute for a specific time period and later will ask the user to make payment to further extend the usage of software. So, open source is not related to shareware or trialware. The object of producing shareware or trialware is quite different and it must not be confused with open source software or free software.<\/p>\r\n&nbsp;\r\n\r\n<strong>Free Software<\/strong>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify;\">Let us first study the criteria under which software can be termed as free software. Here, the word free means \u201cMukta\u201d (Freedom). The term free software was coined by \u201cRichard Stallman\u201d who founded the Free Software Foundation and was the main person to advocate for free software.<\/p>\r\n&nbsp;\r\n<p style=\"text-align: center;\"><img class=\"alignnone wp-image-25\" src=\"http:\/\/itp7.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/30\/2018\/07\/A5.jpg\" alt=\"\" width=\"715\" height=\"493\" \/><\/p>\r\n\r\n<div>\r\n<p style=\"text-align: justify;\">In earlier days, there were many restrictions for the end users to run the program. For instance, a program purchased by Father could not ask his Son to run the program due to violation in copyright act. However, now, we can distribute the program by checking the license and if the license agrees, we can distributed the program.<\/p>\r\n&nbsp;\r\n\r\n<strong>Proprietary \/ Commercial Software<\/strong>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify;\">Proprietary software is a software that is developed or maintained by someone or by some company. Commercial software means the software that is to be sold to earn revenues. In most of the cases, the proprietary or commercial software are not released as open source software.<\/p>\r\n\r\n<\/div>\r\n<strong>Open Source according to OSI<\/strong>\r\n\r\n&nbsp;\r\n\r\nNow let use see the definition of open source initiative. If an open source project adheres to the following definition, it is called as an open source software.\r\n\r\n&nbsp;\r\n\r\n<img class=\"alignnone wp-image-26 aligncenter\" src=\"http:\/\/itp7.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/30\/2018\/07\/A6.jpg\" alt=\"\" width=\"613\" height=\"364\" \/>\r\n<p style=\"text-align: center;\"><strong>Figure 5: Conditions for Open Source Software<\/strong><\/p>\r\n\r\n<div>\r\n\r\n&nbsp;\r\n\r\nLet us try to understand each rule:\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify;\">1.\u00a0 Free Distribution: The source code must be distributed free of cost<\/p>\r\n<p style=\"text-align: justify;\">2. Source Code: The entire source code must be always provided<\/p>\r\n<p style=\"text-align: justify;\">3. Derived Works: Other users are free to modify the source code and customize for their own use.<\/p>\r\n<p style=\"text-align: justify;\">4. Integrity to Author\u2019s Source Code: The license may restrict the source code being delivered in modified form; some time the author;s code must not be modified ; in case if the software gets modified, it must be given some another name<\/p>\r\n<p style=\"text-align: justify;\">5. No discrimination against persons or groups \u2013 The distribution of software must not be reserved for a particular group, but it must be available for all citizens.<\/p>\r\n<p style=\"text-align: justify;\">6.No discrimination against fields of endeavor \u2013 Programs must not be restricted to particular area, it must be made available to anyone for any purpose<\/p>\r\n<p style=\"text-align: justify;\"><span style=\"font-size: 1em;\">7.Distribution of License - The rights attached to the program must apply to all to whom the program is redistributed without the need for execution of an additional license by those parties.<\/span><\/p>\r\n<p style=\"text-align: justify;\"><span style=\"font-size: 1em;\">8.License Must Not Be Specific to a Product \u2013 The license must be generic and must not be designed for a specific product<\/span><\/p>\r\n<p style=\"text-align: justify;\"><span style=\"font-size: 1em;\">9.License Must Not Restrict Other Software \u2013 Any other software being released or used must not be restricted<\/span><\/p>\r\n<p style=\"text-align: justify;\">10.License Must Be Technology-Neutral \u2013 Licenses must not be specific to a particular technology.<\/p>\r\n\r\n<\/div>\r\n<p style=\"text-align: justify;\">Note: In the next module, we will study various licenses for open source software. With the help of which, there will be more clarity in the above mentioned rules.<\/p>\r\n&nbsp;\r\n\r\n<strong>Example of Open Source Software<\/strong>\r\n\r\n&nbsp;\r\n\r\nFollowing is a brief list of software that are open source, we have also added proprietary software to make comparison:\r\n\r\n&nbsp;\r\n\r\n<strong>Proprietary \/ Commercial Software<\/strong>\r\n<ul>\r\n \t<li>Microsoft Windows<\/li>\r\n \t<li>Microsoft Office<\/li>\r\n \t<li>Adobe Professional<\/li>\r\n<\/ul>\r\n<strong>\u00a0 \u00a0Free \/ Open Source Software<\/strong>\r\n<ul>\r\n \t<li>VLC Media Player<\/li>\r\n \t<li>Libre Office<\/li>\r\n \t<li>GIMP<\/li>\r\n \t<li>Synfig<\/li>\r\n \t<li>Audacity<\/li>\r\n \t<li>Apache Web Server<\/li>\r\n \t<li>Linux<\/li>\r\n<\/ul>\r\n<strong>\u00a0 Revenue Generation with Open Source<\/strong>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify;\">There are two main ways to generate revenue for the organizations producing open source software. The revenue can be generated by providing support where it means that the software will be free but there will be charges for maintenance. Another way is to provide customization services on charged basis. The user requirements must be customized to modify open source software.<\/p>\r\n&nbsp;\r\n\r\n<strong>Open Source and Current Scenario:<\/strong>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify;\">The open source software has reached almost every home in some way or other. GNU\/Linux is an example of open source software. Few other software like VLC media player, apache Web Server, LibreOffice are being used at homes and offices. Since the investment cost is almost zero to acquire open source software, the usage of open source software is increasing day by day.<\/p>\r\n<p style=\"text-align: justify;\">Open Source software have entered in the school curriculum. Certain Govt. offices are encouraging the usage of open source software. The corporate sector has also started migrating their infrastructure on open source software. Most of the servers run open source software<\/p>\r\n&nbsp;\r\n\r\nLet us Summarize what we have learnt in this module:\r\n<ul>\r\n \t<li>Understood the meaning of source code<\/li>\r\n \t<li>Defined Free software term (given by FSF)<\/li>\r\n \t<li>Defined the term Open Source Software<\/li>\r\n<\/ul>\r\n<table>\r\n<tbody>\r\n<tr>\r\n<td><strong>you can view video on Introduction to Open Source, FSF, History and Philosophy<\/strong><\/td>\r\n<td><a href=\"https:\/\/youtu.be\/2RmxN0B48Aw\" target=\"_blank\" rel=\"noopener noreferrer\"><img class=\"alignnone wp-image-120\" src=\"http:\/\/epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/2018\/11\/download.png\" alt=\"\" width=\"36\" height=\"36\" \/><\/a><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\nReferences:\r\n<ol>\r\n \t<li style=\"text-align: justify;\">Glyn. Moody. 2009. <em>Rebel code\u202f: linux and the open source revolution<\/em>, Basic Books.<\/li>\r\n \t<li style=\"text-align: justify;\">Rod. Dixon. 2004. <em>Open source software law<\/em>, Artech House.<\/li>\r\n \t<li style=\"text-align: justify;\">Paul Kavanagh. <em>Open source software\u202f:<\/em> <em>implementation and management<\/em>,<\/li>\r\n \t<li style=\"text-align: justify;\">Stefan. Koch. 2005. <em>Free\/open source software development<\/em>, Idea Group Pub.<\/li>\r\n \t<li style=\"text-align: justify;\">Karl. Fogel. 2005. <em>Producing open source software\u202f: how to run a successful free<\/em> <em>software project<\/em>, O\u2019Reilly.<\/li>\r\n \t<li style=\"text-align: justify;\">Joseph Feller. 2005. <em>Perspectives on free and open source software<\/em>, MIT Press.<\/li>\r\n \t<li style=\"text-align: justify;\">Chris. DiBona, Mark. Stone, and Danese. Cooper. 2005. <em>Open Sources 2.0\u202f: the<\/em> <em>continuing evolution<\/em>, O\u2019Reilly.<\/li>\r\n \t<li style=\"text-align: justify;\">Chris. DiBona and Sam. Ockman. 2008. <em>Open Sources\u202f: Voices from the Open Source<\/em><em style=\"text-align: initial; font-size: 1em;\">Revolution.<\/em><span style=\"text-align: initial; font-size: 1em;\">, O\u2019Reilly Media, Inc.<\/span><\/li>\r\n \t<li style=\"text-align: justify;\">Eric S. Raymond. 2001. <em>The cathedral and the bazaar\u202f: musings on Linux and open<\/em> <em>source by an accidental revolutionary<\/em>, O\u2019Reilly.<\/li>\r\n \t<li style=\"text-align: justify;\">Dan Woods, Gautam Guliani, TotalBoox, and TBX. 2005. <em>Open Source for the<\/em> <em>Enterprise.<\/em>, O\u2019Reilly Media.<\/li>\r\n \t<li style=\"text-align: justify;\">Michael R. Overly and Inc. Pike and Fischer. 2003. <em>The open source handbook<\/em>, Pike &amp; Fischer.<\/li>\r\n \t<li style=\"text-align: justify;\">Rod. Dixon. 2004. <em>Open source software law<\/em>, Artech House.<\/li>\r\n \t<li style=\"text-align: justify;\">Kirk St. Amant and Brian Still. 2007. <em>Handbook of research on open source<\/em> <em>software\u202f: technological, economic, and social perspectives<\/em>, Information Science Reference.<\/li>\r\n \t<li style=\"text-align: justify;\">Axel Metzger. <em>Free and open source software (FOSS) and other alternative license<\/em> <em>models\u202f: a comparative analysis<\/em>,<\/li>\r\n \t<li style=\"text-align: justify;\">Andrew M. St. Laurent. 2004. <em>Understanding open source and free software<\/em> <em>licensing<\/em>, O\u2019Reilly.<\/li>\r\n<\/ol>","rendered":"<div><span style=\"float: right;\"><a href=\"https:\/\/youtu.be\/2RmxN0B48Aw\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"http:\/\/epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/2018\/11\/download.png\" alt=\"epgp books\" width=\"75px\" height=\"75px;\" \/><\/a><br \/>\n<\/span><\/div>\n<p><strong>Introduction to Open Source, FSF, History and Philosop<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><strong>Introduction<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">In this module, we will get an overview of Open Source software. The role of open source has been appreciated since it has lowered the costs of software and made programming tasks easier. As we are aware, programmers write programs that are intended to execute on some other system. Usually, programmers never give the program code to get executed, they hand over the executable files \/ binary files pertaining to certain application for the purpose of execution. Now, if the end user wants to modify the code, he is not able to do so since the program was created by\u00a0<span style=\"text-align: initial; font-size: 1em;\">the programmer who has the code. Usually, in organizations, the source code (programs) are not released and it creates vendor lock-in. The end user is bound to approach to the programmer every time he wants the programs to be modified. He cannot approach any other programmer since the source code is with the first programmer who created the software.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"text-align: initial; font-size: 1em;\">Programmers or Developers write source code. Source code is a collection of computer instructions that will perform certain task. These instructions are written in computer language which is human-readable. Usually, the programs are text files. Figure 1 illustrates a sample program that is written in C language.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-21\" src=\"http:\/\/itp7.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/30\/2018\/07\/A1.jpg\" alt=\"\" width=\"729\" height=\"168\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-content\/uploads\/sites\/30\/2018\/07\/A1.jpg 1200w, https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-content\/uploads\/sites\/30\/2018\/07\/A1-300x69.jpg 300w, https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-content\/uploads\/sites\/30\/2018\/07\/A1-768x177.jpg 768w, https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-content\/uploads\/sites\/30\/2018\/07\/A1-1024x236.jpg 1024w, https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-content\/uploads\/sites\/30\/2018\/07\/A1-65x15.jpg 65w, https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-content\/uploads\/sites\/30\/2018\/07\/A1-225x52.jpg 225w, https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-content\/uploads\/sites\/30\/2018\/07\/A1-350x81.jpg 350w\" sizes=\"auto, (max-width: 729px) 100vw, 729px\" \/><\/p>\n<p style=\"text-align: center;\"><strong>Figure 1: Program code of C Language<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">The program demonstrated in figure 1 is an example of source code. Usually, the source code do not execute directly on computing system, they need compilers to get the code compiled. Once the code is compiled, it generates the object code. The object code can be linked and executed by the system. The source code and object code are like \u201cbefore\u201d and \u201cafter\u201d relationship. The source code is compiled to generate object code. Object code cannot be read by people since it is sequence of bytes. Compiler is a piece of software that is responsible to convert the source code into object code.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-22 aligncenter\" src=\"http:\/\/itp7.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/30\/2018\/07\/A2.jpg\" alt=\"\" width=\"665\" height=\"225\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-content\/uploads\/sites\/30\/2018\/07\/A2.jpg 992w, https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-content\/uploads\/sites\/30\/2018\/07\/A2-300x102.jpg 300w, https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-content\/uploads\/sites\/30\/2018\/07\/A2-768x260.jpg 768w, https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-content\/uploads\/sites\/30\/2018\/07\/A2-65x22.jpg 65w, https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-content\/uploads\/sites\/30\/2018\/07\/A2-225x76.jpg 225w, https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-content\/uploads\/sites\/30\/2018\/07\/A2-350x119.jpg 350w\" sizes=\"auto, (max-width: 665px) 100vw, 665px\" \/><\/p>\n<div>\n<p style=\"text-align: center;\"><strong>Figure 2: Process of Compilation<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">The source code consists of programming language statements that are created by a programmer. Programmers write programs in programming languages like C, C++, Java etc. These\u00a0<span style=\"text-align: initial; font-size: 1em;\">programming languages provide compilers, the compilers convert programs (source code) into object code, later these object code can be executed by the system.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\"><span style=\"text-align: initial; font-size: 1em;\">There is another class of languages which do not require a program to be compiled. These languages are called scripting languages. Languages like HTML, Java Script, Shell script, etc. are executed directly by the interpreter. Such programs never get compiled. The interpreter is a piece of software which executes the scripts line by line without converting it into object code.<\/span><\/p>\n<p>&nbsp;<\/p>\n<\/div>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-23\" src=\"http:\/\/itp7.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/30\/2018\/07\/A3.jpg\" alt=\"\" width=\"622\" height=\"233\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-content\/uploads\/sites\/30\/2018\/07\/A3.jpg 1052w, https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-content\/uploads\/sites\/30\/2018\/07\/A3-300x112.jpg 300w, https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-content\/uploads\/sites\/30\/2018\/07\/A3-768x288.jpg 768w, https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-content\/uploads\/sites\/30\/2018\/07\/A3-1024x384.jpg 1024w, https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-content\/uploads\/sites\/30\/2018\/07\/A3-65x24.jpg 65w, https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-content\/uploads\/sites\/30\/2018\/07\/A3-225x84.jpg 225w, https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-content\/uploads\/sites\/30\/2018\/07\/A3-350x131.jpg 350w\" sizes=\"auto, (max-width: 622px) 100vw, 622px\" \/><\/p>\n<p style=\"text-align: center;\"><strong>Figure 3: Process of Interpretation<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">A compiled program depends on additional libraries while the scripts are usually set of commands that execute. If a program has a single error, the compiler do not generate object code. A program needs to be re-compiled till the error is solved. Whereas, the interpreters can execute the code line-by-line till them come across the error.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-24\" src=\"http:\/\/itp7.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/30\/2018\/07\/A4.jpg\" alt=\"\" width=\"428\" height=\"198\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-content\/uploads\/sites\/30\/2018\/07\/A4.jpg 691w, https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-content\/uploads\/sites\/30\/2018\/07\/A4-300x139.jpg 300w, https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-content\/uploads\/sites\/30\/2018\/07\/A4-65x30.jpg 65w, https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-content\/uploads\/sites\/30\/2018\/07\/A4-225x104.jpg 225w, https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-content\/uploads\/sites\/30\/2018\/07\/A4-350x162.jpg 350w\" sizes=\"auto, (max-width: 428px) 100vw, 428px\" \/><\/p>\n<p style=\"text-align: center;\"><strong>Figure 4: Compilation and Interpretation<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">Figure 2 illustrates the process of compilation and execution and interpretation. It must be observed that although the processes are different, the input is always the source code. It must be noted that in both the cases the source code is different.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Open Source Software<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">Usually, the programmers never give source code to the end users, rather they give the executable file that can run on systems. Source code means the program(s) created by the programmer. This is how, a programmer uses vendor lock-in. Now, whenever the program needs to be modified , the user has to approach programmer every time for modifications. Ultimately, end users must rely on programmers for each and every modification done after providing the software. This is where, open source can come into rescue.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">When we say open source, generally it is meant that along with the executable program, the programmer also delivers source code to the end user. So, if the end user gets the source code, he is relatively free to get the program modified by others if required in future.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">There are two organizations that have provided definition of open source software and free software. The definition of open source is given by Open Source Initiative (OSI). According to the definition, a software is said to be open source if it meets the criteria laid down by OSI. Similarly, there is an another organization which defines free software. If the distribution of source code comply to their norms then the source code is said to be free software. The name of this organization is Free Software Foundation (FSF).<\/p>\n<p>&nbsp;<\/p>\n<p>There are few terms like FOSS or FLOSS that are related to open source software. The terms are mentioned as below:<\/p>\n<ul>\n<li>FOSS (F\/OSS) : Free &amp; Open Source Software<\/li>\n<li>FLOSS : Free\/Libre Open Source Software<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">There are few misleading terms like shareware, trialware, etc. These terms must not be confused with open source. The opensource software are always free to use, while sharewars or trialwares are such kind of software that may executed with restricted facilities or might execute for a specific time period and later will ask the user to make payment to further extend the usage of software. So, open source is not related to shareware or trialware. The object of producing shareware or trialware is quite different and it must not be confused with open source software or free software.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Free Software<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">Let us first study the criteria under which software can be termed as free software. Here, the word free means \u201cMukta\u201d (Freedom). The term free software was coined by \u201cRichard Stallman\u201d who founded the Free Software Foundation and was the main person to advocate for free software.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-25\" src=\"http:\/\/itp7.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/30\/2018\/07\/A5.jpg\" alt=\"\" width=\"715\" height=\"493\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-content\/uploads\/sites\/30\/2018\/07\/A5.jpg 1413w, https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-content\/uploads\/sites\/30\/2018\/07\/A5-300x207.jpg 300w, https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-content\/uploads\/sites\/30\/2018\/07\/A5-768x530.jpg 768w, https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-content\/uploads\/sites\/30\/2018\/07\/A5-1024x707.jpg 1024w, https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-content\/uploads\/sites\/30\/2018\/07\/A5-65x45.jpg 65w, https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-content\/uploads\/sites\/30\/2018\/07\/A5-225x155.jpg 225w, https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-content\/uploads\/sites\/30\/2018\/07\/A5-350x242.jpg 350w\" sizes=\"auto, (max-width: 715px) 100vw, 715px\" \/><\/p>\n<div>\n<p style=\"text-align: justify;\">In earlier days, there were many restrictions for the end users to run the program. For instance, a program purchased by Father could not ask his Son to run the program due to violation in copyright act. However, now, we can distribute the program by checking the license and if the license agrees, we can distributed the program.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Proprietary \/ Commercial Software<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">Proprietary software is a software that is developed or maintained by someone or by some company. Commercial software means the software that is to be sold to earn revenues. In most of the cases, the proprietary or commercial software are not released as open source software.<\/p>\n<\/div>\n<p><strong>Open Source according to OSI<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>Now let use see the definition of open source initiative. If an open source project adheres to the following definition, it is called as an open source software.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-26 aligncenter\" src=\"http:\/\/itp7.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/30\/2018\/07\/A6.jpg\" alt=\"\" width=\"613\" height=\"364\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-content\/uploads\/sites\/30\/2018\/07\/A6.jpg 765w, https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-content\/uploads\/sites\/30\/2018\/07\/A6-300x178.jpg 300w, https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-content\/uploads\/sites\/30\/2018\/07\/A6-65x39.jpg 65w, https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-content\/uploads\/sites\/30\/2018\/07\/A6-225x134.jpg 225w, https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-content\/uploads\/sites\/30\/2018\/07\/A6-350x208.jpg 350w\" sizes=\"auto, (max-width: 613px) 100vw, 613px\" \/><\/p>\n<p style=\"text-align: center;\"><strong>Figure 5: Conditions for Open Source Software<\/strong><\/p>\n<div>\n<p>&nbsp;<\/p>\n<p>Let us try to understand each rule:<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">1.\u00a0 Free Distribution: The source code must be distributed free of cost<\/p>\n<p style=\"text-align: justify;\">2. Source Code: The entire source code must be always provided<\/p>\n<p style=\"text-align: justify;\">3. Derived Works: Other users are free to modify the source code and customize for their own use.<\/p>\n<p style=\"text-align: justify;\">4. Integrity to Author\u2019s Source Code: The license may restrict the source code being delivered in modified form; some time the author;s code must not be modified ; in case if the software gets modified, it must be given some another name<\/p>\n<p style=\"text-align: justify;\">5. No discrimination against persons or groups \u2013 The distribution of software must not be reserved for a particular group, but it must be available for all citizens.<\/p>\n<p style=\"text-align: justify;\">6.No discrimination against fields of endeavor \u2013 Programs must not be restricted to particular area, it must be made available to anyone for any purpose<\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 1em;\">7.Distribution of License &#8211; The rights attached to the program must apply to all to whom the program is redistributed without the need for execution of an additional license by those parties.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 1em;\">8.License Must Not Be Specific to a Product \u2013 The license must be generic and must not be designed for a specific product<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 1em;\">9.License Must Not Restrict Other Software \u2013 Any other software being released or used must not be restricted<\/span><\/p>\n<p style=\"text-align: justify;\">10.License Must Be Technology-Neutral \u2013 Licenses must not be specific to a particular technology.<\/p>\n<\/div>\n<p style=\"text-align: justify;\">Note: In the next module, we will study various licenses for open source software. With the help of which, there will be more clarity in the above mentioned rules.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Example of Open Source Software<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>Following is a brief list of software that are open source, we have also added proprietary software to make comparison:<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Proprietary \/ Commercial Software<\/strong><\/p>\n<ul>\n<li>Microsoft Windows<\/li>\n<li>Microsoft Office<\/li>\n<li>Adobe Professional<\/li>\n<\/ul>\n<p><strong>\u00a0 \u00a0Free \/ Open Source Software<\/strong><\/p>\n<ul>\n<li>VLC Media Player<\/li>\n<li>Libre Office<\/li>\n<li>GIMP<\/li>\n<li>Synfig<\/li>\n<li>Audacity<\/li>\n<li>Apache Web Server<\/li>\n<li>Linux<\/li>\n<\/ul>\n<p><strong>\u00a0 Revenue Generation with Open Source<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">There are two main ways to generate revenue for the organizations producing open source software. The revenue can be generated by providing support where it means that the software will be free but there will be charges for maintenance. Another way is to provide customization services on charged basis. The user requirements must be customized to modify open source software.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Open Source and Current Scenario:<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">The open source software has reached almost every home in some way or other. GNU\/Linux is an example of open source software. Few other software like VLC media player, apache Web Server, LibreOffice are being used at homes and offices. Since the investment cost is almost zero to acquire open source software, the usage of open source software is increasing day by day.<\/p>\n<p style=\"text-align: justify;\">Open Source software have entered in the school curriculum. Certain Govt. offices are encouraging the usage of open source software. The corporate sector has also started migrating their infrastructure on open source software. Most of the servers run open source software<\/p>\n<p>&nbsp;<\/p>\n<p>Let us Summarize what we have learnt in this module:<\/p>\n<ul>\n<li>Understood the meaning of source code<\/li>\n<li>Defined Free software term (given by FSF)<\/li>\n<li>Defined the term Open Source Software<\/li>\n<\/ul>\n<table>\n<tbody>\n<tr>\n<td><strong>you can view video on Introduction to Open Source, FSF, History and Philosophy<\/strong><\/td>\n<td><a href=\"https:\/\/youtu.be\/2RmxN0B48Aw\" target=\"_blank\" rel=\"noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-120\" src=\"http:\/\/epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/2018\/11\/download.png\" alt=\"\" width=\"36\" height=\"36\" \/><\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>References:<\/p>\n<ol>\n<li style=\"text-align: justify;\">Glyn. Moody. 2009. <em>Rebel code\u202f: linux and the open source revolution<\/em>, Basic Books.<\/li>\n<li style=\"text-align: justify;\">Rod. Dixon. 2004. <em>Open source software law<\/em>, Artech House.<\/li>\n<li style=\"text-align: justify;\">Paul Kavanagh. <em>Open source software\u202f:<\/em> <em>implementation and management<\/em>,<\/li>\n<li style=\"text-align: justify;\">Stefan. Koch. 2005. <em>Free\/open source software development<\/em>, Idea Group Pub.<\/li>\n<li style=\"text-align: justify;\">Karl. Fogel. 2005. <em>Producing open source software\u202f: how to run a successful free<\/em> <em>software project<\/em>, O\u2019Reilly.<\/li>\n<li style=\"text-align: justify;\">Joseph Feller. 2005. <em>Perspectives on free and open source software<\/em>, MIT Press.<\/li>\n<li style=\"text-align: justify;\">Chris. DiBona, Mark. Stone, and Danese. Cooper. 2005. <em>Open Sources 2.0\u202f: the<\/em> <em>continuing evolution<\/em>, O\u2019Reilly.<\/li>\n<li style=\"text-align: justify;\">Chris. DiBona and Sam. Ockman. 2008. <em>Open Sources\u202f: Voices from the Open Source<\/em><em style=\"text-align: initial; font-size: 1em;\">Revolution.<\/em><span style=\"text-align: initial; font-size: 1em;\">, O\u2019Reilly Media, Inc.<\/span><\/li>\n<li style=\"text-align: justify;\">Eric S. Raymond. 2001. <em>The cathedral and the bazaar\u202f: musings on Linux and open<\/em> <em>source by an accidental revolutionary<\/em>, O\u2019Reilly.<\/li>\n<li style=\"text-align: justify;\">Dan Woods, Gautam Guliani, TotalBoox, and TBX. 2005. <em>Open Source for the<\/em> <em>Enterprise.<\/em>, O\u2019Reilly Media.<\/li>\n<li style=\"text-align: justify;\">Michael R. Overly and Inc. Pike and Fischer. 2003. <em>The open source handbook<\/em>, Pike &amp; Fischer.<\/li>\n<li style=\"text-align: justify;\">Rod. Dixon. 2004. <em>Open source software law<\/em>, Artech House.<\/li>\n<li style=\"text-align: justify;\">Kirk St. Amant and Brian Still. 2007. <em>Handbook of research on open source<\/em> <em>software\u202f: technological, economic, and social perspectives<\/em>, Information Science Reference.<\/li>\n<li style=\"text-align: justify;\">Axel Metzger. <em>Free and open source software (FOSS) and other alternative license<\/em> <em>models\u202f: a comparative analysis<\/em>,<\/li>\n<li style=\"text-align: justify;\">Andrew M. St. Laurent. 2004. <em>Understanding open source and free software<\/em> <em>licensing<\/em>, O\u2019Reilly.<\/li>\n<\/ol>\n","protected":false},"author":4,"menu_order":1,"template":"","meta":{"pb_show_title":"on","pb_short_title":"","pb_subtitle":"","pb_authors":["mr-hardik-joshi"],"pb_section_license":""},"chapter-type":[],"contributor":[58],"license":[],"class_list":["post-20","chapter","type-chapter","status-publish","hentry","contributor-mr-hardik-joshi"],"part":3,"_links":{"self":[{"href":"https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-json\/pressbooks\/v2\/chapters\/20","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-json\/pressbooks\/v2\/chapters"}],"about":[{"href":"https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-json\/wp\/v2\/types\/chapter"}],"author":[{"embeddable":true,"href":"https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-json\/wp\/v2\/users\/4"}],"version-history":[{"count":6,"href":"https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-json\/pressbooks\/v2\/chapters\/20\/revisions"}],"predecessor-version":[{"id":732,"href":"https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-json\/pressbooks\/v2\/chapters\/20\/revisions\/732"}],"part":[{"href":"https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-json\/pressbooks\/v2\/parts\/3"}],"metadata":[{"href":"https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-json\/pressbooks\/v2\/chapters\/20\/metadata\/"}],"wp:attachment":[{"href":"https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-json\/wp\/v2\/media?parent=20"}],"wp:term":[{"taxonomy":"chapter-type","embeddable":true,"href":"https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-json\/pressbooks\/v2\/chapter-type?post=20"},{"taxonomy":"contributor","embeddable":true,"href":"https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-json\/wp\/v2\/contributor?post=20"},{"taxonomy":"license","embeddable":true,"href":"https:\/\/ebooks.inflibnet.ac.in\/itp7\/wp-json\/wp\/v2\/license?post=20"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}