Open-source News

Google Cloud, Société Générale, American Express, Point72, Mirantis, and The Digital Dollar Project Join FINOS, as Open Source Collaboration Becomes Increasingly Critical Across the Global Financial Ecosystem

The Linux Foundation - Tue, 05/31/2022 - 21:53
The Fintech Open Source Foundation continues to expand support across all constituents and geographies with increased buy-side, cloud and financial technology representation

New York, NY – May 31 – The Fintech Open Source Foundation (FINOS), the financial services umbrella of the Linux Foundation, announced today the addition of six new corporate members, including Google Cloud, Société Générale, American Express, Point72, Mirantis, and The Digital Dollar Project. Building upon its 19 new Members in 2021 and its recent addition of Wellington Management Company to its Governing Board, FINOS now has 57 corporate members ushering a new era in open collaboration across the global financial services industry. 

These new members, as well as the entire FINOS ecosystem will meet in London on July 13 at its annual Open Source in Finance Forum

This addition of new members reinforces FINOS’ position as the arena of choice to build the next generation of financial technologies on common standards and open source components for financial institutions on both the sell-side and buy-side, fintechs, cloud companies, regulators, industry consortia and individual contributors. FINOS continues to see growth in the number and diversity of its corporate members across the world, with more than a 35% increase in the number of members year-over-year, fueling a community of more than 1,200 active contributors. This announcement is particularly significant as the engagement of cloud vendors and new buy-side firms signals widespread reception of open source return on investment across the technology value chain as a whole.

“We are at a pivotal moment in our evolution as a Community, where literally every constituent of the industry has come to the realization that open source collaboration has the concrete potential to bring to life the vision of a highly efficient, interoperable and developer-friendly global financial technology stack,” said Gabriele Columbro, Executive Director of FINOS. “From cloud and open source leaders heading the charge to some of the historically most conservative firms in the world now rolling out Open Source Program Offices (OSPOs), we are incredibly proud to see global recognition of the value in open source and of the role FINOS played in this evolution.” 

Meet the new members 

Google Cloud becomes the first global cloud service provider joining FINOS as a Gold member. Google Cloud will contribute to critical efforts for cloud deployments in financial services like the FINOS Open RegTech and Compliant Financial Infrastructure initiatives, aimed at driving adoption of FINOS open source projects in the cloud. 

“For more than 20 years, Google has helped shape the future of computing with its technology leadership and support across the open source ecosystem,” said Zac Maufe, Director, Financial Services, Google Cloud. “We are thrilled to join FINOS and its community of companies and people dedicated to open source. As the financial services industry accelerates its adoption of cloud technologies, FINOS open source projects will deliver valuable support to both our customers and the financial services tech community at large.”

Société Générale (SocGen), a French multinational investment bank and financial services company, joins FINOS as a Gold member, representing an important addition to the European sell-side representation in FINOS. This comes on the heels of the Linux Foundation amplifying its global focus with the recently announced inaugural European World of Open Source: 2022 Europe Spotlight Survey, a testament to the truly global nature and potential of the open source Community.

“Société Générale implemented an ‘Open Source First’ policy in 2017 and established it’s Open Source Program office (OSPO) in 2020,” said Alain Voiment, CIO for Group digital foundations and corporate functions, Société Générale. “Over the years, our focus has been to evolve in the open source journey by deriving benefits from infrastructure layer to applicative layer to business value add while engaging our developers’ community. As we become a more ‘tech enabled’ company leveraging the power of IT, digital, and data, we continue to foster our innovation capacity in bringing added value for our clients. Collaboration with FINOS is the right step in this direction and there couldn’t be a better time to embark on this journey.”

Our third Gold member, American Express, is dedicated to delivering digital products and services that enhance the lives of their customers, and believe open-source is a key component in supporting innovative growth across the industry. 

“Our technology philosophy focuses on delivering increased scale and efficiency, improved speed to market, high-quality, and security, while always keeping our customer at the center of all we do,” said Hilary Packer, Executive Vice President & Chief Technology Officer, American Express. “We’re excited to join FINOS because of the opportunities it will provide to collaborate with and contribute to the community, while supporting our ongoing adoption of open-source software, standards, and best practices, which in turn will help drive the continued success and growth of our company.”

