Lab 1 : Open-source software packages




·         Introduction:
VLC media player is a free and open-source software which serves as a player for nearly every multimedia file. It is available for desktop’s operating systems, as well as in many popular mobile’s operating systems such as Android, IOS, Windows Phone, etc. The software is developed by the VideoLAN non-profit organization and is licensed under GPL-2.0 (GNU General Public License).
·         Code contributions
In order to contribute codes to this open-source software, one must subscribe to one of the available mailing lists so that secure communications can be established between developers. The lists' members are hidden to everyone except for the list administrators. All posts will be available for everyone in the mailing list to view and comment on. Besides the mailing lists, one can also join the software’s IRC channel to get help on code development from many developers. Bug-tracking system for this software is also available for everyone to keep track of the reported bugs and errors to fix them.
·         Successful code acceptance


The issue was discussed by three people. The contributor, Felix Paul, gave a short description of what the problem was and provided a snippet of code that was supposed to fix the problem. He/she attempted to fix the issue which involved the loss of information for Digest Authentication due to reconnection. It took about three days for an active contributor in the community, Rémi Denis-Courmont, to reply. When I searched for more info about this member, I found out that Rémi was an online representative of a consulting service business whose website can be accessed here: https://www.remlab.net/. Apparently, Rémi is an expertise in the development of this open-source software for more than fifteen years. The code was quickly handled, since the members viewed and replied each other’s messages as soon as possible in order to fix and make changes to the code snippet. In the end, the code was accepted by Thomas Guillem, another member who was in charge of many development stages for this software.

The advantage of this approach is that it’s easy to communicate with all the developers who are currently active in the community. Whenever a patch is sent out, everyone can view it and response back to the contributor as soon as they want. It’s as easy as sending an email to a friend, as all you need to do subscribe your email to the community’s mailing lists in order to get involved in the development of this software. The disadvantage is obvious in this kind of an approach. There will be spam and topics that are completely unrelated to the software. By subscribing our’s email to the mailing lists, we can also expose ourselves to virus and malware sent from other members. 
·         Introduction:
LibreOffice is a free and open-source office suite which is a project created by The Document Foundation. LibreOffice offers many similar features to Microsoft Office such as word processing, slideshows, diagrams and drawings, spreadsheet managing, etc. The main key difference between them is that one is free to use and the other one requires purchase for legal use. LibreOffice is licensed under Mozilla Public License v2.0.
·         Code Contribution:
This open-source project has a community for its developers on Gerrit. Gerrit is a free, web-based tool that is mainly used for code review. It also integrates closely with GitHub, a distributed version control system. Programmers that are interested in helping the project will need a Gerrit account in order to submit patches on there for the core developers to review them. They also need to have access to Bugzilla, a bug tracking system, in order to assign one or more reported bugs from the project to themselves so that no one will work on fixing the bug(s) they’ve chosen. Weekly updates are required for everyone so that they will know if there’s anyone getting stuck in their bug fixing process.
·         Successful code acceptance


This code review involves four people. The contributor posted a link to the patch he made as well as a link to the reported bug related to the code. The problem seems to be that LibreOffice will crash whenever a database file is opened. The code was reviewed by the core developers of the project. After one core developer reviewed and verified that the code was working okay, other core developers would go on to review the code again and test it to make sure everything was fine.

You could see the “+1” and “+2” besides the “verified” and “Code Review”. “+1” means that the code run successfully and “+2” means it will be merged with the project. It usually takes around one to two days for the code to be reviewed. In this particular example, the code was reviewed on the same day that it was posted. Finally, the contributor did one last review and merged the patch. The patch will be available in the next software’s update.

        The advantage of this approach is that all code contributions are posted and stored on Gerrit. It’s much more secure than using mail like the previous approach by VLC media player. I see no downside in using Gerrit for code review. Gerrit is user-friendly and it shares many similar features to GitHub. This is the kind of approach I would recommend for any kind of contribution to an open-source software.

Comments

Popular posts from this blog

Lab 2: Assembly Language Lab