|'''Topic''' || Social implications of computing in a networked world, Community values and the laws by which we live, The role of the computing professional in public policy, Philosophical foundations of intellectual property, History of computer hardware, software, networking

|-

|-

|'''Level of Difficulty''' || Medium - reading comprehension, as well as technical and sociological understandings need to occur

|'''Level of Difficulty''' || Medium - reading comprehension, as well as technical and sociological understandings need to occur

Revision as of 18:29, 5 August 2015

Title

Origins of Free/Libre Software - Homework / Open-book-Quiz Assignment

Overview

Students are offered some key and optional readings, whereupon they will be asked questions to answer. This can be given as homework, or as an in-class quiz. The questions are a mix of definitive and open-ended questions. Answers and grading-suggestions are given.

Prerequisite Knowledge

Students need to know the context of "Software" and "Users" within a computing system, as the definition of Free Software is based off of these. General copyright background may be helpful for foreign students unfamiliar with the general concept that most western societies engrain as common knowledge.

Learning Objectives

Students should be able to explain what Software Freedom means, how it came about, and what environment caused its birth. Also important are the societal benefits of free software, in addition to well balanced arguments for and against Software Freedom.

Background:

Rational

It is important for students to be introduced to a variety of paradigms *before* they go into their professional careers. Free software bucks the proprietary trend, and even is quite different in spirit from open source software. Getting students to grasp the moral and societal effects of free/libre software can provide a world-view of their software-works that will give them reason to take heed of how they and their future employers are interfacing with user and developer relationships.

Pre-reading some of the required resources allows students to digest some of the content, versus memorizing it, and the open-ended written questions encourage students to truly understand the concepts they need to learn.

Homework OR Quiz

This activity / assignment might be used for a) a written homework assignment, where students read and respond at home OR b) an in-class quiz, after having read the required reading - an open-book format is advised, as understanding is critical over memorization. In the open-nook quiz format, you could guarantee that students have read this beforehand (not during the quiz only) by not providing enough time to read and respond during the quiz.

Directions:

The below provides a set of specific reading/study resources upon which we will base questions that students will provide written answers.

Readings: Students read required readings outside of class

Questions: Students answer questions in one of two ways:

Homework assignment: Students individually write answers to questions and hand-in

In-class quiz: Students get additional secondary resources for an in-class "quiz" or assignment; They are expected to have read the primary resources beforehand, and can bring them both up during the quiz, on their computers.

2) What were the original reasons for assuring that source code remains free?

Grading Tips:
Businesses started restricting creators and users of software by having them sign Non-Disclosure Agreements (NDA's).
To software freedom activists, this removes the ability for users and creators to work with each other to build a better piece of software.
A user, specifically a technical one, is limited in their response to bugs, or in integrating a third party component, or in modifying a program to their custom-liking when source code is secreted and restricted to particular users.

3) What is the meaning of “Free" in the context of Free Software?

A) The software will cost nothing to obtain.
B) The software can do as it pleases to a users system, accessing and changing all available data.
C) The users have the freedom to run, copy, distribute, study, change and improve the software. **
D) The source code is free to those who have purchased the software.

4) Explain the significance of having source code available to users - especially users that may be technically-inclined.

Grading tips:
The student might (optionally) first explain what source code is. No points off if not, but it helps in a full answer.
The meat of the answer will likely mention that users can fix their own bugs, scratch their own itch, or integrate new functionality when the source code is free and available.
They might also talk about how diverse users can work together to solve problems in jointly-used software, so a synergy of various groups of users.
They might mention specific groups of technical users, such as support technicians or administrators or everyday users, and what their particular advantage might be.
Overall, this is a discretionary question that does not need to adhere to the above ideas. The teacher needs to know the context and relate if the student understands the concept of what benefits free software brings.

5) Explain how Non-Disclosure Agreements (NDA’s) around software source code led to proprietary software taking over in the 1980’s.

Grading Tips:
This involves paraphrasing some history from the Stallman text by Sam Williams.
Basically, businesses started to realize that they could make money by restricting software access.
At first, it was physical machines that were sold, but once NDA's came, it shifted software to become secretive.
Businesses could force users and customers to stay with them, get support through them, get integration through them, etc because the software was not hackable and accessible by employees within a customers own ranks.
Customers therefore had to pay the business who owned the software, not only initially, but all throughout the software lifecycle.
Businesses recognized this ability to transform their income from a one-time up-front hardware purchase, to an ongoing lifetime set of charges.
This encouraged most businesses to migrate to proprietary software licenses.

6) What effects might these NDA's have on engineers, users, and businesses? Comment on the pro’s and the con’s.