FINOS also continues to expand the open source technology footprint among buy-side institutions to deliver innovation among the investment and asset management industries. Firms now have the ability to leverage open source connectivity, through projects like FDC3 that bolster interoperability with the sell-side, to access the market quickly in a vendor agnostic fashion. Newest Silver member Point72, a global asset manager which invests in multiple strategies and asset classes, was the first buy-side firm to join FINOS earlier in 2022, signaling their leadership and strong focus on the use of open source in this industry sector.

“Open source has emerged as an increasingly important driver of innovation in leading technology organizations within financial services,” said Mark Brubaker, Chief Technology Officer at Point72. “Our decision to join FINOS reflects our belief that open source collaboration raises all boats, benefiting all organizations and technologists.”

Mirantis, an established open source leader and cloud management platform that helps organizations easily ship code on public and private clouds, also joined FINOS as a Silver member.

“We are proud and excited to join FINOS,” said Andy Wild, Chief Revenue Officer of Mirantis. “With the rapid adoption of Cloud Native Technologies driven by Kubernetes in the financial industry, Mirantis understands that collaboration is the fastest path to innovation, and our open source based products and services have helped to drive innovation and growth for our financial customers for years. Joining FINOS, we look forward to having the opportunity to further align with the needs of the financial industry.”

FINOS also welcomes its latest Associate member, The Digital Dollar Project, a leading private-public partnership advancing the study and exploration of a potential U.S. Central Bank Digital Currency (CBDC), an initiative FINOS recently announced its support for in Davos.

“New advances in financial technology, including CBDCs, have the power to transform economies and connect people, governments, and businesses, locally and globally,” said Jennifer Lassiter, Executive Director of The Digital Dollar Project. “We know that experimentation and information sharing are critical to innovation, which is why we are thrilled to contribute to open source solutions as a new addition to the vibrant FINOS community.”

The addition of new Gold, Silver and Associate members marks continued forward momentum of FINOS’ mission to drive mass open source adoption across all facets of the financial services industry, strengthening its position as the leading organization supporting the industry as they collaborate on vital areas, such as interoperability, data standards, and open source security.

To learn more about joining FINOS as a member, visit the Membership Benefits page. Meet the FINOS team in London on July 13 at its annual Open Source in Finance Forum

About FINOS

FINOS (The Fintech Open Source Foundation) is a nonprofit whose mission is to foster adoption of open source, open standards and collaborative software development practices in financial services. It is the center for open source developers and the financial services industry to build new technology projects that have a lasting impact on business operations. As a regulatory compliant platform, the foundation enables developers from these competing organizations to collaborate on projects with a strong propensity for mutualization. It has enabled codebase contributions from both the buy- and sell-side firms and counts over 50 major financial institutions, fintechs and technology consultancies as part of its membership. FINOS is also part of the Linux Foundation, the largest shared technology organization in the world. Get involved and join FINOS as a Member.

Media Contact:
Catharine Rybeck 
Caliber Corporate Advisers 
catharine@calibercorporateadvisers.com 

The post Google Cloud, Société Générale, American Express, Point72, Mirantis, and The Digital Dollar Project Join FINOS, as Open Source Collaboration Becomes Increasingly Critical Across the Global Financial Ecosystem appeared first on Linux Foundation.

Nouveau Begins Shifting Around Code For Use By New Driver - Vulkan And/Or New Driver

Phoronix - Tue, 05/31/2022 - 18:38
While the just talked about Nouveau beginning to land GeForce RTX 30 "Ampere" open-source support is exciting, as mentioned there still are hurdles to overcome for having good open-source NVIDIA driver performance on modern GPUs. So equally exciting news is that Nouveau has begun adapting some of their code into a standalone library so it can be used in the future by other new driver(s)...

Nouveau Gallium3D Begins Landing RTX 30 "Ampere" GPU Driver Code

Phoronix - Tue, 05/31/2022 - 18:04
Early bits of NVIDIA GeForce RTX 30 "Ampere" support were merged today into Mesa 22.2...

A Fix Is On The Way For A Previously-Reported Linux 5.18 Performance Regression

Phoronix - Tue, 05/31/2022 - 17:34
Back during the Linux 5.18 merge window in March I wrote about a big NUMA benchmark performance regression I noticed and bisected. It turns out there has been a fix for it in patch form albeit I only noticed this weekend and now was able to successfully test and verify the fix. That fix is now working its way to the mainline kernel...

