Computing Ethics and Software

Computing Ethics on NC State University’s Campus

Some students may find it amusing to hack a lab machine, play pranks on friends, etc. These actions are unauthorized and therefore the individual can be charged with a misdemeanor whether the intended action was a joke or not. Unauthorized access on a university-owned machine is automatically considered a felony despite what the reason may be, or even if the individual does anything on the machine. This is because the law is written for the “state government,” and NC State’s computers qualify as state property.

Software is an easy thing to steal. As a result, computer piracy has become a big problem to the computer software industry. Often, computer piracy is intentional, like buying a program and then selling copies of it to many different people. An example of unintentional computer piracy is when a large organization has thousands of computers, and the employees may violate the legal agreement with their software supplier by accident. Whether you downloaded it, bought it illegally, or it was given to you, using software that has not been legally acquired by you or for you is stealing and illegal. The University has taken a firm stand on the illegal downloading of software in addition to music, movies, and other materials obtained via the Internet. The University will take immediate action when notified of alleged copyright infringements.

Below, you will find a link to the NC State Copyright Infringement website which has detailed information on what is and is not copyright infringement: 

NC State Copyright Infringement Website

Understanding Different Software Licenses

Applications are any program you run on your computer, for example:

  • Microsoft Excel
  • Firefox
  • Notepad++

Programs (applications) are written in code. For example, Firefox.exe is a program that you can run on your computer. The code is available here. Notice that you run the program as Firefox.exe or Firefox.app, which doesn’t match the code structure.

Firefox’s code has changed over time! The original version, 2002, (from link) to 2016 (see link)!

We can see Firefox evolve over the years (although it didn’t take long for them to stop calling it Phoenix).

Source code versus Machine Code

Source code is written by humans, compiled by the computer to produce machine code. After compiling, you now have an executable file that runs (or executes) – usually a .exe (Windows) or .app (Mac) file. Companies and people sell these executable files under different licenses and rules.

Traditional Proprietary Software

Microsoft Word is proprietary software, controlled by the company that owns the source code. Microsoft sells Word.exe and grants permission to run it. Customers pay for the right to use the software, but cannot modify it (or, usually, even see the source code).

Proprietary Licenses

Proprietary software licenses restrict how the software can be used, modified, and distributed. These licenses often require the purchase of a license to use the software and typically do not allow for modification or redistribution.

Buyware: Buyware is software that can be purchased for the full software price, and, by opening it, you are the owner of the license. Buyware may not be copied or distributed to other people. In addition, buyware can usually only be used by one individual on one computer at a time. The best example of this type of license is a copy of TurboTax for your computer.

Network License: Most licenses are designed with the idea of one user or one computer in mind. There are special licensing schemes that are agreed upon by the software companies and the network owners for network software. For example, on Eos, we have different types of licenses for some of our different software packages. Some may only be used by a limited number of people at one time. The best example of a Network License would be NC State University’s Copy of Microsoft Office.

Shareware software is distributed with a limited license. This typically means that users have a limited amount of time that they can use the program before being required to purchase the full version of the software. Additionally, shareware programs may have certain features disabled until the full license is purchased.

The concept of shareware developed from the idea that software is expensive, and most users don’t want to invest in an expensive package if they don’t know what they are getting. Shareware allows users to “test drive” the program.

Freeware is computer software that is made available free of charge, but which is copyrighted by its developer, who retains the rights to control its distribution, modify it and sell it in the future. It is typically distributed without its source code, thus preventing modification by its users. 

Freeware typically consists of tools that let users manipulate files, are compression utilities, or certain other packages that everyone needs.

There is a large selection of freeware available for Linux systems, and a complete set of freeware tools by GNU is available on the Eos/Unity system.

Open Source Software

Open source is in contrast to proprietary software. Open source can also be freeware, but just because it’s freeware doesn’t mean the source code is available. At a high level, the two properties that are important are source code availability and right to modify. But there are many different types of licenses! You should always check the license of your software if you’re unsure if you can share it, and always follow University guidelines to do so!

  1. Source Code Availability: The source code is freely available and can be used in profit-making enterprises.
  2. Right to Modify: Users have the legal right to modify and distribute the software and their modifications.

Source Code vs. Executable

Having the executable (.exe) file allows you to run the program but not modify it. To change a program, you need to modify the source code. Source code provides the ability to change and control the program, whereas the machine code executable file only allows execution without modification.

Free and open source software. Freeware is different from open source software. Open source refers to software for which the source code is made freely available and for which there are very minimal restrictions on its use. Open source software is usually also free in a monetary sense, and thus in most cases is the same thing as free software.

Examples:

  • Linux operating system
  • Android operating system
  • Parts of Mac OS X
  • Chrome and Firefox browsers
  • MySQL database system
  • GCC compiler
  • Programming languages like C, C++, Python, Java, and JavaScript

A list of File Transfer Protocol programs is available on Wikipedia. The recommendation in E 115 is to use FileZilla, WinSCP, or CyberDuck – these are all considered (as of July 2024) free and open-source. Note that licenses for software can change over time!

Shareware Example

Reference: https://archive.org/details/cdrom-ultimate-shareware-games-1/
This CD let you try out ShareWare for 30 days to play games like Doom before having to pay for it!


Free and Open Source Example

Audacity is free (and open-source) for recording and editing audio.

References

  1. https://www.linfo.org/freeware.html
  2. https://www.gnu.org/philosophy/free-sw.html
  3. https://web.stanford.edu/class/cs101/software-2.html