CSCI-UA 480 (Open Source Software Development, Sp 2024)

Instructor Information

Course Information

Course Description

Open Source Software Development

This course prepares students to become active participants in open source projects. It begins with an overview of the philosophy and brief history of open source development, followed by an in-depth look at different types of open source projects and the study of various tools involved in open source development. In particular, it covers the collaborative nature of open source projects, community structure, version control systems, licensing, intellectual property, types of contributions (programming and non-programming) and the tool-chains that enable such contributions.

The students are expected to contribute to existing open source projects.

Objectives and Outcomes

Students who successfully complete this course:

Why Open Source Matters and Why Should You Care?

Grading

(exact grading rules subject to change by the beginning of the spring semester)

Your grade will be based on:

Here are the details of how each category is going to be assessed.

Grades will be determined using the following scale:

    A   95-100
    A-  90-95
    B+  87-90
    B   83-87
    B-  80-83
    C+  76-80
    C   72-76
    D   65-72
    F   less than 65

The grade of Incomplete is reserved for students who, for legitimate and documented reason, miss the final exam. The grade of Incomplete will not be given to student who started falling behind in class. Those students should withdraw from the class or switch to Pass/Fail option.

Course Materials

Course Website and Brightspace

You can access all course related materials on the course website.

In addition, you may find your grades on Brightspace page for this course.

Book(s)

Open Source: What It Is and How to Contribute,
Jan Pearce,
digital, web-based version of the book
Forge Your Future with Open Source,
VM (Vicky) Brasseur,
available through Open Library (link above), or through O'Reilly with your NYU credentials
Producing Open Source Software, 2nd edition,
Karl Fogel,
ProGit, 2nd edition
Scott Chacon and Ben Straub,
The Cathedral and the Bazaar,
Eric Steven Raymond,
printed version available from O'Reilly
The Architecture of Open Source Applications,
Amy Brown and Greg Wilson (editors),
Practical Open Source Software Exploration,
Greg DeKoenigsberg, Chris Tyler, Karsten Wade, Max Spevack, Mel Chua, and Jeff Sheltren,
(it hasn't been updated since 2010, but there is some good stuff in there)
The Linux Command Line,
William Shotts,

Other Open Source Resources

Course Policies

This course follows CAS Academic Policies that can be found at https://cas.nyu.edu/academic-programs/bulletin/policies/academic-policies.html.

Attendance

This is an in-person synchronous class and you are expected to attend the lectures and recitations.

Missing a class or two is reasonable and often unavoidable, but missing more than five course meetings will likely result in decreased understanding of the course content and, hence, lower scores.

If, for any reason, you need to miss a lot of class meetings, you should contact cas.deanforstudents@nyu.edu for verification and guidance for an extended absence period. Extended absences often result in students inability to make-up missed material and assessments. You should consider withdrawing from the class and attempting it again in the future semester.

Disability Disclosure Statement

New York University is committed to providing equal educational opportunity and participation for students of all abilities. We work with NYU students to determine appropriate and reasonable accommodations that support equal access to a world-class education.

Students requesting academic accommodations are advised to reach out to the Moses Center for Student Accessibility as early as possible in the semester for assistance.

Henry and Lucy Moses Center for Student Accessibility

Telephone: 212-998-4980

Website: http://www.nyu.edu/csd

Email: mosescsd@nyu.edu

Wellness Statement

In a large, complex community like New York University, it's vital to reach out to others, particularly those who are isolated or engaged in self-destructive activities. Student wellness (https://cas.nyu.edu/content/nyu-as/cas/academic-programs/student-wellness.html) is the responsibility of us all.

The NYU Wellness Exchange is the constellation of NYU’s programs and services designed to address the overall health and mental health needs of its students. Students can access this service 24 hours a day, seven days a week: wellness.exchange@nyu.edu; (212) 443-9999. Students may also call the Wellness Exchange hotline (212-443-9999) or the NYU Counseling Service (212-998-4780) to make an appointment for single session, short-term, or group counseling sessions.

Academic Integrity

This course follows the university and departmental policies on academic integrity:

Our main philosophy is that you need to be honest and fair to yourself, other students in the class and the instructional stuff.

The nature of open source is based on collaborative work. But that work is still performed by individuals. Your name should not be associated with a contribution that is not your own or that you have not put significant amount of work into.

Topics Covered (exact list of topics and their order subject to change, for detailed/current schedule, see the Daily tab of this page. )

See the Tentative Weekly Schedule for approximate times when topics will be covered. All dates there are tentative, but should be a good indicator or the course timing.

Academic Email Etiquette