Firefox 101 Released With Few Notable Changes

Phoronix - Tue, 05/31/2022 - 17:22
Mozilla Firefox 101 is officially meeting the world today. One week after Google's Chrome 102, it's now time for Mozilla's new monthly update on the Gecko side with Firefox 101...

NFSv4 "Courteous Server" Lands As Part Of Linux 5.19 NFSD Changes

Phoronix - Tue, 05/31/2022 - 17:09
The NFS server (NFSD) changes have been merged into the Linux 5.19 kernel and a new feature this cycle is supporting the NFSv4 "Courteous Server" functionality...

Clang RandStruct Lands As Part Of Kernel Hardening For Linux 5.19

Phoronix - Tue, 05/31/2022 - 16:55
Merged into the mainline Linux 5.19 kernel last week was the latest batch of kernel hardening work, which includes introducing the Clang RandStruct support and other changes to beef up the kernel's defenses...

Installation of “CentOS Stream 9″ with Screenshots

Tecmint - Tue, 05/31/2022 - 16:02
The post Installation of “CentOS Stream 9″ with Screenshots first appeared on Tecmint: Linux Howtos, Tutorials & Guides .

When Red Had shifted CentOS from a major release structure to a rolling release, users were angry as hell but CentOS went smooth, and recently they came up with their new release of CentOS

The post Installation of “CentOS Stream 9″ with Screenshots first appeared on Tecmint: Linux Howtos, Tutorials & Guides.

How dynamic linking for modular libraries works on Linux

opensource.com - Tue, 05/31/2022 - 15:00
How dynamic linking for modular libraries works on Linux Jayashree Hutt… Tue, 05/31/2022 - 03:00 Register or Login to like Register or Login to like

When you write an application using the C programming language, your code usually has multiple source files.

Ultimately, these files must be compiled into a single executable. You can do this by creating either static or dynamic libraries (the latter are also referred to as shared libraries). These two types of libraries vary in how they are created and linked. Both have advantages and disadvantages, depending on your use case.

Dynamic linking is the most common method, especially on Linux systems. Dynamic linking keeps libraries modular, so just one library can be shared between any number of applications. Modularity also allows a shared library to be updated independently of the applications that rely upon it.

In this article, I demonstrate how dynamic linking works. In a future article, I'll demonstrate static linking.

Linker

A linker is a command that combines several pieces of a program together and reorganizes the memory allocation for them.

The functions of a linker include:

  • Integrating all the pieces of a program
  • Figuring out a new memory organization so that all the pieces fit together
  • Reviving addresses so that the program can run under the new memory organization
  • Resolving symbolic references

As a result of all these linker functionalities, a runnable program called an executable is created. Before you can create a dynamically linked executable, you need some libraries to link to and an application to compile. Get your favorite text editor ready and follow along.

Create the object files

First, create the header file mymath.h with these function signatures:

int add(int a, int b);
int sub(int a, int b);
int mult(int a, int b);
int divi(int a, int b);

Create add.c, sub.c , mult.c and divi.c with these function definitions. I'm placing all of the code in one code block, so divide it up among four files, as indicated in the comments:

// add.c
int add(int a, int b){
return (a+b);
}

//sub.c
int sub(int a, int b){
return (a-b);
}

//mult.c
int mult(int a, int b){
return (a*b);
}

//divi.c
int divi(int a, int b){
return (a/b);
}

Now generate object files add.o, sub.o, mult.o, and divi.o using GCC:

$ gcc -c add.c sub.c mult.c divi.c

The -c option skips the linking step and creates only object files.

Programming and development Red Hat Developers Blog Programming cheat sheets Try for free: Red Hat Learning Subscription eBook: An introduction to programming with Bash Bash shell scripting cheat sheet eBook: Modernizing Enterprise Java Creating a shared object file

Dynamic libraries are linked during the execution of the final executable. Only the name of the dynamic library is placed in the final executable. The actual linking happens during runtime, when both executable and library are placed in the main memory.

In addition to being sharable, another advantage of a dynamic library is that it reduces the size of the final executable file. Instead of having a redundant copy of the library, an application using a library includes only the name of the library when the final executable is created.

