Transparency in software development

From SI410
Revision as of 18:39, 27 March 2020 by Laumccal (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Transparency as a software development practice is disclosing what is happening ‘behind the scenes’ during the creation process of the software. Since the beginning of software development in the 1960's, companies have needed to decide how transparent they will be with their software practices. Three main software policies that companies and developers adopt are: free software, open-source software, and proprietary software. When businesses decide what information they will share about a piece of software and with whom it will be shared, ethical issues arise when this information is too much or not enough.

History

The term 'software engineering,' similar to software development, began to be used in the 1960's[1]. As computing changed and became more digital, the meaning behind software engineering changed as well. Booch comments that the idea of open-source software was created in the 1990's. Other forms of software, like free software and proprietary software that are discussed in the next section, arose based on the growing need for software in an increasingly digital world. This increase in software created the need for policies regarding the disclosure of information about the software.

Transparency in software development means deciding what methods, developers, and decisions that have been made along the way will be available to those who are affected by, or invested in, the software. These people can be referred to as stakeholders. Transparency is necessary for stakeholders who are buying a piece of software so that they understand the product they are buying. If there is too much transparency with a piece of software, then another entity could unfairly use the code, processes, or ideas in another piece of software. The next section will defined three main policies that companies and developers use in regards to the transparency of their software.

Transparency Practices

Free software

Githublogo.png

One transparency policy is free code and software available to anyone on the internet. An example of this is public GitHub repositories. The owner of the repositories usually maintain the ability to approve or deny changes to the code base. The actual code can be seen by anyone. Ethics come up in these scenarios when people are deciding how they will use the code in their own personal or professional projects. They must decide how far they will go; whether they will only use the code as inspiration, or if they will copy and paste the code, with or without the owner’s permission, into their own work.

Open-source software

Another method of keeping a piece of software transparent is by having the code be open-source. This means that one entity gives licenses to developers which involves the entire source code. The code can be modified by all of developers under the license [2]. Even if customers do not modify the code, they can see exactly how the piece of software was implemented if they wish. This allows them to make informed decisions about how and when to use the software. This also ensures that the developers and copyright owners are held accountable to any unintended actions performed by the code.

Proprietary software

Companies that decide to keep their software proprietary limit the transparency of the underlying code. The intellectual property of proprietary software belongs solely to the owner, which usually means a copyright to the code base[3]. This policy limits the ability for others to steal or reuse the code or methods used in the software. However, this also makes it more difficult for stakeholders to understand why the software works the way it does. Stakeholders may wonder how the embedded algorithms make decisions and if there is any bias present.

Ethical issues

The ethical issues related to transparency in software development are similar to the ethical issues of ‘information transparency” discussed by Mateo Turilli and Luciano Floridi. They state that information providers are tasked with both evaluating “the potential ethical or unethical use of disclosed information” and “not only abiding by the legal requirements, but also effectively practicing the ethical principles to which they are allegedly committed” [4]. These statements can be directly applied to transparency in software development. Companies and developers are faced with decisions about how their applications and the underlying code will be used and what actions they will take if the use is unethical. They must decide how much information they will give to stakeholders. The second aspect Turilli and Floridi reflect on points out that the companies and developers can show how much they are, or are not, abiding to legal and ethical requirements related to the business. The next section will show an example of a company who was not transparent with software so that they could hide ethical violations.

Volkswagen diesel engine emissions violation

In 2015, Volkswagen was found guilty of having a piece of software in diesel engines that could detect when the car was in a test lab and when it was on the road, and the software had the engine emit a smaller amount of carbon dioxide while in the lab, and 40 times more emissions while on the road [5]. As of 2017, Volkswagen had lost 30 billion dollars because of this event [6]. In this instance, software transparency was necessary so that the entities regulating vehicle emissions could ensure that Volkswagen complied with the set standards. Volkswagen crossed ethical boundaries so that their vehicles could have better performance. As a result of this event, new EU law “obliges vehicle manufacturers to disclose software protocols” to comply with vehicle regulation [7]. This will allow all car companies to compete in the market fairly.

References

  1. Booch, Grady (2018). "The History of Software Engineering." IEEE Software. 35(5): 108-114. doi:10.1109/MS.2018.3571234.
  2. Wikipedia contributors (2020, March 4). Open-source software. Wikipedia, The Free Encyclopedia. Retrieved March 13, 2020
  3. Wikipedia contributors. (2020, March 11). Proprietary software. Wikipedia, The Free Encyclopedia. Retrieved March 13, 2020.
  4. Turilli, Matteo, and Luciano Floridi (2009). "The Ethics of Information Transparency." Ethics and Information Technology. 11(2): 106. doi:10.1007/s10676-009-9187-9.
  5. Hotten, Russel (December 10, 2015). “Volkswagen: The scandal explained”. BBC News. Retrieved March 13, 2020.
  6. Riley, Charles (September 29, 2017). “Volkswagen's diesel scandal costs hit $30 billion”. CNNMoney (London). Retrieved March 13, 2020.
  7. Stearns, Jonathan (April 19, 2018). “EU strengthens regulatory power over automakers after VW scandal”. Automotive News Europe. Retrieved March 13, 2020.