SPO600 LAB 1 - Open Source Software Packages

 

In this post, I will be talking about two open-source software packages that use different licenses. I will discuss how the projects accept code submitted by contributors and one recent change that has been successfully submitted and reviewed in each community.

First, let's discuss what open-source packages are. Open-source software packages are computer software that is released under licenses to which a certain copyright holder is able to grant users the rights to use, research, update, and distribute the software package and its source code to anyone in which they could use to tackle any purpose.  These packages can be developed by one or multiple collaborators. The development can either be done privately or publicly. 

Anyone can submit a change to the code, often called patches. After a request to update has been submitted, the changes are reviewed, and if they pass the contribution criteria, are implemented. However, some open-source projects do not allow code contribution. Instead, they allow the open-source community to send tickets to report bugs and other problems in the software that can help alert the developers to make the changes and fix the bugs.

Let's now talk about OpenLayers, one of the two open-source software packages we will be tackling today. OpenLayers is a high-performance library for implementing interactive maps on any web project. The library is packed with features such as being able to display map tiles, vector data, and markers that can be loaded from any source. The library is completely free and is released under the BSD 2-Clause License. This means that it allows both private and commercial usage, modification, and distribution, given that you include a license and copyright notice.

OpenLayers accept contributions through their GitHub repository.  They provide instructions on what dependencies to install, how to run tests, and the overall style guidelines that should be followed by contributors.

Before working on a pull request from the package's repository, a contributor has to create an issue that explains what they want to contribute or improve. Once a core developer reviews the issue, the pull request is accepted. I will include the pull request criteria posted on the library's GitHub page below.

  • Follow OpenLayers's coding style. See the DEVELOPING.md doc for details on setting up your editor to conform with the style guidelines.
  • Pass the integration tests run automatically by the Continuous Integration system.
  • Address a single issue or add a single item of functionality.
  • Contain a clean history of small, incremental, logically separate commits, with no merge commits.
  • Use clear commit messages.
  • Be possible to merge automatically.

One issue during the early days of the project was brought up by a contributor mentioned the slow Tile loading. It happens when a map is initially rendered or when a user rapidly changes the view by changing the center of the view or the viewing resolution. This issue then causes a delay when loading a large number of new tiles. Multiple participants chimed in on the same day. One contributor mentioned that the number of loads per frame is only limited under high rendering pressure. The contributor then updated the code to only limit the number of tile loads when animation is occurring or when a user is interacting with the tiles. The code was pushed and during the same day, it was approved by a core developer.


Another open-source software package I will be discussing is LibreOffice. It is a free office suite that could be used as a substitute for Microsoft Office.  It features a clean interface and provides multiple features to help users increase their creativity and productivity.  LibreOffice is released subject to the terms of the Mozilla Public License. It is developed by a friendly community consisting of hundreds of contributors worldwide. 

Before a contributor can start improving the software, LibreOffice requires them to schedule an orienting interview with the TDF mentor Ilmaryi Lauhakangas. The request must include a brief explanation of what area they want to contribute to. 

Contributors can have access to the code on the LibreOffice Developers page.  Contributors can also file a bug through the same web page. Reporters would need to create a new account before filing bugs.

There is no documentation regarding the process of patch submissions however it should be the same process as the steps I discussed for OpenLayers. A contributor creates a ticket describing a bug or a new feature that they could add. Then, a core developer reviews the request and approves it. After that, the contributor can push the code for review before being approved and merged into the main code by the core developers.

This was a very challenging subject for me to discuss as I have little experience with open-source projects. While researching I have found out that some of the libraries I use with my front-end development projects are open source. Although the documentation. regarding the open-source projects that exist, navigating to actual issues and resolutions is quite challenging. Knowing that I already used open-source packages in my previous projects, it motivates me to dabble into open-source contribution and report bugs that I encounter when using these said libraries. 

 
















Comments

Popular Posts