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



Week 16 ( 5/4 )

Lecture 1

Project presentations:

  • Pandas
  • Oppia

Assignments

  • Enjoy your summer!
  • Continue blogging if you want.

Week 15 ( 4/27 )

Lecture 1

Project presentations:

  • KeyCloak
  • Nanobot
  • Affine

Lecture 2

Project presentations:

  • Actual Budget
  • p5.js
  • Frosty

Assignments

  • make your blog post: talk about your group work on your project and presentations you saw this week

Week 14 ( 4/20 )

Lecture 1

Open source software licenses, slides

Lecture 2

Project group work.

Assignments

  • make your blog post: talk about your group work on your project
  • complete group project peer evaluation feedback: form

Week 13 ( 4/13 )

Lecture 1

Open and … - discussion of projects that apply open source ideas to other field. Examples: open seeds project, open cola, open educational resources, …

Lecture 2

Project group work.

Assignments

  • make your blog post

Week 12 ( 4/6 )

Lecture 1

Business Models and Business Use of (F)OSS

Lecture 2

Project group work.

Assignments

  • make your blog post: reflect on the class discussion about industry use of and participation in producing open source

  • by the end of Sunday, Apr 12 reaserch ideas about open … - anything other than code, then make a post on the course wiki with the info indicated in the template (basic idea, link to relevant websites and organizations) and be ready to say a few words about it in class on Monday

8

Week 11 ( 3/31 )

Lecture 1

The Cathedral and the Bazaar discussion

Eric S Raymond

Some interesting videos:

Lecture 2

Project group work. Quick stand-up reports from each group.

Assignments

  • make your blog post:
    • your personal thoughts on cathedral vs bazaar model of development; how do you think these ideas are affected by AI tools writing code
    • discuss progress you've made on the group project and what you hope to accomplish in the remaining few weeks
    • comment on the reports by other groups about their progress

Week 10 ( 3/23 )

Lecture 1

Midterm reflections - asynchronous, on your own on Gradescope.

Lecture 2

Group work on the selected project.

Assignments

The usual - make your blog post.

Week 9 ( 3/16 )

Spring Break

Assignments

Nothing to do, unless you did not finish things from previous weeks.

Week 8 ( 3/9 )

Lecture 1

Open source, code written by AI and software developer role.

slides

Lecture 2

Group report-out: each group should prepare a 2-3 minute stand-up report containing info about the project the group picked, what that project is and why the group decided it was a good fit for them, and quick summary of progress made.

Group work on the selected project.

Assignments

  • Make your blog posts: reflect on the reports made by other groups? how do their experiences compare to those of your own group?

  • in preparation for discussions in class after the break read The Cathedral and the Bazaar by Eric S. Raymond (you should be reading the essay titled The Cathedral and the Bazaar in this book, the second link is a direct link to the XHTML format of that essay, there are other formats available at the book site at the first link)

Week 7 ( 3/2 )

Lecture 1

Forming project groups. Finding a project.

Lecture 2

Working in groups.

Assignments

Due by the end of Sunday (March 8)

  • Make your blog posts: reflect on your group work so far, how did your group decide on the project, did your group hit any obstacles yet? if so, how are you planning to resolve them.

  • Create the wiki page for your group following the given template. Keep it updated after every meeting. (If there is no record of your meeting or progress on that page, it did not happen!)

Week 6 ( 2/24 )

Lecture 1

Last three browser extension presentations.

Discussion about group work.

Readings

A Guiding Model for Agile Peer-Teams

Lecture 2

Project evaluations. Can AI help me find the right project?

Assignments

Due by the end of the week (i.e., Sunday)

  • Discuss the kind of project you hope to contribute to with you group. What are some things that may stand in your way? What are things you know you can contribute to the group project?
  • Comment on your small contributions: how are things going, what types of contributions were you able to make? what are the biggest challenges? which contribution are you most proud of?

  • (Continuation from last week) Pick an open source project that you may be interested in contributing to (this should be something that you are excited about, something that you think you may want to be working on, something that matches your goals and skills as you outlined them in the taking stock exercise; it also should NOT be one of the projects assigned in the first part of the project evaluation exercise that you completed with a partner last week). Complete the project evaluation and create a file for that project in the project evaluation repository.

