Week 15 Reflection on our presentation

This week marked a big milestone in our course: the final round of open source project presentations. Watching each group share their journey was both exciting and a little nerve-wracking. Our team presented our work on AutoGen, an advanced AI framework developed by Microsoft. Over the semester, we focused on improving both backend and frontend components, including ChainLit integration and refining user interactions within agent runtime sessions. Preparing for the presentation made me realize how much deeper our understanding of large-scale systems has become—and how many hours we spent debugging!

Read More

Week 14 Reflection on others' presentation

Reflection on presentations from Prewald and HuggingFace

Listening to the Prewald and Hugging Face teams this week was both inspiring and a bit intimidating. Each group showed high-quality work and strong technical skills, proving how much you can get done in a semester when you work closely together and move quickly. They clearly explained their problems, showed working demos, and even adjusted on the spot, which really highlighted the fast pace of an open-source project.

Prewald stood out with their full debugger feature. Their live demo, where they stepped through code, looked at variable values, and traced execution, felt like a mini-IDE built on top of a complex codebase. What impressed me most was how they paired up front-end and back-end developers from the start. Those small teams handed off work smoothly and kept their momentum high, even when requirements changed. They even made phone calls with the maintainers, which was a really great networking opportunities to some extent.

Read More

Week 13 Open Source in Business

Project Update

Recently, Andrea and I identified a glitch in the project’s web front end that seemed straightforward to address. However, when we dove into the repository, we were surprised to find no relevant source files for the page in question. We hesitated to reach out, worried our oversight would make us appear inexperienced. Still, after a thorough search yielded nothing, we mustered the courage to contact the maintainers and describe our confusion. Now, we’re patiently awaiting their response, hopeful that this exchange will clarify the code structure and ultimately enable us to contribute that frontend fix. This experience reminded us that clear communication is key to effective open source collaboration.

Read More

Week 12 From Cathedrals to Bazaars to Coffeehouses

Reflect on the Cathedral and the Bazaar essay

Reflecting on the principles presented in “The Cathedral and the Bazaar,” I recognize clear parallels in my current group project. One critical lesson from the essay is that “Given enough eyeballs, all bugs are shallow.” Our team’s approach aligns closely with the Bazaar model—we actively discuss ideas and openly tackle problems during weekly meetings and on platforms like GitHub. This transparency and frequent communication have allowed us to quickly identify and resolve issues that arise. Unlike a Cathedral-style approach, where contributions are polished internally and released less frequently, our rapid iteration and open discussions have significantly accelerated our project’s development and quality assurance.

Read More

Week 11 Reflection on Group Progress and Presentation

Progress on Our Group Project

In our group project, David and I have been working an issue and making steady progress. Recently, we’ve been focused on solving a challenging issue related to our custom Chainlit agent built with core autogen tools. Specifically, we’re working on a bug where our agent’s on_message method is unexpectedly receiving keyword arguments that the base method isn’t designed to handle. The bug we’re facing has proven to be a complex puzzle, but it’s pushing us to dive deep into debugging and exploring innovative solutions. As we enter the final few weeks of our project, our goal is to iron out this issue and polish all the remaining functionalities so that the end product is robust and user-friendly. Every setback has been an opportunity for learning, and we’re excited about the breakthroughs we anticipate in the coming weeks.

Read More

Week 8 Reflection on two presentations

Intro

This week, I had the pleasure of attending a compelling presentation by Nick Vidal from OSI, who introduced and explored the evolving concept of the “Open Source AI Definition.” Reflecting on this insightful talk, I encountered several surprising points.

Any surprising things

One particularly surprising revelation was how the definition of open source is adapting to address the unique challenges posed by artificial intelligence. Traditionally, open source principles emphasize transparency, collaboration, and accessibility. However, AI introduces complexities such as data privacy, reproducibility, and interpretability, requiring more nuanced and tailored definitions. Nick Vidal’s presentation illuminated the careful balance required to maintain openness while responsibly managing sensitive data and ensuring ethical AI use.

Read More

Week 7 Reflection on the group work project

How did your group decide on the project

Our group has decided to work on AutoGen AI by Microsoft for our project. It is a relatively new and small-scale open-source project.

Initially, we explored a long list of open-source projects based on programming languages such as Python, Java, and React. While we are proficient in these languages, we found that many of the projects were highly mature and developed using advanced programming techniques. As a result, the available issues were quite complex and beyond our current capabilities.

Given this challenge, we shifted our focus to smaller, less well-known projects that are still in the early stages of development. After reviewing several options, we found AutoGen, which includes issues labeled “good first issue” and “documentation”—indicating beginner-friendly contributions.

Read More

Week 6 Reflection on my open source contributions

How are things going?

So far, my open-source journey has been going well. I started by contributing to non-code projects, such as editing and improving Wikipedia articles. This allowed me to get comfortable with the collaborative aspect of open source, understand contribution workflows, and learn how to communicate effectively within a community. It has been a great way to ease into open source while making meaningful contributions to knowledge-sharing platforms.

Read More

Week 5 Evaluating Open-Source Projects

Thoughts about different projects that you have looked at so far

After exploring multiple open-source projects, I realized that none of them would be suitable for my contribution project. The main reason is that the projects I examined, such as VS Code and various Python-based repositories, are highly complex and require extensive prior coding knowledge. Many of these projects have a steep learning curve, involving intricate system architectures and advanced programming concepts that go beyond beginner-level contributions. Therefore, it might be hard to find an appropriate project at first.

Read More

Week 4 Git Exercise and Group Presentation

Git exercises

This week’s Git exercises helped solidify my understanding of version control workflows. We practiced essential Git commands for tracking file changes, managing branches, and collaborating on projects.

A major takeaway was understanding the staging process, where files move from the working directory to the staging area (git add) and then to the repository (git commit). We also explored how to navigate commit history, switch between branches, and merge changes.

Additionally, I gained clarity on the difference between cloning a repository (git clone) and pushing changes using pull requests. These exercises emphasized how Git helps maintain a structured and efficient development process, ensuring smooth collaboration in open-source and team projects.

Read More

Week 3 Group Browser Extension

Idea of the Project

Our project is called Meowtivation, which is an open-source MIT-licensed browser extension designed to provide motivation to students studying by allowing them to simply click on the extension and be greeted with an inspiration cat gif.

  • README file: We stated the instruction of installation for the users including how to set up the API key
  • Code of Conudct: Our Code of Conduct was adapted from the Contributor Covenant, version 2.1.
  • License: We use the MIT Licsense.
  • Contributing: Besides the instructions of issues & pull requests and setting up the environment, we included a roadmap for the project.
Read More

Week 2 Code of Conduct

What is Code of Conduct?

A Code of Conduct is a set of guidelines that defines expected behavior within the community of contributors, users, and maintainers. It ensures that everyone—regardless of background—feels welcome, respected, and safe while collaborating on a project.

Code of Conduct for GO

Like many other open-source project, Go Programming’s Code of Conduct is based on the Contributor Covenant, one of the most widely adopted Codes of Conduct in open-source projects. It is designed to create a welcoming, inclusive, and respectful environment for contributors of all backgrounds.

Read More

Week 1 Exploring Open Source

Me & open source

Taking this course will be the first time I get in touch with open source. I know open source is important in today’s computer science field. So I hope taking this course could help me understand how open source promotes collaboration, transparency, and community-driven development by real-life experience.

Advantages of Open Source

Cost-Effectiveness: Open-source software is often free to use, reducing licensing costs for businesses and individuals.

Read More