Grading Tips:
The effects and pro’s / con’s involves more thought and understanding.
Proprietary vs Open source code is a hotly debated topic amongst professional engineers and businesses to this very day.
There is no easy “right” answer swaying obviously to either side.
A student can talk about it from the perspective of Richard Stallmans history, seeing his colleagues sign NDAs so that code was now a business-tool as much as an engineering tool.
Or, students might also take the side of a prospecting business-person and say that software NDAs are tools that allow business’s to guarantee financial returns from software investments.
We are admittedly trying to lean the student toward the understanding and following of a free-software culture, however, it is advised that they not be downgraded for straying from this perspective.
An attempt at balancing (pro’s and con’s) of both sides and multiple points of view, is ideal.
This might be explicitly stated to the student.

7) Which freedom is NOT essential according to the Free Software Foundations definition of Free Software?

A) The freedom to run the program.
B) The freedom to see and study the program.
C) The freedom to share copies.
D) The freedom to own the program. **
E) The freedom to share modified versions to others.

8) What was the first major piece of Free / Libre software that was created and why did its author reason this to be the first? Hint: It was an Operating System.

Grading Tip:
Richard Stallman decided that without a free operating system (OS), there would be no basis as to create other free software.
If you produced a free / libre program on a proprietary OS, the program would still be encumbered by way of proxy - the free program could not run unless you used a non-free base-component.
So he began to piece together the GNU operating system.

9) Why did "Copyleft" (GNU GPL) licenses come into play? Be careful, as we are not asking what copyleft is, or what it does, but WHY it came into play. What was the situation around why they thought up this method around copyright laws?

Grading Tip:
From https://www.gnu.org/gnu/thegnuproject.html "Is a program free for every user?", copyleft was created in response to organizations and people taking free software, making modifications to it, and then redistributing it in a proprietary, non-free format.
The primary example given is that of X windows system, where the authors valued the number of users over user freedom.
This intentionally allowed organizations to modify X-windows for their UNIX systems, and then release it as proprietary (they own it) software to others - specifically users who now do not have access to change it.

10) Why did Richard Stallman charge $150 to send Free Software to those who requested it in 1985? Isn't this against the meaning of Free Software?

Grading Tip:
Charging for copies of free software (or other related services) is not against any of the 4 software freedoms, as long as all other freedoms are up-kept.
He also made available the source code via other means - ftp at the time was not accessible to all.
Free software is about users having free access and the rights to do what they want with the software that they use, not about how much someone charges for a copy of it, or how much they charge for advise on how to modify it.
Money can be made on free software, just in different ways.

Assessment:

Note that some of the questions are subjective and up for interpretation. They could be answered in multiple ways. This is not about "did you answered correctly", but about who read, understood and expressed thoughtful answers to the questions.

Criteria

Level 1 (fail)

Level 2 (pass)

Level 3 (good)

Level 4 (exceptional)

Multiple-choice

0 correct

1 Correct

2 Correct

3 Correct

Did they read it

Incorrect answers or guesses, showing that student didn't read

Copied portions of text, got some context correct

Mentioned readings in correct context and answers

Mentioned readings and even additional readings

Did they understand it

Out of context or unanswered questions

Attempt at answering question, but inaccurate

Answer is well thought out and relevant

Complex and well-expressed understanding of free/libre software concepts and where they came from

Did it spur their own thoughts, amalgamations and questions

No self-thought expressed - verbatim

Had one or two thoughts of their own introduced

Had multiple thoughts and questions that were not in the readings, showing an understanding and curiosity towards it

Worded multiple synergistic thoughts, complex questions, and topics of their own

Comments:

What should the instructor know before using this activity?

The instructor should read through the required readings before hand, or at the very least, when grading the written answers. A context is required to grade the answers.

What are some likely difficulties that an instructor may encounter using this activity?

Some students may get away with not reading, or barely skimming the content. In such cases, it is hoped that this would be evident in the written answers via a lack of understanding as to what Software Freedom is, and what its wide ranging benefits and costs are.

Software freedom is a complex, thought-provoking, and not well-agreed-upon subject. This might confuse students. Be clear that there are multiple opinions amongst experts in this realm, so to take multiple view points into perspective.

Additional Information:

Knowledge Area/Knowledge Unit

Social Issues and Professional Practice / SP Social Context, SP Professional Ethics, SP History, SP Intellectual Property from ACM_Body_of_Knowledge

Topic

Social implications of computing in a networked world, Community values and the laws by which we live, The role of the computing professional in public policy, Philosophical foundations of intellectual property, History of computer hardware, software, networking

Level of Difficulty

Medium - reading comprehension, as well as technical and sociological understandings need to occur

Estimated Time to Completion

1-4 hrs of reading; 1-2 hrs of writing; Given as a exam, I would give 1-1.5 hrs;