Week 1 - Open Thoughts on Open Source

Nowadays, collaboration seems to be essential to success. Having the ability to be team-oriented and contribute your personal skills to benefit a project is important to many different jobs. Not one person knows or has the time to do everything so it is important for many people to come together to do the work that one person cannot. And to me this is what I think of when I hear the term “open source”. My first experience with an open source project was working on a web browser game. I designed the frontend and the animations and posted my progress on Github. However at the time I didn’t know how to do backend development for websites. So I sent the link to one of my friends and he pushed his backend code to Github and soon after we had a functioning video game that keeps track of user progress. I really enjoy the collaborative nature of open source, but I only experienced collaborating on projects with only a couple of people. Through taking the Open Source Software Development class at NYU, I look forward to contributing to larger projects and stepping out of my comfort zone.

Why Open Source?

One of the great things about open source is that its traditionally free/low cost with low-barriers to use the software. This allows everyone to be able to access some sort of source code or information that someone has taken the time to compile already. In this day and age, time is so valuable to individuals and companies and having the open source platform to share work that people have already done is a great time-saver. It allows for people to work off of what others created already and continue to innovate as quickly as possible. Another great thing about open source (which is pretty applicable to students) is the fact that it allows you to showcase what you have made, as well as maintain a copyright over it. For example, when you create an amazing program of some sorts, you will be able to show the code to potential employers and showcase how intelligent you are. No one has to take your word for it because evidence is right there.

However, although the idea of everything being open seems great, it could have some unintended side effects. For instance, anybody with some sort of mischevious intent could use the code that you made to facilitate malicious activities. Additionally, open source is very dependent on its community. If the community is unwilling to contribute some sort of feature or too small to accomodate all requests, there will definitely be some holes in the software.

Open Source Projects You Could Use!

Even though there are some cons to contributing to the open source community, open source is definitely here to stay and is utilized in so many people’s lives. Some of the open source projects that I personally regularly use are as follows:

  1. Visual Studio Code - I only started using Visual Studio Code pretty recently, but it has been my favorite code editor to work with. The community is amazing and provides all kinds of extensions that you could think of. The IntelliSense for all kinds of languages makes life so easy. It has so many features yet doesn’t feel complex when using it.

  2. Node.js - From my little story above, you would know that at one point I was only familiar with frontend web development. Node.js was essential for me to learn more about backend. It lets you write JavaScript on the server-side without having to learn a new language. Plus it has so many community-made packages that takes away many unneccessarily arduous tasks.

  3. FileZilla - FileZilla is used for transferring files. I don’t use FileZilla very regularly but it is definitely very useful for web developers. This is one of the very first softwares that my dad showed me when I was starting to get into programming so it is close to me personally.

  4. Jupyter Notebook - I started using Jupyter Notebook because of some data science classes I was taking. I like it because the interface and user experience is very easy to use. Additionally, with data science projects, it provides an easy way to view Python DataFrames and plots. With the increasing importance of data science its worht checking Jupyter Notebook out so that you can start your very own project!

Conclusion

Thank you for taking the time to read my very first blog post outlining my thoughts on open source! I hope that I pointed out somethings that you never thought of before or that you end up checking out one of my suggestions. Stay tuned for more!

Written before or on February 3, 2020