Due by the end of Saturday (February 28) - THIS IS A HARD DEADLINE!

  • Complete the project preference form. The data you provide there will be used to form the project groups for the remainder of the semester. This is completely confidential and will not be shared with anybody other than the instructor.

Week 5 (2/17)

Lecture 1 (Tuesday, 2/18 !!!)

Presentations of the browser add-ons projects.

Lecture 2

No synchronous class meeting.

Complete the Ed Lesson titled Thoughts on Open Source - it is a collection of videos from Open Source Summit of North America (2024).

Assignments

Due by the end of the week (i.e., by the end of Sunday)

  • Clone the repository called taking stock from the class organization. Use it to organize your goals and motivations for the open source contributions, your skills and resources that you are bringing to the table, and your interests that may play a role in your choice of a project and the team that you end you end up working with. This is for your private account and you do not need to submit anything. But you should treat it seriously.

  • Read a few project evaluations created by other students. Focus on projects that you are familiar with or that seem to fit your project preferences.

  • Complete the peer evaluation form for your group work on the browser extension.

  • Make your blog posts:

    • Comment on presentations and extensions created by other groups.
    • What was a biggest take-away from your own group work and from watching other groups.
    • Comment on the three videos you watched in place of the Wednesday class.
    • This week you saw several student presentations as well as presentations from OSS conference. Comment on the actual style of presentations - what can you learn from observing presentations made by others? how should your own style of presentation improve based on these observations?

Due by the end of the next week (but sooner than later)

  • Pick an open source project that you may be interested in contributing to (this should be something that you are excited about, something that you think you may want to be working on, something that matches your goals and skills as you outlined them in the taking stock exercise; it also should NOT be one of the projects assigned in the first part of the project evaluation exercise that you completed last week). Complete the project evaluation and create a file for that project in the project evaluation repository.

Week 4

Lecture 1

Working with git version control. Exploring the actual repository: .git.

Version control systems and Git

Readings:

  • the first two chapters in ProGit book (Getting Started, Git Basics)

Lecture 2

Project evaluation

See project-evaluation repository in the course organization for the list of projects to evaluate.

Readings

Assignments

Due by the end of the week (i.e., by the end of Sunday)

  • Read the materials on version control linked to under lecture 2 for this week. Complete the quiz on Ed Lessons after the reading.

  • Read a few project evaluations created by other students. Focus on projects that you are familiar with or that seem to fit your project preferences.

  • Make your blog post for the week.

    • Comment on the git exercises we did in class.
    • Comment on project evaluation. What are your thoughts about different projects that you have looked at so far? what are you most excited about regarding working on an opens source project? what do you think will be the biggest challenges? how do you plan to overcome them?

Ongoing

  • continue making small personal contributions (keep in mind that they should be done on a regular basis and be diverse in terms of their type)
  • start looking at different open source projects from the angle of possible contributions (while you are evaluating projects, look at things that you could do right now without diving too much into the project)

Week 3 (2/2)

Lecture 1

Anatomy of a project, slides

Looking at first few projects, their repository structure, important documents, issue trackers, communication channels, etc.

Lecture 2

Create your first open source project (at least, in this class).

Find your team members and make sure you are sitting together so that you can work together. The team assignment are at https://github.com/ossd-s26/wiki/wiki/First-Project-Activity - you need to be part of the course to access this page.

The instructions for the activity are in a private repository for the class (you need to be part of the course to access this repository).

Assignments

Due by the end of the week (i.e., by the end of Sunday)

  • Make your blog post. Comment on the work with your team and progress you have made towards your first open source project (what are some problems the group is facing, what good things happened, how do you fit into the collaboration, what are your biggest contributions, were there any surprising things you discovered about yourself in the process of the group work)
  • Complete the brief quiz on Ed Lessons called Anatomy of a FOSS project

Readings:

  • the first two chapters in ProGit book (Getting Started, Git Basics)

