Open Vs Proprietary Mock Debate
m (Added category)
(→Suggestions for the Open Source Project:)
|Line 241:||Line 241:|
[[Category: CS Principles]]
[[Category: CS Principles]]
Revision as of 18:03, 8 March 2017
|Title||Open Vs Proprietary Mock Debate|
|Overview||A teacher holds a mock debate in-class around which software paradigm is superior, Open Source or Proprietary. Initially the students prepare for it through research and argument structuring. Afterwards, they hold the in-class debate, allowing each side to talk and rebut. The event could also beneficially take place on IRC chat.|
|Prerequisite Knowledge||You may want to precede this activity with Origins_of_Free_Libre_Software, if students are not familiar with free and open source software. Basic software and source code contextual knowledge is needed in order to hasten the research into open and proprietary.|
|Learning Objectives|| Students should be able to:
Which is superior "Open Source" or "Proprietary"? Each side says "Mine is better, here's why". The others rebut.
How to Conduct a Class Debate
Both students and teachers should familiarize themselves with debate formats and how it transcribes to the classroom. The teacher will choose a style, and/or define their own format and rules clearly to the class.
Below is a selection of resources that explain how you might hold a classroom debate. Read and use the top item if none-other.
(from Best to Worst)
- How to Conduct a Class Debate
- Lincoln-Douglas Debate Format: A Primer for Teachers
- Teaching Critical Thinking Through Debate
The rational for this activity is that students should 1) learn about open vs proprietary choices and 2) practice technically-oriented discussions and arguments. When going to the business world after graduation, students will need the skills of influence, debate, and discussion more than is normally thought. Software creation and use is all founded on people - people who use it and make it. If we want our students prepared to work with others, in both open and proprietary ways, they need to know how to communicate and express their opinions.
- Divide Class Into Groups
- Research Your Topic and Argument
- Fill Out Argument Forms
- Hold In-Class Debate
- (optional) After-debate discussion
1) Divide Class Into Groups
Each group will argue for a particular side that answers the question:
Which is superior "Open Source" or "Proprietary"?
- Open Source is superior
- Proprietary is superior
Despite their being groups, students will also be graded individually, and everyone is expected to debate.
2) Research Your Topic
Student groups will be given 2 week to do ample RESEARCH around the topic. Below are suggested actions.
Understand the basics of Open Source and Proprietary software:
Read the following articles and research:
- No clear winner between OSS vs Proprietary
- Scholarly paper asking the question
- [Comparison of open and proprietary on wikipedia]
Additional Research Required:
- Assure that you grasp multiple Pro's and Con's from all sides
- You will need to not only support and defend your own side, but rebut others arguments as well.
- Grade is increased when resources besides those above are referenced
3) Fill Out Argument Form
Read through these completely before filling out. If not, you will miss some context and pointers that will give you a higher grade.
- Think Up! Defending Your Arguments
- See "What sub-topics might be raised?" below
FILL THIS OUT:
4) Hold In-Class Debate
Afterwards, the in-class debate is held, allowing each side to talk and rebut. The event could also beneficially take place on [IRC chat].
- TEACHER DEFINES THE STRUCTURE OF THE IN-CLASS DEBATE
- Which is superior "Open Source" or "Proprietary"?
- Each side says "Mine is better, here's why".
- The others rebut.
5) (optional) After-debate discussion
The teacher might choose to argue-for and explain that the choice between open and proprietary often "Depends" on many factors. For use in the debate, we did not want students to argue for "It Depends". Debates work better with two concrete sides. However, the topic is worth reviewing with students, so as to not to engrain a polarized world-view on them.
For "It Depends"
Different use cases demand different outcomes. Non-Differentiating IP in a bussiness means, software that is not someones "special sauce". Just a functionality that gets them by, and is not directly making them money. This functionality are often the first projects that companies open source. For example, you might have a database that works solid and hasnt added any functionality that you care about for years. Why pay tons of money for this when its been replicated and solid in open source now? On the other hand, there may be a cutting edge piece of niche software that detects peoples faces in a very new way. A new set of scientific research going on for the last 10 years leads to a piece of software that is unique and will make back the risky-resources put into 10 years of investment. A company will not want to open source this, as it will bring them back from the brink of bankruptcy, or excel them further than before. Google open sources much code, but they sure do not open source their search engine algorithms. Why? If they did, it would give competition like Bing and Yahoo the chance to copy their cash-cow and catch up to Google. Google has chosen to open source pieces that dont differentiate them and make direct money.
What sub-topics might be raised?
For Open Source
As Software Design
The design methodology and practices that many open source projects use is very different both in structure and in culture. The structure is more agile (able to change), free-flowing, and distributed. The culture is meritocratic, egalitarian and communal. More power can be given to the individual, and there is a pervasive sharing culture. Each of these aspects can be studied and defined and looked into as to their traits and differences and benefits over proprietarty software creation.
As Software Consumption
When a person or company decides to use a new piece of software, they will have different factors at play working for them in open source. Support can work differently - instead of paying a company, you often support it yourself with help from the community. This is changing though, as vendors are starting to formally support open source software, so its a doubly good point for open source. Both communities and vendors support OSS. You have a choice, whereas proprietary may not offer this choice, or not as in-depth on the community side. Customization of the software to fit business and person needs or desires is increased drastically. You have the source code, so you can understand how it works, and add to it. More often, open source is created in Service Oriented Architecture (SOA) type structures, so that modular design is a goal. This means that pieces can be swapped in and out easier, and that software components can be reused and/or called by another part of a seperate system. Integration into a customized and very competitively differentiated (it will beat out your competitors, because it is different than them) functionality is enabled because you can tweak the code to talk to other systems in unique ways. For example, you might modify what your customer see's by adding in a new field showing recommended items of interest based on their latest purchases. With a proprietary piece of software owned by another entity, that did not have that functionality, it would be very hard to convince them to add this complex functionality. They have dozens of hundreds of customers that they balance changes on. If its your #1 priority, you can take your own resources, modify the source, send it back upstream (to the open source project) and "tada", you get customers to shift their purchases to you, which helps you beat out your competition.
People need to earn a living, and need to be given a reward that can get them through the physicality's of life. This is why we have paid software, that protects its assets. If a business were to give away its source code, they are denying future possible profits via selling the software, upgrading it and supporting it. Proprietary software methods allows companies to have a competitive advantage over other companies that they are fighting against for customers. Proprietary ownership allows a company to better support and build a structure around a large product, therefore serving their customers with very structured, well-funded methods. Less confusion takes place. With open source, there can be two dozen entities taking part in helping to create the software. With proprietary, there is one. A single vision can take hold better - no need for decision by committees full of parties that look at it in drastically different lenses. User eXperience is greater because UX designers are hard to find, cost a lot of money, and need a single push from the top to be effective. Open source has distributed leaders and so no one force pushes user-focused development for a greater cause.
- Each student will hand-in their research
- Required: "Look it up! Researching the Arguments"
- Nice to Have's (increases your grade): ordered/unordered research notes, chicken scratch, or highlighted material
- Each student will talk during the in-class debate
- Talk for at least 2 minutes
- Everyone will be given a turn
- Comments need to be relevant and in-context with the wider discussion
|Criteria||Level 1 (fail)||Level 2 (pass)||Level 3 (good)||Level 4 (exceptional)|
|Understanding of open vs proprietary||Does not grasp concept of free meaning "libre" and doesnt know about the license portion of it at all||Understands that open involves different licenses and code is free, but does not understand societal implications||Fully understands that free means freedom of the users to do what they wish||An advanced understanding showin multiple points of view (developers and businesses, open and closed)|
|Research, arguments, rebuttals, and quotes||Few sources, 1 arguments, 1 rebuttal, and they do not make sense||5 sources, 3 arguments, 3 rebuttals, 2 quotes, though many of them are slightly off topic||Has more than the prior numbers and they are all relevant||Has the prior numbers, they are relevant and the argument/rebuttals are extremely well thought-out, as well as additional research is included|
|Verbal debate||Does not understand the debate, or respond to others||Speaks for at least 2 mins, might be reading off of cue card, showing wrote memorization but not deep understanding||Speaks without cue cards and arguments are well-crafted and explained||Speak extemporaneously, not off of cue-cards, and responds well to live rebuttals|
Additional assessment criteria:
Hand-in will be graded for:
- Do you have at least 5 sources?
- Are the sources relevant?
- Do you create at least 3 major arguments for your side?
- Do you rebut at least 3 major arguments for the other side?
- Do you have 2 great quotes?
- Extra credit: Is there substantial additional evidence of research: ordered/unordered research notes, chicken scratch, or highlighted material
During the debate, you will get points for:
- Speaking for 2 mins
- Staying in context and responding to prior arguments
- Not reading a prepared cue-card
- If anyone interrupts, they will be docked a point
What should the instructor know before using this activity?
- Instructor should spend a bit of time defining and writing out a structure and rules to the in-class debate, and going over them with the students in-person, well before the debate.
- Will all students get a turn?
- Will there be interruptions allowed?
- Do students respond to arguments made, or make their own?
- Can students read from pre-prepared material, or must they discuss more openly?
What are some likely difficulties that an instructor may encounter using this activity?
- Some students will not be inclined to talk or take part in the debate. Many students are shy, do not feel they understand the content (even once researched), or are inexperienced / fearful of formal discussions.
- Students may tend to want to read from paper a pre-written statement. Instructor may want to disallow this, as the real world punishes this. Students drastically need professional discussion skills.
- Motivation: Grading and Personal.
- How students are graded, will likely encourage the type of in-class event you want to see. Motivate them by grading up or down on specific actions you want to see.
- Encourage them personally, one on one or even in-class focus on students who need a push to talk. Tell them why its important to them to do this.
|Knowledge Area/Knowledge Unit||SP - Social Issues and Professional Practice / SP Professional Communication, SDF - Software Development Fundamentals / SDF Development Methods from ACM_Body_of_Knowledge|
|Topic||Dynamics of oral, written, and electronic team and group communication; Modern programming environments|
|Level of Difficulty||Medium; The topic is easy, the debate and argument structure is more difficult|
|Estimated Time to Completion||Student groups should be given ample time to do research; 1 partial class for check-in of argument structure; 1 class for debate|
|Materials/Environment||Internet access, Printer?|
|Source||http://www.learnquebec.ca/en/index.html Requiring students to use copyrighted content from Learn Quebec; Email has been sent off asking for use; Links-only are provided for now|
|License||Creative Commons Attribution 4.0 International|
Suggestions for the Open Source Project:
Suggestions for an open source community member who is working in conjunction with the instructor.
After the debate, the teacher may have this person give a 15 min talk about his/her experiences around this in the real-world. They could talk about when they have had to make a decision between using or developing open vs proprietary software.
This work is licensed under a Creative Commons Attribution 4.0 International License