Jan Vogel
Op open source platform GitHub zijn de engineers de baas
“We willen iets teruggeven aan de engineering community. Daarom delen we al een jaar of vijf code die we binnen ING ontwikkelen. Open sourcing is vanzelfsprekend voor ons.” Aan het woord is Jan Vogel, Architect Tech/Infra/EA bij ING en voorzitter van ING’s Open Source Board.
Open source en een bank? Gaat dat wel samen? Een bank heeft nu eenmaal te maken met strenge regelgeving en veiligheidsrichtlijnen. ING heeft daarom een Open Source Board die toetst of een IT project extern gedeeld mag worden. GitHub is dan de plek.
Jan: “Uitgangspunt is dat we zoveel mogelijk willen delen, dat past bij onze engineering cultuur en waarden. Maar we hebben het wel over intellectueel eigendom, daar gaan we zorgvuldig mee om. De Open Source Board kijkt naar aspecten als: zijn we trots op wat we gemaakt hebben? Is het goed voor de community, interessant voor engineers? Willen we graag contributies van externe engineers? Hoe concurrentiegevoelig is het project? Zijn er security of privacy issues? En past het bij ING’s branding?”
“Onze eigen engineers zijn de beste graadmeters voor het succes van een project op GitHub. Code komt in aanmerking voor open source als het binnen ING door meerdere engineering teams gebruikt wordt. Dat geeft al een indicatie dat het goed in elkaar steekt en potentie heeft. Eerst gaan we dan ‘intern sourcen’: de code komt beschikbaar voor alle engineers binnen ING, de meest populaire projecten gaan naar buiten, op GitHub - als ze aan de toetsing voldoen.”
“In de praktijk is een groot deel van wat we maken geschikt om te open sourcen, daarom doen we het ook op grote schaal. Voor onze engineers is het leuk en uitdagend, het is natuurlijk een mooi compliment als jouw code door collega-engineers gebruikt wordt. Regelmatig komen er ook uitnodigingen om een artikel te schrijven of te komen spreken op een conferentie, dat is de kers op de taart.”
“Andersom zijn wij zeer geïnteresseerd in de feedback en contributies van externe engineers op onze projecten, zoals onze engineers ook actief bijdragen aan projecten van anderen op GitHub. Op het platform zijn de engineers de baas, zij publiceren hun code, reageren op feedback en monitoren contributies. De kwaliteit van de code wordt dankzij open sourcing vaak nog veel beter, we leren er met zijn allen van. Hoe wederkerigheid leidt tot mooiere, betere oplossingen is heel tof om te ervaren. En het werkt enorm motiverend.”
ING deelt code op GitHub. Je ziet daar bijvoorbeeld projecten als:
- Lion : Fundamental white label web component features for your design system. Onderdeel van de front-end engine van MijnING. Deze is erg populair geworden in de open source community. Het project is inmiddels meer dan 200 keer geforked en heeft bijna 1500 GitHub stars. Ontwikkeld in Javascript door ING-engineers in onder andere Nederland, Spanje, Roemenië en 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. Onderdeel van de infrastructuur monitoring van de ING datacenters. Het project is een uitbreiding op het OpenTelemetry project. In korte tijd is dit project meer dan 1000 maal geforked. Het project is ontwikkeld in Go door ING-engineers in Nederland.
- Baker : Orchestrate microservice-based process flows. Het orchestreren van micro-services wordt vereenvoudigd door middel van het schrijven van een “recept” waar een proces in stappen wordt beschreven. Baker kreeg sinds 2017 ruim 80 forks en bijna 300 Github stars. Het project is geschreven in Scala door ING-engineers in Nederland en Duitsland.
- PopMon: Monitor the stability of a Pandas or Spark dataframe. Dit project analyseert de stabiliteit van een Pandas of Spark dataset over verloop van tijd. Het is geschreven in Python door ING-engineers uit Nederland en Engeland.
- ZKFlow : The ZKFlow consensus protocol enables private transactions on Corda for arbitrary smart contracts using Zero Knowledge Proofs. Geschreven in Kotlin door ING-engineers in Nederland.
- ING Open Banking
- Meerdere transactie API’s
- iDeal Transacties Open source tools and API to connect webshops and merchants to ING using iDeal. Geschreven in respectievelijk PHP, .NET en Java.
Draag ook bij!
Ben je engineer en geïnteresseerd in wat we doen? Check de projecten van ING op GitHub, laat weten wat je vindt van de code en deel je contributie. We zijn benieuwd naar je.