Week 10

The Cathedral and the Bazaar

This week we had to read The Cathedral and the Bazaar by Eric Raymond. This essay changed how I viewed code from seeing something as structured and controlled. However, Raymond brings up a new idea, the idea that software flourishes more in an open and choatic environment. It is interesting how, the bazaar model connects to working on AFFiNE.

The cathedral model represents traditional development which is slow and done by a small group behind closed doors. However, the bazaar model is more open and dynamic allowing anyone to contribute to the code. Originally, the concept of the cathedral model seems to be the correct and only option but by debugging issues in AFFiNE I learned why the bazaar model works well. Getting stuck in trying to run AFFiNE, I was able to look through the documentation and community discussions in order to figure it out. This reveals how with the help and aid of multiple people, issues can be solved easily.

Read More

Week 8

Other Team Projects

Many of the other groups chose their projects based on how interesting it seemed to them. Not only that but it was also chosen based on how familiar they were to them. For example, a group chose p5.js since one of their friends is using it to learn and so it made sense to work on the project. Many of the teams have already started working on creating pull requests and identify issues while others just started doing research on their project. It is clear that many students are taking different routes to approach their own project which is interesting.

Our group chose AFFiNE which is a Notion alternative and it is primarily focused more on user interface based on the many issues created. This week out group have been working on setting up the working environment and are doing research on how to claim an issue. Not only that but our group have logged many issues that appear to be great first contributions. Moving forward, we will choose which issue to work on each and focus on fixing it.

Read More

Week 7

Group Project

Our group decided to work on the open-source project AFFiNE which is an alternative to Notion, allowing you to create canvases for documents and notes. We’ve come to this conclusion due to the fact that the project itself is active as of recently and it is a project my group members are familiar since they have used Notion. We did hit an obstacle on the installation of the dev environment since we had to download many things and it was unclear on how to confirm if we were successful. To resolve this issue, we have to help one another especially the ones who succeeded in setting it up.

Read More

Week 6

Project Contribution

I hope to work on a project that is very large in terms of community and are very active as well. Furthermore, I look forward to a project that seems unique in concept and fun to work on. Some things that may get in the way is the fear of getting ignored or getting PRs closed which leads to my contribution being unable to be made. I know I can contribute to front end changes but back end I would struggle.

Contributions

I made a small contribution on OpenStreet map, where I added a new restaurant that opened up by the area. This is interesting as there are many places not documented in the map which demonstartes the lack of relevancy towards it. This means that many buildings must be created on the map in order to update it completely.

Read More

Week 5

Presentations

Watching all of the extensions created by my peers made me realized how creative they are. Many of the extensions were either new ideas that did not exist or existing extensions but included a new feature. Not only that but everyone presented really well as each partner were able to speak about their groups work. The biggest take away from our own group is we should have rehearsed or decided who would speak about what before hand instead of choosing at the time of the presentation.

Videos

The key point for Thoughts on Open Source by Hightower is that open source is best when collaboration with businesses come with limits. Open source code does mean a company can simply take your code and profit of it however, that does not always mean it is a bad thing. The point of open source is share and collaborate. However, there must be a balance especially when giving away code forever without sustainable support can hurt developers financially.

Furthermore, the key point for Managing Supply Chain Risk in a World of AI by McLuckie is the emphasis on security. Generative AI speeds up development but brings vulnerabilities. Open source can be taken advantage of by attackers and so it is important for open source supply chains to have a strong security.

In the video Linus Torvalds in Conversation with Dirk Hohndel they discuss about how open source succeeds due to the collaboration and transparency between developers. Maintainers are needed to deal with open source projects. It is also important to keep a respectable environement in open source as well.

Style of Presentations

Watching all of the presentations made me realize that I should review everything about what I am going to present to make me knowledgable in my topic. This is so that I do not stutter or struggle while presenting because I lack information.

Read More

Week 4

Git Practice

I have used git extensively from Computer Operations so I do have a good amount of experience on it. However, I was able to learn more about it specifically on new commands. I was not aware about git cat-file and the different variations on it. Ultimately, it was interesting to learn more about something I thought I knew a lot about.

Project Evaluations

After looking through many of the different projects it is worth noting how community based they are. Many of these porjects have such a large community that they are still getting update till this day. All of the projects make it super easy to learn how to contribute which is motivating in a sense because it shows that they are open to changes. I think I am more excited about being able to contribute to a large project and seeing it live. Being apart of the community also seems super fun. Howver, I think one of the biggest challanges is waiting to receive a response or accepting your change. Looking at the issues tracker it appears that there are times when someones edit or solution takes months to be approved since going back and forth. This issue appears to be a common thing in these projects and I believe to avoid it, a smaller issue with an easy fix must be chosen.

