OSS contributions in real life: Finbourne example, part 1
Tags: opensource, finbourne, community, java
Published: 2022-06-04 22:14:31

Have you ever tried to understand what is some company actually doing, from the software engineering point of view?

Let´s take a company named Finbourne (https://www.finbourne.com/). 
Finbourne website states that: “At FINBOURNE we liberate your data, making it accessible across the investment chain. Our solutions restore control and confidence, empowering everyone from emerging hedge funds to established global institutions.”.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e3ngfs6i35f2a410sgdv.png)
 
 

Well, it looks the company provides data processing and data delivery. However, from the engineer´s point of view, that is still very vague. You wouldn´t expect a financial company to speak engineering language on it´s first page, right? 

So how do we actually check which kind of software Finbourne creates? 

Open Source Community to the rescue. 
It turns out that Finbourne has a GitHub account at https://github.com/finbourne 
The account is “verified”, which makes it (most likely) credible.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sjpco9fgvzzduplpsgrz.png)
 

Now, let´s take a look at the GitHub repositories of the Finbourne.
 
At the page a investment data platform called Lusid is mentioned. 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xr28byct3xon73emhrdu.png)
 

Tech is only mentioned on the front page if it is really important. So, let´s check if there are repositories related to Lusid and filter them by Java language usage
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ay0jjpfhphaw72ukb0ss.png)
 

I have chosen the “lusid-sdk-java-preview” as it presents the latest features in the Lusid´s SDK.
The https://github.com/finbourne/lusid-sdk-java-preview/blob/master/README.md file is quite simple, so the best way to understand the project is to fork it and take a look.

As you can see, the project has been recently updated.

Here comes the easy part.
I need to check which branch is normally used to development and try to build it.
From the git history we can see that both master and develop branches are on the latest codebase.
I will select “develop”.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xafejf9ieqk85uyfpkot.png)
 


Profit! 
The project builds and now I can actually start investigating and probably contributing (why not?):
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ar5bgcxlab43x5b9z7sc.png)
 

As usually, lets add maven wrapper and gradle scan to the project:
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cr16sph7xlc8k9zkbldc.png)
 


Sorry for not taking screenshots, but basically I need to add 2 things to the project, just to make it look cleaner: maven wrapper and gradle scan plugin.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vya7hb84zx1xu32w2117.png)
 

Now let´s add gradle scan plugin to the project.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pzagjxvrc9r406rfuweb.png)
 

Well, a pull request has been raised:
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5nso4v109o53ggkr8j2n.png)
 

And a build scan hass succeeded.
I can already see some problems there, but we will leave it for the future articles.
https://gradle.com/s/xld4m4satpzoc
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qi72nn49qfbjw3v5fbal.png)