Term and Year of Offering: Spring 2010
Course Number and Title: CS889, Advanced Topics in Computer Science
Professor Michael Terry (mterry@cs.uwaterloo.ca)
Office: DC 2118
Office hours: By appointment
Meeting Time and Location
MC 2036
MW 2:30PM - 3:50PM
Over the past two decades, free/open source software (FOSS) has made
a dramatic impact on computing and, more broadly, society at large.
While FOSS means
many things to many people, there is one, single, unifying factor:
It is, at its core, software released under a license that enables
individuals to freely
modify and redistribute that software. This seemingly simple, innocuous
attribute has led to multifaceted sociocultural,
political movements; new business models (often at
the cost of disrupting existing business models); an outpouring of
software; new computing ethoses; new ways of interacting with
computers; and clear changes to academic, teaching, research, and
government institutions.
Much of the past and current research on FOSS has examined the phenomena through the lens
of software development,
particularly by volunteers. However, as this software is increasingly
used by more "average" computer users, it is critical to consider
end-user concerns: The overall usability of the software, how usability
issues are perceived and addressed by FOSS developers, current
practices and needs related to FOSS usability, and so on. This course will examine these latter issues in depth.
This course has two aims: 1) To cover what is currently known about FOSS usability, and 2) to "give back" to the FOSS community and/or research community with respect to FOSS usability. Your time will thus be spent reading essays, opinion pieces, and research papers on FOSS, and working on a project that benefits FOSS usability in some way. More details on this project can be found below.
After completing this course, you will:
The course will be taught as a round-table discussion of papers for most of the term. The latter part of the term will be focused on course projects.
The specific topics to be covered include:
Most of the readings are freely available on the web or through
the university library's connection to online reference databases. We
will also draw from these two books:
Now available! Go to: http://capn.cs.uwaterloo.ca/~mterry/wiki/. Account instructions are given out in class.
The topics covered by this
course are wide ranging. They include matters of culture, social
dynamics, individual psychology, law, legal agreements, copyright,
patents, business, money, governance, interpersonal communications,
feuds... the list goes on. In fact, while computing and computation
give rise to the phenomena under study, these latter two topics are
dwarfed by the the complex, sociocultural, political, legal, and human
issues that encompass this phenomena. As such, you should be prepared
for a qualtitatively different type of CS class and experience.
Reading Summaries
The readings for this course range from essays to blogs to academic
papers. They were chosen to give you a wide variety of perspectives on
FOSS. Often, the opinions are at odds with one another. The intent of
the course is not to advocate one point of view over another, but to
challenge you to arrive at your own conclusions after considering the
various perspectives at hand, and what data there is on the subject
matter.
For each set of readings, you are to
write a summary. However, these summaries should not be mere
distillations of the readings. Instead, you should summarize and synthesize:
Say why the readings' contents are significant, whether it is an
opinion piece, essay, or academic paper. Where possible, contextualize
each reading in the larger canon of readings and knowledge on the
subject. In short, you should add
to the reading in your summary. Reflect on its importance. If you find
yourself disagreeing with the contents, argue your position, grounding
it in data or reason.
Your summaries should be posted on an online website accessible by the instructor.
In Class Discussions
For each set of readings, one or more students will be assigned to lead
discussion on the topics. While everyone is required to read all the
readings, the leader is charged with the task of initiating discussion,
potentially bringing in other information / reading / data to
complement the readings.
Course Project
In this course, the project will provide you with an opportunity to better understand usability issues in the development of FOSS. For the project, you must somehow contribute something back to the FOSS community that will help them produce better software. Possibilities include:Course Marking
Presentations and class participation 20%
Project proposal 5%
Project literature review 25%
Final package and paper 40%
| Date | Theme | Readings | Lecture Slides | Deadlines |
| May 3, 2010 |
Course Overview
|
|||
| May 5, 2010 |
History of FOSS Movement
|
FSFS: pp. 1-32 |
|
|
| May 10, 2010 | History: Individuals
|
FSFS, Chapter 2 Richard Stallman (Wikipedia entry) For Want of a Printer (Free as in Freedom) A Fan of Freedom: Thoughts on the Biography of RMS Eric S. Raymond (Wikipedia entry) Bruce Perens (Wikipedia entry) Linus Torvalds (Wikipedia entry) Migul de Icaza (Wikipedia entry) |
||
| May 12, 2010 | Licensing
|
Free
Software Definition (FSF) The Right to Read (FSF) Misinterpreting Copyright (FSF) Did You Say "Intellectual Property"? (FSF) Words to Avoid (FSF) What is Copyleft? (FSF) Copyleft: Pragmatic Idealism (FSF) The Danger of Software Patents (FSF) Microsoft, TomTom, and FAT patents |
||
| May 17, 2010 | Licensing
|
A
Quick Guide to the GPLv3 (FSF) GPL FAQ (FSF) Why shouldn't use LPGL (FSF) |
|
|
| May 19, 2010 |
Licensing
|
OSV: The Revenge of the Hackers |
||
| May 24, 2010 | Victoria Day, no class |
|
||
| May 26, 2010 |
History: Major Open Source Projects
|
SV: A
Brief History of Hackerdom OSV:
Twenty Years of Berkeley Unix Comparsion
of BSD operating systems Commercial
derivatives of FreeBSD Focus on the historical sections in the following Wikipedia
articles:
|
|
|
| May 31, 2010 |
Application spaces
|
OSV:
Hardware, Software, and Infoware What is Web 2.0 (O'Reilly) The State of the Internet Operating System, Part One (O'Reilly) The State of the Internet Operating System Part Two: Handicapping the Internet Platform Wars (O'Reilly) |
Initial project proposal due |
|
| June 2, 2010 | Development in the FOSS Community | The
Cathedral and the Bazaar (Raymond) Mockus, A., Fielding, R. T., and Herbsleb, J. 2000. A case study of open source software development: the Apache server. In Proceedings of the 22nd international Conference on Software Engineering (Limerick, Ireland, June 04 - 11, 2000). ICSE '00. ACM, New York, NY, 263-272. http://doi.acm.org/10.1145/337180.337209 Mockus, A., Fielding, R. T., and Herbsleb, J. D. 2002. Two case studies of open source software development: Apache and Mozilla. ACM Trans. Softw. Eng. Methodol. 11, 3 (Jul. 2002), 309-346. http://doi.acm.org/10.1145/567793.567795 |
||
|
|
||||
| June 7, 2010 | Project Beginnings
|
Design Lecture |
||
| June 9, 2010 |
Scacchi, W. 2007. Free/open source software development. In Proceedings
of the the 6th Joint Meeting of the European Software Engineering
Conference and the ACM SIGSOFT Symposium on the Foundations of Software
Engineering (Dubrovnik, Croatia, September 03 - 07, 2007). ESEC-FSE
'07. ACM, New York, NY, 459-468. http://doi.acm.org/10.1145/1287624.1287689
Scacchi, W. 2007. Free/open source software development: recent research results and emerging opportunities. In the 6th Joint Meeting on European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering: Companion Papers (Dubrovnik, Croatia, September 03 - 07, 2007). ESEC-FSE companion '07. ACM, New York, NY, 459-468. http://doi.acm.org/10.1145/1295014.1295019 Ye, Y. and Kishida, K. 2003. Toward an understanding of the motivation Open Source Software developers. In Proceedings of the 25th international Conference on Software Engineering (Portland, Oregon, May 03 - 10, 2003). International Conference on Software Engineering. IEEE Computer Society, Washington, DC, 419-429. |
|||
| June 14, 2010 | Ducheneaut,
N. 2005. Socialization in an Open Source Software Community: A
Socio-Technical Analysis. Comput. Supported Coop. Work 14, 4 (Aug.
2005), 323-368. http://dx.doi.org/10.1007/s10606-005-9000-1 |
|
Final project proposal due | |
| June 16, 2010 | Usability and Open Source | Frishberg, N., Dirks, A. M., Benson, C., Nickell, S., and
Smith, S.
2002. Getting to know you: open source development meets usability. In CHI
'02 Extended Abstracts on Human Factors in Computing Systems
(Minneapolis, Minnesota, USA, April 20 - 25, 2002). CHI '02. ACM, New
York, NY, 932-933. http://doi.acm.org/10.1145/506443.506666 Benson, C., Muller-Prove, M., and Mzourek, J. 2004. Professional usability in open source projects: GNOME, OpenOffice.org, NetBeans. In CHI '04 Extended Abstracts on Human Factors in Computing Systems (Vienna, Austria, April 24 - 29, 2004). CHI '04. ACM, New York, NY, 1083-1084. http://doi.acm.org/10.1145/985921.985991 Writings of Matthew Paul Thomas:
John Gruber's response to ESR: |
ORE application submitted (if required) |
|
| June 21, 2010 |
|
The Usability of Open Source Software Nichols, David, AND Twidale, Michael. "The Usability of Open Source Software" First Monday [Online], Volume 8 Number 1 (6 January 2003). http://firstmonday.org/article/view/1018/939 or http://www.cs.waikato.ac.nz/~daven/docs/oss-wp.pdf How Open Licenses Affect User Experience (Terry, blog post) |
|
|
| June 23, 2010 |
|
Twidale, M. B. and Nichols, D. M. 2005. Exploring Usability Discussions
in Open Source Development. In Proceedings of the Proceedings of the
38th Annual Hawaii international Conference on System Sciences - Volume
07 (January 03 - 06, 2005). HICSS. IEEE Computer Society, Washington,
DC, 198.3. http://dx.doi.org/10.1109/HICSS.2005.266
Twidale, M. 2005. Silver bullet or fool's gold: supporting usability in open source software development. In Proceedings of the 27th international Conference on Software Engineering (St. Louis, MO, USA, May 15 - 21, 2005). ICSE '05. ACM, New York, NY, 35-35. http://doi.acm.org/10.1145/1062455.1062468 |
|
|
| June 28, 2010 | Andreasen, M. S., Nielsen, H. V., Schrøder, S. O. and Stage, J. (2006)
Usability in Open Source Software Development: Opinions and Practice. Information
Technology and Control, 35A(3):303-312. PDF Terry, M., Kay, M., and Lafreniere, B. 2010. Perceptions and practices of usability in the free/open source software (FoSS) community. In Proceedings of the 28th international Conference on Human Factors in Computing Systems (Atlanta, Georgia, USA, April 10 - 15, 2010). CHI '10. ACM, New York, NY, 999-1008. http://doi.acm.org/10.1145/1753326.1753476 Ko, A. J. and Chilana, P. K. 2010. How power users help and hinder open bug reporting. In Proceedings of the 28th international Conference on Human Factors in Computing Systems (Atlanta, Georgia, USA, April 10 - 15, 2010). CHI '10. ACM, New York, NY, 1665-1674. http://doi.acm.org/10.1145/1753326.1753576 |
|
||
| June 30, 2010 | Current practices |
GNOME Human Interface Guidelines: Mairin Duffy's Portable Usability Lab:
FLOSS Usability Sprints: Season of Usability: UX at OpenOffice Open Content Projects |
||
| July 5, 2010 | UI Toolkits |
|||
| July 7, 2010 | HCI Methods |
|
||
| July 12, 2010 | Project work: Design / research crits | |||
| July 14, 2010 | Project work: Design / research crits | |||
| July 19, 2010 |
|
Project presentations | ||
| July 21, 2010 | Project presentations | |||
|
|
|
|||
| July 26, 2010 | Project presentations | |||
| July 28, 2010 | Project presentations | Final project and write-up due |
Academic Integrity: In order to maintain a culture of academic integrity, members of the University of Waterloo community are expected to promote honesty, trust, fairness, respect and responsibility. [Check www.uwaterloo.ca/academicintegrity/ for more information.]
Grievance: A student who believes that a decision affecting some aspect of his/her university life has been unfair or unreasonable may have grounds for initiating a grievance. Read Policy 70, Student Petitions and Grievances, Section 4, www.adm.uwaterloo.ca/infosec/Policies/policy70.htm. When in doubt please be certain to contact the department's administrative assistant who will provide further assistance.
Discipline: A student is expected to know what constitutes academic integrity [check www.uwaterloo.ca/academicintegrity/] to avoid committing an academic offence, and to take responsibility for his/her actions. A student who is unsure whether an action constitutes an offence, or who needs help in learning how to avoid offences (e.g., plagiarism, cheating) or about 'rules' for group work/collaboration should seek guidance from the course instructor, academic advisor, or the undergraduate Associate Dean. For information on categories of offences and types of penalties, students should refer to Policy 71, Student Discipline, www.adm.uwaterloo.ca/infosec/Policies/policy71.htm. For typical penalties check Guidelines for the Assessment of Penalties, www.adm.uwaterloo.ca/infosec/guidelines/penaltyguidelines.htm.
Appeals: A decision made or penalty imposed under Policy 70 (Student Petitions and Grievances) (other than a petition) or Policy 71 (Student Discipline) may be appealed if there is a ground. A student who believes he/she has a ground for an appeal should refer to Policy 72 (Student Appeals) www.adm.uwaterloo.ca/infosec/Policies/policy72.htm.
Note for Students with Disabilities: The Office
for persons with Disabilities (OPD), located in Needles Hall, Room
1132, collaborates with all academic departments to arrange appropriate
accommodations for students with disabilities without compromising the
academic integrity of the curriculum. If you require academic
accommodations to lessen the impact of your disability, please register
with the OPD at the beginning of each academic term.