top of page

Open Source Software and Patching

  • skhan4059
  • Feb 2, 2022
  • 3 min read

Hello again everyone, I will update everyone on what I have been doing. So we have been following my Software and Optimization course, and the first topic is about how open source software works and how it is patched.


We will be looking at to different software, the first being the OpenSSH program. I'm sure most people that work with technology know or at least heard of OpenSSH, but for those who don't, OpenSSH is (as quoted by the OpenSSH) "a complete implementation of the SSH protocol (version 2) for secure remote login, command execution and file transfer". SSH itself being a CLI (command line interface) remote connection used all over the world. This also includes several other implementations of ssh known as sftp and scp. The project also include other ssh utilities like ssh-keygen, ssh-keyscan, and ssh-agent.


The project location for reference is at https://github.com/openssh/openssh-portable if anybody would like to look into it. As you can see, OpenSSH uses github to manage its source code. So I looked into a specific pull request to so how the process works. Again for reference I will link the pull request here: https://github.com/openssh/openssh-portable/pull/281 for all info on this pull request. It seems the process has 2-3 people most of the time, the person who made the pull request, and authorized person apart of the project, and maybe someone else to add something along the way. Using github's system makes making edit very secure as all changes are passed to the someone authorized to make changes who reviews the edit (which are extremely explicit with colour coding) who then points out any mistakes and confirms it with the original editor. Once all that is ironed out, the pull request is merged into a branch for the next update.


The other software we will be looking at is the bash application. For reference this project resides here https://www.gnu.org/software/bash/ and how this project implements open source is via bug reports. The website uses a forum pages with thread compiled every month. Here is the link to the archive forum:


We will be looking at the month of August 2021 regarding option handling with the getopts tool, this had to do something about the handling of option with the command, I have not personally worked with the tool but looking at how the forum was managed, we can see anybody can comment on threads and most bugs are sent with test cases to display the issue. The source code is available on a different site through ftp or other means, if you would like to look at it, the link is here: https://tiswww.case.edu/php/chet/bash/bashtop.html


Though the source code cannot be changed by the community (from my understanding) it seem attention can be brought to different issue which is the vision of open source software.


Overall, I have learned a lot through my survey of open source projects. I have known about github and how useful it is, and I believe it does an extremely good job at open source projects and community input. I think the innovation of the community and the different solutions to all the possible issue has an extremely positive impact on the development. Bug reports are also effective though direct code submissions are not as easily preformed (which results in the developers making more code than the community) the project stays in line with the developers intentions. That being said, I will personally make an effort to learn how to use github and git, as this not only seems popular and practical nowadays, it also seem like and extremely smooth way for version and safe development control. This has been very educational, and I hope everyone enjoyed and joins me next time where I look at the assembly and the 6502 machine.


If you would like to check the vision of my blog, the link is right here:


 
 
 

Comments


Never Miss a Post. Subscribe Now!

Thanks for submitting!

© 2023 by Shayaan Khan. Created with Wix.com 

  • Grey Twitter Icon
bottom of page