You can create dynamic libraries from your existing sample code:

$ gcc -Wall -fPIC -c add.c sub.c mult.c divi.c

The option -fPIC tells GCC to generate position-independent code (PIC). The -Wall option isn't necessary and has nothing to do with how the code is compiling. Still, it's a valuable option because it enables compiler warnings, which can be helpful when troubleshooting.

Using GCC, create the shared library libmymath.so:

$ gcc -shared -o libmymath.so \
add.o sub.o mult.o divi.o

You have now created a simple example math library, libmymath.so, which you can use in C code. There are, of course, very complex C libraries out there, and this is the process their developers use to generate the final product that you or I install for use in C code.

Next, you can use your new math library in some custom code, then link it.

Creating a dynamically linked executable

Suppose you've written a command for mathematics. Create a file called mathDemo.c and paste this code into it:

#include
#include
#include

int main()
{
  int x, y;
  printf("Enter two numbers\n");
  scanf("%d%d",&x,&y);
 
  printf("\n%d + %d = %d", x, y, add(x, y));
  printf("\n%d - %d = %d", x, y, sub(x, y));
  printf("\n%d * %d = %d", x, y, mult(x, y));

  if(y==0){
    printf("\nDenominator is zero so can't perform division\n");
      exit(0);
  }else{
      printf("\n%d / %d = %d\n", x, y, divi(x, y));
      return 0;
  }
}

Notice that the first line is an include statement referencing, by name, your own libmymath library. To use a shared library, you must have it installed. If you don't install the library you use, then when your executable runs and searches for the included library, it won't be able to find it. Should you need to compile code without installing a library to a known directory, there are ways to override default settings. For general use, however, it's expected that libraries exist in known locations, so that's what I'm demonstrating here.

Copy the file libmymath.so to a standard system directory, such as /usr/lib64, and then run ldconfig. The ldconfig command creates the required links and cache to the most recent shared libraries found in the standard library directories.

$ sudo cp libmymath.so /usr/lib64/
$ sudo ldconfigCompiling the application

Create an object file called mathDemo.o from your application source code (mathDemo.c):

$ gcc -I . -c mathDemo.c

The -I option tells GCC to search for header files (mymath.h in this case) in the directory listed after it. In this case, you're specifying the current directory, represented by a single dot (.). Create an executable, referring to your shared math library by name using the -l option:

$ gcc -o mathDynamic mathDemo.o -lmymath

GCC finds libmymath.so because it exists in a default system library directory. Use ldd to verify the shared libraries used:

$ ldd mathDemo
    linux-vdso.so.1 (0x00007fffe6a30000)
    libmymath.so => /usr/lib64/libmymath.so (0x00007fe4d4d33000)
    libc.so.6 => /lib64/libc.so.6 (0x00007fe4d4b29000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fe4d4d4e000)

Take a look at the size of the mathDemo executable:

$ du ./mathDynamic
24   ./mathDynamic

It's a small application, of course, and the amount of disk space it occupies reflects that. For comparison, a statically linked version of the same code (as you'll see in my next article) is 932K!

$ ./mathDynamic
Enter two numbers
25
5

25 + 5 = 30
25 - 5 = 20
25 * 5 = 125
25 / 5 = 5

You can verify that it's dynamically linked with the file command:

$ file ./mathDynamic
./mathDynamic: ELF 64-bit LSB executable, x86-64,
dynamically linked,
interpreter /lib64/ld-linux-x86-64.so.2,
with debug_info, not stripped

Success!

Dynamically linking

A shared library leads to a lightweight executable, as the linking happens during runtime. Because it resolves references during runtime, it does take more time for execution. However, since the vast majority of commands on everyday Linux systems are dynamically linked and on modern hardware, the time saved is negligible. Its inherent modularity is a powerful feature for developers and users alike.

In this article, I described how to create dynamic libraries and link them into a final executable. I'll use the same source code to create a statically linked executable in my next article.

Learn how to combine multiple C object files into single executable with dynamic libraries.

Image by:

Paul Lewin. Modified by Opensource.com. CC BY-SA 2.0

Programming Linux What to read next How to handle dynamic and static libraries in Linux Anyone can compile open source code in these three simple steps Dynamically linking libraries while compiling code This work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License. Register or Login to post a comment.

Pages