Ethical Consideration of Open Source SoftwareDocument Transcript
Larry JenningsACSG 575Essay #2 – Ethical Considerations in Open-Source Software UsageII. IntroductionMuch of this paper is based on the article The Defenders of Free Software” by Ashlee Vance. The articletalks about how many major corporations are using open source software, but, they are not fulfillingtheir end of the open source agreement. Typically Open Source licenses have a stipulations in themsuggesting that if someone, in this case a company, is to use this “free” software in a for profit manner,that the company needs to list their software and show the alterations that were made to it.In this paper I will attempt to look at some of the ethical questions surrounding a company that is usingOpen Source software in its products and see if we can take a look at some of the moral and legal issuesthat doing so has for both the developer and the company itself. Additionally we will look a little bit athow some of the basics of open Source software and perhaps try to identify places where open source isvery much a benefit to an organization, as well as some situations where perhaps open source isprobably not the best choice as a part of a software library.In order to do this analysis, let’s start by looking at exactly what open source software is. According toOpenSourceLegal.com, Open Source software usually refers to a type of software that is open in respectto the fact that third parties are allowed to alter and modify the code then the code is usually repostedso that others can learn from what was done and further the code. Typically this code is free but not100% of the time. However, even though this software is open, it is still under copyright, as opposed toPublic Domain Software.The Main Idea behind Open Source software is that it is a living breathing collaboration of ideas. Personone may create the basic ideas of a program and just put it out there for the world to look at. That mayinspire persons B, C, and D to say to themselves “Hey, this is a great piece of software, I wonder if thecreator thought to try and do it in this manner.” Then Users B, C, and D modify the original code andpost that online for the world to see. Then the next group may come forth and make significant changes.Changes that are good, get kept in future releases, changes that are not so good, might be labeled anadd on that not everyone uses. However what you are seeing is teamwork on a global scale. None ofthese people need to be in the same room, city, state, or even Company. And that’s where we reallybegin looking at this situation.III. StakeholdersLets take a look at exactly who can be impacted by the use of open source software by variouscompanies.Developers of both Open Source and Proprietary Software are impacted because proprietary developersmay want to take a piece of some existing open source code and build something specific to theircompany around it.Various Organizations such as Schools, and Non - Profit organizations that may choose to use or buildsoftware based on open source code.
Communities of other developers that are trying to champion the use of open source code. This couldbe anyone from the Software Freedom… to the developers of PHP, Apache or other open sourcessoftware. These users band together to get their favorite pieces of code included in other projects aswell as to assist each other in solving fundamental coding problems. These are the places that a lot ofthe code development is worked on.The Users of such products because they expect their software to be functional and ready to go as wellas safe, secure and relatively bug free.IV. Utilitarian Analysis:When it really comes down to it, there are really only 3 actions that a company and its developers cantake. They can: 1. Never touch open source software and just use proprietary software 2. Use some open source components and integrate that into their prop software but never repost their altered open source code 3. Use some open source code and integrate that into their prop software and repost the code.A good place to start in looking at these issues would be to answer the question of “Who benefits fromusing open source code in other products?”Let’s look at not using any open source code by anyone. What this would do essentially is lock allsoftware down to only the people that develop any particular code, project, or product. Probably thebiggest drawback of a situation like this is that the knowledge of a particular piece of code and how itworks is not readily available to many groups or to users, it would make that code an increasinglydifficult product to support. This has always been of the biggest knocks against proprietary software isthat you have to call that company for support, they are usually the only ones that can fix it and often,there can be a charge involved as well as time. Not many people appreciate being stuck on the phone orhaving to pay extra for this support.Using some open source code but not linking the modified changes back to the community may seem ata glance to be an okay option, however, there, I believe would be a lot of harm to come out of that. Ifyou think about it, most open Source code is created by average Joes that want to contribute tosomething. So there can be problems with this on several fronts. The first would be that the developerthat originated that little piece of code may not want a large corporation to make a profit off of hiswork. Additionally, there would be the frustration of not knowing what the next guy did to make thenew software so great. If this kept up, I think that there would be a lot less collaboration in software andthat would stifle creativity, outside the box, so to speak.Using the software and giving credit is rewarding for several reasons. First, the company using the codegets what it wants. Good Product, Good Press and depending on the community, good beta testers ofthat code. The developers for that company would certainly save time in not having to recreate thewheel every time. Lastly, I think that the developer that created gets the satisfaction of seeing whatbecame of his labor as well as knowing how perhaps the next guy will look at it. And I think that leadsinto out next topic:
V. Deontological Analysis:One of the largest benefits to people that motivates them to use open source software is certainlymoney. Most of the Open source software that is out there is free and only has a licensing requirementof returning to the community, and, keeping the same licensing as that original piece of code. Evenfurther I know that there is code that is free to try and then you pay if you want to use it in a commercialredistribution. I would believe that even paying for this small amount of code might be cheaper than theman hours that would go into developing it fresh.However, trying to find motives to use open source software are a lot harder when you take the profitout of the equation. Part of this will go back to the prior point of using open source software calls uponone self and (I believe) ones duty to further not only themselves but computing in general and thereforeto some extent progress. The Progress of the company and the users to need to learn programmingconcepts and then from that perhaps apply these concepts to other areas. A program may start out for 1niche but perhaps be more useful in another.What if we were to mandate that all software be open, there would be an upside and a downside of that(and we will show examples of that below, however if all software were to be open, then a lot of peoplethat are smarter then the original programmer would be able to refine code or perhaps implement abetter way of doing things. Software would be free or perhaps cheaper, however there are certain partsof code where , say security, where if your code is lucky enough to have that person work on it that cancreate encryption in such a way no one else can break it.. then great. If you don’t well then you may justbe leaving your code open to vulnerabilities.There is a recent example of this (not open source) with the new Microsoft Kinect. Microsoft createdthis “Hands Free” controller that is used on its gaming console. However, soon after it was released, achallenge was put out for people to create an open source driver to allow it to function on PCs and thenthat has basically opened up the floodgates for development. Microsoft was initially hesitant to respondto this however, they have come forth with a statement saying that this is encouraged. With the newtechnology (no input device computing) that is bound to come forth from this.. it is very exciting.Which makes a terrific example. A company, creates a new device or software program. They lock downparts of it (The internal algorithms, and software running inside the system) but then allow the public atlarge to make changes. Microsoft gets positive exposure for its equipment, users get new things andsoftware to play with, and developers get an opportunity to further humanity down the line as thecoding becomes more advanced.There are many good things that have been known to come out of open source software. A great deal ofthat is the fact that traditionally a lot of open source software is free. This is very beneficial to Schools,Charities, and other organizations that just might not have the capital to go out and purchase 100Windows licensees, or, SAP, or other large proprietary software packages. The open source softwaremeans that while it may not be as good as the Microsoft products of the world, you cannot beat theprice and you still achieve your goal of educating or informing whatever audience you have.In addition, there are certain areas where open source software seems like it would be a natural fit. ForExample, schools teaching computer science. What a better way to introduce someone to programmingthen to have them modify an existing program and then perhaps challenge them to improve up on it.This would build not only programming skills but creativity. Often, Gamers that are also passionate
about programming will create MODS (Modifications) to their favorite game. Some of these MODS haveactually gone on to become full blown software packages with permission of the gamesIf we were to take an opposing view of this however, it would be against the Kantian argument of “Isthis using someone as an ends to a means” and it really is. If the motive behind open source is to benoble and further computing and humanity I thin that we can agree that it’s a worthy endeavor. Onceyou start doing this because it’s just plain cheaper to use free code then design your own I think that itwould become a ethical conflict. However, it is my belief that the furthering of the computing society asa whole to keep a lot of open source in existing programs. There are a few companies however thatperhaps should not be using open source.Looking at this article however, one of the companies that were listed as using open source softwarewas Cisco. Cisco is a maker of a lot of sensitive computer networking equipment. Not sensitive so muchas it contains sensitive data, but, a lot of sensitive data goes through it and it is very often used toprotest sensitive data by restricting access to a computer network.The concern that this raises, is, if Cisco is using open source software to run its firewalls and routers,then exactly how safe is this data? I really see two arguments, the first is that since everyone has accessto the code, they can all collectively debug the code and improve it. The downside could potentially beThat these same people who create the code could also be hiding things in the background to exploitlater, creating their own personal backdoor if you will. While there are certainly chances that othercoders would catch on to this logic, you could eliminate a lot of that by keeping this kind of code(Security devices) as a proprietary thing. Additionally, there could be money to be made to sell that outto third party companies. I think it is perhaps a very risky move depending on the type of software Ciscois using form an Open Source perspective.VI. Conclusion:I think that the use of Open source software in general is a great Idea. I think that it is a great example ofcrowd sourcing and a great example of keeping your users and community involved in your product allwhile allowing people to get their hands dirty in software.I think that there may be some questionable ethical concerns like we outlined in our Deontologicalanalysis where some industries might not be good ideas for open source to have a place. Also, I do notthink that a company using open source as a way to just save money is acting ethically. However, as ourUtilitarian analysis shows, It is a situation that defiantly benefits a lot of people.With that being said, I think that we can establish some ground rules for this type of work.For The Companies: 1. Use code because you can further the code. 2. Share the code you change back with the community. 3. Don’t use the code and charge money for that piece of the code. 4. Use the code because its good code, not because it’s cheap codeFor the Developers: 1. Further the code because you can. 2. Share the code because you can. 3. Don’t add malicious code pieces that that would harm the programFor the Users: 1. Don’t use open source because it’s cheap, use it because it’s good.