Week 11 - Open and Inner Source Videos and Spicetify Theme Progress

In watching the three videos about open source/innersource in the business sphere, I found the practice of open source to be extremely important for progress and addressing the needs of a company/industry. Its main purpose and benefit seems to be breaking down organizational siloes and to improving communication and cooperation within the company. Companies are often divided into different divisions or teams and the use of open source principles would be efficient in bringing them together when there is a common task. As such, a project isn’t tackled individually and would be better developed with multiple perspectives, at a lower cost. This was proven through an example in the film industry. In working on films, workers often aren’t full time employees but rather work for the duration of their current film. After a film concludes, they would have to search for a new project elsewhere. Proprietary software would make it difficult for such workers to have to readjust themselves after moving around. Open source software would standardizes the application and increase knowledge portability from company to company. Furthermore, with several companies working together on a film, they would be able to create an application that is widely maintained, impactful, and at a low cost.

One thing I found to be very accurate and understated is the importance of technology in non technology companies. I think Gil Yehuda describes it the best by saying how non technology companies are both technology and not technology companies. This is because while their main focus isn’t on technology, they still heavily rely on technology. A bank doesn’t store gold in their basement but rather in a database somewhere. The focus is still on the financial side but technology has to come in and support it in this digital age. Open source comes into this equation by being a way for non technology companies to bridge the difference between a tech company and not a tech company. It can efficiently develop application for them to use while still taking a business perspective.

Lastly, companies would have to consider the cost of innersource and open source projects that is much more prevalent in a business environment. Open source projects are not a static cost but rather a dynamic one as described by Gil. The acquisition of a software is just the start and the maintenance of it is the real cost. In order to pay that cost or debt, the open source needs to be maintained through documentation, modularity, removing code that isn’t being called, refactoring, and more. Through this, the open source project will be maintained over the long term and will be able to pay off its debt. These practices are practices that any software engineer should be doing already when working on a project but it seems that it is especially important for a business.

For my work this week on Spicetify, I have been continuing to work on the theme. My focus has been on creating the background with stars, shooting stars, and their animations. Each of these would have to be created dynamically through an external javascript file and I was able to successfully randomly create stars over the entire application. The twinkle animation was also successful and at a reasonable speed. There were some difficulty in making different components of Spotify transparent in order to see the stars but after carefully inspecting the ui with the devtool, I have a much better idea of what to do. This part will most likely be dependent on the color palette and will be working with my team on that. The shooting stars were the most difficult part. However, I was able to find an animation of a shooting star online on codepen. Given the nature of an open source project, I am hesitant about taking the code and publishing it. I did find a license for the code that states it is free to be taken, modified, and published even in a commercial setting but I will want to check in with the team and professor beforehand. Overall, I am making good progress on the theme and should be very close to completing a minimum viable product. The last thing I would want to do is make it as easy as possible to add color palettes and receive ideas on how the ui can be modified/moved around.

Written before or on April 7, 2024