Jan Vogel
Engineers rule on the GitHub open source platform
“We want to give something back to the engineering community. That’s why we’ve been sharing the code we develop within ING for the past five years or so. Open sourcing goes without saying for us,” says Jan Vogel, Architect Tech/Infra/EA at ING and chair of ING’s Open Source Board.
Can ‘open source’ and ‘banking’ go hand in hand? After all, a bank is bound by strict regulations and security guidelines. That’s why ING has an Open Source Board which assesses whether an IT project is suitable for sharing externally on GitHub.
Jan: “Our aim is to share as much as possible; that’s aligned with our engineering culture and values. But because code is a form of intellectual property, we need to treat it with care. The Open Source Board considers a number of questions, including: Are we proud of what we’ve developed? Is it good for the community, and interesting for engineers? Would we like to receive input from external engineers? How competition-sensitive is the project? Are there security or privacy issues? And does it fit with ING’s branding?”
“Our own engineers are the best indicator of a project’s likely success on GitHub. Code will be considered for open sourcing if it’s used by multiple engineering teams within ING, because that implies that it’s well designed and has potential. In that case, we first make it ‘internal source’: the code is made available to all engineers within ING. The most popular projects are then made available externally on GitHub, providing that they are approved.”
“In practice, a large proportion of what we develop is suitable for open sourcing. That’s why we do it on such a large scale. It keeps things fun and challenging for our engineers, and of course it’s a great compliment if your code is used by other engineers. And as the icing on the cake, this regularly leads to invitations to write an article or speak at a conference.”
“Just as our engineers actively contribute to other people’s projects on GitHub, we’re also very interested in receiving external engineers’ feedback and input in relation to our own projects. Engineers rule on GitHub: they publish their code, react to feedback and monitor contributions. Open sourcing often significantly improves the quality of the code; it helps us to all learn together. It’s inspiring and hugely motivating to see how collaboration leads to better, more effective solutions.”
On GitHub, you can see lots of examples of how ING shares code, including the following projects:
- Lion : Fundamental white label web component features for your design system. Part of the front-end engine of MijnING. This has become very popular in the open source community. The project has already received more than 200 forks and almost 1,500 GitHub stars. It has been developed in Javascript by ING engineers in countries including the Netherlands, Spain, Romania and India.
- OpenTelemetry Collector Contrib: An Open Telemetry Collector which has the ability to receive/process/export three types of observability data: logs, traces and metrics. It sends open telemetry metrics over Kafka which can be ingested into Elasticsearch, extending the current Open Telemetry Elasticsearch exporter which only supports Open Telemetry logs. Part of the infrastructure monitoring of the ING data centres. The project is an extension of the OpenTelemetry project. This project has received more than a thousand forks in a short space of time. The project has been developed in Go by ING engineers in the Netherlands.
- Baker : Orchestrate microservice-based process flows. The orchestration of micro-services is simplified by writing a ‘recipe’ that describes a process step by step. Since 2017, Baker has received over 80 forks and almost 300 GitHub stars. The project has been written in Scala by ING engineers in the Netherlands and Germany.
- PopMon: Monitor the stability of a Pandas or Spark dataframe. This project analyses the stability of a Pandas or Spark dataset over time. It has been written in Python by ING engineers in the Netherlands and the UK.
- ZKFlow : The ZKFlow consensus protocol enables private transactions on Corda for arbitrary smart contracts using Zero Knowledge Proofs. It has been written in Kotlin by ING engineers in the Netherlands.
- ING Open Banking
- Meerdere transactie API’s
- iDeal Transacties Open source tools and API to connect webshops and merchants to ING using iDeal. Written in PHP, .NET and Java, respectively.
Share your input!
Are you an engineer and interested in what we do? Check out ING’s projects on GitHub, let us know what you think of the code and share your input. We’d love to hear from you!