Week10

Well, well, well - it’s good to be back! For those of you keeping track, this is the first blog after two weekends off due to the originally calendared “Spring break” for the Spring 2020 semester.

A Visit From Gil Yehuda

Since my previous blog entry, the open source course had another very insightful and entertaining guest speaker: Gil Yehuda, Senior Director of Technology Strategy at Verizon Media. Mr. Yehuda is something of a tour-de-force in presenting an understanding of open source. Not only is his own background and trajectory from anti-open source corporatist to open source advocate - an interesting foil to the history of the open source movement, which he also discusses so well - captivating, but he possesses the rare skill of being able to reduce complex phenomena down to critical points. Open source in the corporate world? Mr. Yehuda cuts through the noise in three words: “Fear, Love and Money”. Companies care about what the open source movement can do to hurt them, how it can benefit them, and, at the end of the day, what it will do to their bottom line. Moreover - and I found this to be particularly interesting - open source offers companies opportunities to neutralize their competitors: making software open source can sabotage a rival that depends on a profitable closed source alternative. It is as if, like nation-states before them, today’s companies wage proxy wars, all in the open source realm.

It may come as no surprise then that Mr. Yehuda’s discussion of how to use open source to benefit our careers both reassured and bothered me. On the one hand, his suggestions to leverage working on projects close to the heart of companies in which you are interested - especially using an open source project to improve another open source project, demonstrating dedication and knowledge - is invaluable. Open source, providing you don’t make some terrible security or licensing mistakes, can be an excellent opportunity to demonstrate your abilities and further your career. However, as someone working on completing a second bachelor’s degree, I’ve heard my fair share of career advice over the years, and I couldn’t help but feel like open source is the software engineering analogy to the volunteer work liberal arts students are urged to engage in to build their resume. It would, of course, be hard to fault a person for dropping open source work after they have been hired and don’t have the time to commit as before, but it is disappointing to think of open source work as many people treat volunteer or unpaid internship work: a career stepping stone. It is good to see that companies have made enormous strides in developing symbiotic relationships with the open source community, but it should not come at the cost of cheapening the meaning of open source.

Folding@Home

It seems that everywhere you turn at the present - from, of course, the news, to even your favorite YouTuber or podcast - you come across some information related to the COVID19 pandemic. The barrage is often oppressive and demoralizing, particularly with the focus on grim death tolls, suffering and shortages. However, in such times, the ways in which humanity comes together in periods of emergency and need shine through the negativity and keep us hopeful. One such ray of light that cropped up on my radar a couple of weeks ago via a Linus Tech Tips video is the Folding@Home project; this past week I took a closer look at their part in the fight against COVID19 and must admit that I am quite impressed and enheartened by what I found.

In a nutshell, the Folding@Home project is an effort to crowdsource the computationally expensive work of running protein folding simulations, by creating and maintaining a system where anyone with a computer, an Internet connection, and the Folding@Home software can donate their computational resources (CPU and GPU time) to receive, run, and return the results of simulations. This kind of research can help humanity combat viruses by achieving an understanding of their structure and behavior, and identifying possibilities for drugs which can neutralize them. With COVID19 currently rampaging across the world, the urgency of this ever-important research has come to the forefront, and has become a focus for the Folding@Home project.

Beyond a general sense of awe about the potential and good of this project, three things stood out to me after my research. First, many people are looking for ways to contribute in the fight against COVID19, and while a wide variety of volunteering opportunities and donations are very worthy and needed, the Folding@Home offers a very unique chance to contribute to the science that will go after the root cause, not just manage the consequences, of the pandemic. Second, this opportunity to contribute is a keen reminder of the power of consumer computers. Our home computers may be no match for the supercomputers which certainly come to mind when thinking of such research, but advances in personal computing technology (particularly the incredible advances in GPUs) and, more significantly, the power of personal computers en masse, can make a real difference in an enormous and complex scientific endeavor. (There is more to be excited about with your computer than frames-per-second while gaming!) Last, I was particularly happy to note that Folding@Home takes an “open source” approach in making their data publicly available, so that other researchers can analyze and work with the data. In this case, the open source spirit of benefiting from as many reviewers as possible can be the real difference between life and death for people around the world.

FOSS Project Log:

Saturday, April 18

In the interest of honest blogging and accounting for progress, I must admit, painfully, that less progress has been made on the final project for the open source course than I - or my group mates - would have preferred. For my part, the root cause of this comes from the fact that while it has been three weeks since the prior blog,that time, including a Spring break that a break in name only, was dominated by my internship and trying to keep up with other course work. It was also not helped by the fact that our previous efforts to get involved with the Atom community have not been met with much progress. Our issue regarding the Atom Flight Manual section on setting up a development environment: “triaged”. Checking the interest in following up on an issue suggesting man pages for the atom and apm commands: ignored. Reaching out via Slack to ask for ways to get involved? Directed towards a long list of old issues marked as “help wanted” and pull requests which, for reasons unknown, never get merged. To be frank, it has been a discouraging beginning, one that we are surprised by given Github’s high talk about Atom as a new-age open source initiative.

Thus today featured a group meeting and status assessment. On the one hand we focused on how to implement the aforementioned man pages (knowing full well that any pull request we make may also be ignored). Of particular note here is that one maintainer noted that any man pages created for either command should be generated off the start scripts and argument parsers, rather manually written, so as to be automatically updated going forward. Moreover, man pages must be developed in a very particular roff format, making this no simple task. On the other hand, in cautious preparation of a fail safe, we began to consider other opportunities for open source contributions, namely helping to improve and develop tutorials for OpenCV.

Other Course-Related Activity:

With most of my time dominated by my internship and other coursework, I unfortunately have not been able to make any further contributions. I do look forward to resuming OpenStreetMaps and Wikipedia contributions in the near future, as I did get quite a bit of satisfaction from my small drops in those two enormous open source oceans!

Written before or on April 19, 2020