Due by February 16

  • with your group, continue working on your first project
  • make sure that the project follows all the best practices of open source
  • prepare a 5 minute presentation about your project (to be delivered in front of the class on Feb 17) - you do not need to make slides, but you need to decide how to organize your presentation and showcase your work
  • one person from each team should make a post in the "First Project Activity" page on the class wiki. (The other people need to view it and make sure that it is there and that it is properly formatted.) The post should follow this format:
    Team TeamColor, [Project Name](link to the GitHub repo)
    Team Member 1
    Team Member 2
    Team Member 3
    … (Where the Team TeamColor is the team color you were given during the in-class session.) If you are going to use any slides for the presentation on 2/17 then link them here as well.

Week 2 (1/26)

Lecture 1

Introduction to FOSS

Lecture 2

Finish with Introduction to FOSS slides

Blog editing and formatting. Jekyll blogs documentation

Contributions you should be working on, slides

Code of conduct, samples:

(Group) Activity about code of conduct documents.

  • Follow the instructions and links in the Code of Conduct Activity. Have a discussion with your group about the questions posed in the activity.
  • On your own, address the questions from the activity in your weekly blog. Do not write the blog as a sequence of questions and answers. Instead, create couple of paragraphs that address the issues.

Assignments

Due by the end of the week (Sunday, Feb 1, but complete as soon as possible):

  • read the first two chapters of the "Forge Your Future with Open Source" by VM Brasseur:
    • The Foundations and Philosophies of Free and Open Source
    • What Free and Open Source Can Do for You and What is Free Software?.
  • complete the short quiz based on the above reading on Ed Lessons

Due by the end of the week (i.e., Sunday)

Preparing for next week:

  • watch the recording of a talk from the Open Source Leadership Summit about communication challenges in open source communities: How to Drive Consensus and Transparency Within Open Source Communities ; consider the content in two context:
    • what does it tell you about open source communities and how to interact with them
    • what lessons does it offer for any group work / projects that you may be part of

Week 1, (1/21, half week), Intro to the course

Lecture 1

Intro to the class/course: why are we here? what is open source? what will you learn? course organization.

slides



Materials:

  • Videos:
  • Markdown
  • Blogging. If you have never written a blog or are looking for ideas on what makes good blog posts, some good advice on writing effective blog entries can be found at:
    • Effective Academic Blogging from the Writer's Web at the University of Richmond Writing Center.
    • Blogs from The Writing Center at UNC-Chapel Hill.
    • Writing a Blog workshop video from the Indiana University of Pennsylvania (IUP) Writing Center.

    There is no shortage of other advice, just google "How to write a blog" and find something that resonates with you and matches the goals of the course.

Assignments

Due immediately:

  • complete this questionnaire - if you do not have a GitHub account, create one first (your username does not need to be in anyway identifying you, your association with NYU or this course)

Due by the end of the week (Sunday night):

  • complete the blog/ed/wiki/… activity

  • configure your blog
    • go to the repository for your blog
    • edit the _config.yml file following instructions in the file (post questions on Ed, if you run into any issue) - ideally, this should be done by cloning your repository, making changes in the local repo and then pushing them back (not by editing files directly on GitHub)
  • make your first blog post
    • in the _posts directory, edit 2026-01-25-week01.md file to update your first weekly blog post (change the name of the file to reflect the date of your post - this should be 2026-01-25 or before)
    • title the post "Week 1: … " in which you replace … with your own title (the week numbering will make it easier to keep track of posts later in the semester)
    • address the following points in your post (keep in mind that your blog post should be just prose, not a Q&A for the prompts below; it should include formatting to make it more readable, and it can include links and images if you wish)
      • open source (what do YOU think about when you hear the term "open source"? what are some advantages of open vs. closed source, what are some potential problems with open source, why did you decide to register for a class about open source software development?)
      • projects: briefly talk about four open source projects that you regularly use or that influenced you in some way in the past (note, the projects do not have to be source code based) (Keep in mind that these blogs are publicly available to anybody who stumbles upon them. Make sure that the posts are appropriate.)

    HINT: look at your blog page after you are done editing to make sure it has the correct content and that the text is formatted the way you intended it to be. Your blog page is at https://ossd-s26.github.io/YOUR_USER_NAME-weekly/ (after you replace YOUR_USER_NAME with your actual username, of course).

  • install a recent version of Firefox on your computer (if not there already)