Read More

Week 3

Starting Off Project 1

I had the privilege to join two other peers in collaborating on the first open source project assigned. We started off on learning on how to create our first google chrome extension. This one got me a little stump however, my team was able to pull me out the mud. We had good discussions when it came to lookign over exisiting extensions. One issue that arose was deciding on an extension of our own to create since we had many ideas. One of these ideas included an extension that would allow users to see where their products come from specifically. We looked at ane extension that allowed users to play videos on the background while being able to multitask. Overall, although this is only the beginning of our project I believe we will succeed in creating something interesting. This project showed me the amount of team work and collaboration required on creating one project.

Read More

Week 2

How to Drive Consensus and Transparency: Video Reflection

It’s agreed that one of the main issues with open source development is the fact that how can a consensus be formed when there are many people from different backgrounds and experiences. However, the ultimate goal is the same so it is vital to not lose focus. Communication is key to create fruitful discussion and prevent miscommunications. Listening allows for people to feel included which thus promotes collaboration. It is also key to be inclusive, being respectful and understand there are cultural differences. Not only that but by breaking bigger decisions into smaller ones, it becomes more manageable. Despite this when conflicts appear, the final goal must not be lost and a common ground should be discovered. Overall, being able to adapt to different environments and being empathetic can allow for clear discussions that leads to the goal being reached.

Code of Conduct Activity: Part 1

The benefits of having a code of conduct is to ensure that those who join or participate behave to prevent any offense to others. This is vital as it ensures there is regulation to how people act ensuring a professional and friendly environment. The Contributor Convenant does not include a Conflict Resolution paragraph which discusses the importance of disagreement in a professional manner and what to do when there is offensive behavior. The Contributor Convenant also does not include goals within their About paragraph which outlines the purposes and overall goals Go is trying to achieve. The Eclipse Code of Conduct is structured differently such that it is very strict and straightforward in what is allowed and what is not. This may be due to multiple previous incidents that occurred, which prompted Eclipse to have a different structure.

Code of Conduct Activity: Part 2

Unlike the code of conduct for the Go project, the Sugar Labs code of conduct appears to be much more friendly in terms of its tone. It appears to be based off the Go code of conduct however, it specifically explains and emphasizes each point from Go’s values.

Code of Conduct Activity: Part 3

The open source project I want to discuss is VSCode which adopts Microsofts Code of Conduct. Like the previous code of conducts, VSCode lists the behaviors that are acceptable and the ones that are unacceptable. They also include a paragraph on reporting misdemeanors. However, a main difference is the inclusion of a paragraph on AI use. They accept the use of AI and emphasize the importance of claiming the work as your own while also understanding it.

Read More

Week 1 Introductions

What is Open Source

When I hear the term “Open Source”, I think of free code or a base that is publicly available. Additionally, I think about cooperation and the ability of others to work and build projects together, adding to an existing foundation. One advantage of open source software is trust as anyone can view the software without having to blindly trust the company that produced it. Not only that but it leads to a community in which many people can help contribute to improving or fixing an exisiting software. An advantage for closed software is how user accessible it is since it is made for profit by large companies. It is also less prone to attacks as the code is hidden making it harder to find any vulnerable spots. Not only that but since it is one dedicated team working on the code, one can expect consistent updates that are reliable to well-defined. However, despite how great open source software sounds, there are some issues with it such as poor documentation. Since those who work on open source code are volunteers they are more likely to avoid documenting viewing it as extra work and as a result there may be difficulty in user accessibility. This can also lead to another problem of burnout from those who are working on the software since they are not forced to work on it. I decided to register for a class on open source software because I do not have much knowledge on it and from learning what it is I am intrigued to see what open source software out there that I can make changes to!

Open Source Projects

An open source software that I regularly use is Python which has an abundance of libraries which allows for the community to build and collaborate in making tools. Another interesting one is Wikipedia which promotes collaboration where many can edit and improve information available. I have also worked with Linux whenever I would work inside a Docker environment. The tools in the Linux file system makes it very accessible for me due to its open source nature. Another open source project that influence me is the video game Minecraft which itself is not open source however, the mods and community creations are. The community come together and work on making the game more fun or imporve quality of life functions which demonstraytes the creativity that can come from open source.

Read More