Module 4: How “Open” is Open Source Software: The Do’s and Don’t of using Open Source Software
Getting Started
Module 4 focuses on giving a brief explanation of what the practice of Open Source Software, OSS, is for public use. For this module, you will not need to download an OSS, instead it focuses on the student exploring what an OSS is, their ethics in personal and professional use, and also understanding the OSS communities that are available to the public use.
Before starting the module, you will do a pre-assessment exercise that will test your general knowledge of OSS before studying the material in this module. After the pre-assessment, we will read the material in this module, and take a final exercise to assess your understanding of the public use of OSS.
Pre-Module Assessment
In this pre-assessment exercise you will write a brief proposal about your personal opinion of the use of social media to promote the Engineering Technology department. To write this paragraph, keep the following in mind:
which social media app would be good to use for the department and why? Mention at least two social media.
research the Terms of Use of the social media that you recommended and mention the pros and cons of its use.
based on your own experience in using social media, mention how the recommended social media/s would benefit the department for public use.
Introduction
We cannot deny that the internet is one of the most innovative inventions of our time. We use the internet for something as simple as looking for the recipe to make an apple pie, or just to distract ourselves in a social media. However, in the academic and professional field, the internet also plays an important role in our society. Not only it helps us to obtain and collect general information, but also to search and use free digital components. One of these components is what we called Open Source Software, OSS.
In this module, firstly we will learn what OSS are, and how the idea of sharing open source content originated. Then we will examine and identify the practice and use of OSS. After it, we are going to present the professional and academic ethics that the public has to take into account when using OSS. Finally, we will present the ethical problems in the practice of OSS linked to human values and economic and technical options that these same OSS offer.
A Brief Look to OSS
Before we start exploring the con’s and pro’s about using OSS, let's review how the movement of sharing free software emerged. From there we can say that most software development arises in the fields of research at a university. Researching for a new or to improve existing technology is also an essential part of university education, as well as sharing ideas or research results with colleagues, other universities, or industry. Consequently, we can see that many technology companies offer funds to universities’ research projects. We can find in history of open software projects developed between industry and academia, and one of those successful projects is the development and distribution of Linux as an open source operating system.
Linux is a freely distributable version of Unix, originally developed by Linus Torvalds, who began work on Linux in 1991 as a student at the University of Helsinki in Finland. Linus now works for Transmeta Corporation, a start-up in Santa Clara, California, and continues to maintain the Linux KERNEL, that is, the lowest-level core component of the operating system.
Linus released the initial version of Linux for free on the Internet, inadvertently spawning one of the largest software-development phenomena of all time. Today, Linux is authored and maintained by a group of several thousand (if not more) developers loosely collaborating across the Internet.
(A brief history of Linux, 2020).
Not only Linux was a great success history of the OSS community, but the idea of sharing open sources has grown over time along with technological and telecommunication advances as well as social demands. One of those social demands is the use of smartphones. Just as the demand for better smartphones grows, so too does the growth of developing software to create smartphone apps. This is how Android Studio takes place. The open source project Android Studio was created as a free alternative for the public to create Android apps. Android Studio is the official IDE, Integrated Development Environment, for Android app development, based on IntelliJ IDEA. Android Studio is part of the Android Open Source Project and accepts contributions. You can find those contributions at Android.com.
Android is an open source operating system for mobile devices and a corresponding open source project led by Google. On the Android Studio and Android Open Source Project repository offers source code information necessary to create different applications for Android platform. As an open source project, Android's goal is to avoid any central point of failure in which one industry player can restrict or control the innovations of any other player. To that end, Android is a full, production-quality operating system for consumer products, complete with customizable source code that can be ported to nearly any device and public documentation that is available to everyone (Android Source, 2020)
Another important open source project, which is the a popular open source programming language, Python. Python is developed under an OSI-approved open source license, making it freely usable and distributable, even for commercial use. Python's license is administered by the Python Software Foundation.(Python.org, 2020)
Python was created in 1991 by Dutch programmer Guido Van Rossum. It is an interpreted language. This means that it has an interpreter to execute the programmer directly, as opposed to depending more complicated machine languages. He has also made the language open source, which means that anyone can contribute to it, and he hopes that it will become as powerful as competing languages.
Python became popular for the simplicity of its syntax and how fast its compiling process is. It offers concise and readable code by humans, which makes it easier to build models for machine learning. Not surprisingly, given its accessible and versatile nature, Python is among the top five most popular languages in the world.
Python is used by Wikipedia, Google (where Van Rossum used to work), Yahoo!, CERN and NASA, among many other organizations. It is often used as a “scripting language” for web applications. This means that it can automate specific series of tasks, making it more efficient. Consequently, Python (and languages like it) is often used in software applications, pages within a web browser, the shells of operating systems and some games. Like other coding languages, Python is one of the unseen elements that we benefit from without knowing it.
YouTube, Instagram and Quora are among the countless sites that use Python. Much of Dropbox’s code is Python (where Van Rossum works now), Python has been used extensively by digital special effects house ILM (whose work spans across all of the Star Wars and Marvel films) and it’s a favorite of electronics titan Philips. (Code Institute, 2020) .
REFERENCES
A brief history of Linux. (2020). Retrieved from O-Reilly:
www.oreilly.com
Android Source. (2020). Retrieved from About the Android Open Source Project: source.android.com
Code Institute. (2020). Retrieved from Python. What is it used for?: codeinstitute.net
Ethical Issues in Open Source Software. (2003). Information, communication, and ethics in society, 193-205.
Python.org. (2020). Retrieved from Python: www.python.org
What the Public Should Know Before Using OSS
One of the things you have to take into account when using OSS is the software compatibility with its new version. The OSS community does not contact users of their software when an updated version of the software is released. Normally, the information of the update is published on the website of the OSS organization. So, if you are using some of the OSS, you have to be aware of news relative to the OSS, and also check the organization website or blog to be informed about the OSS that you are using. Moreover, when there is an OSS update, always read carefully which part of the OSS was updated. Some OSS update the entire code library or tools and if you don't have much experience in software update, suddenly you have to read and research more about it in order to understand how to update the new version of the software.
Another drawback of OSS is that some codes are not compatible from one version to another. That sometimes happens when the OSS algorithm and build-in libraries are mostly restructured from their previous version. From there, you have to find an alternative to manipulate or adjust the previous code to make it compatible with the current version. This does not require a lot of work if you have few codes written in the previous version, but if you have a large project, then it would take a longer time to update the complete code of the project.
Also keep in mind that the OSS does not have a group of online customer services to help users with any questions or problems have about the OSS. Most of the OSS has help by email but mainly through the open source community, forum, or blog. In other words, if you plan to speak to a representative to ask a question about a part of the OSS that doesn't work in your code or computer, chances are you will find help through the OSS community by communicating back and forth through emails or chats.
Public Use of OSS
When developers freely share their codes, they hope that their codes are for a good use. But developers are also aware that in an open community, there may be unethical developers who may misuse their codes. Therefore, every time we share our codes freely, we have to take into account what part of the code can and cannot be freely shared. Most of the cases the code that developers do not share are the ones used in ongoing research project. Beside it, it is also important to study the open source community before being part of that community. For example, we can read the terms of use of the community and understand how free and safe is to share the code through that community. Now, if you are part of a community, for professional ethics, you should not use the codes in a way that may harm the safety of the public. These sounds like simple or common sense ethics, but we have to be cautious in how we handle or use OSS.
Moreover, using OSS for personal or professional purposes, we have to take into account:
where its use is deployed.
time it takes to complete its implementation for optimal use.
who is in charge of maintaining the code and how often it must be maintained.
the security of the OSS with respect to the flow of information.
the cost of installation, implementation, and training of the staff who will use it.
Description: In this lab exercise, you are going to write a business proposal to the Hong Kong Tourism Board. The board has announced last week at an international press conference their interest to advertise and make the Symphony of Light a known international event. The Symphony of Lights of Hong Kong were inaugurated in 2004 and it continues its presentation to this day. These lights are displayed every night with good weather at 8pm Hong Kong Time. An orchestration of music, decoration lights, laser light displays, and pyrotechnic fireworks, the multimedia light and sound show lasts for around 14 minutes and was conceptualized, created, and installed by LaserVision1. The Hong Kong Tourism Board wants the Symphony of Lights to be an international event as an initiative to boost Hong Kong's tourism economy. One of those funds is to create a smartphone application, which they called the project Lights Up Hong Kong, and they are accepting international proposals to carry out this project.
On the other hand, back in USA, you are recently promoted as a Sales and Project Manager in your company that creates Smartphone Apps, Creative Apps Corp., in New York. This announcement from the Hong Kong Tourism Board is a good opportunity for Creative Apps Corp. to be known internationally for its excellent quality of products and services. Therefore, as a Sales and Project Manager, you decide to write a proposal to offer Creative Apps Corp. services to carry out the Lights Up Hong Kong's project.