Just realized you said open source 😄. I don't know of one. All seem to depend on someone else's data. Here are some options
https://www.google.com/search?q=site%3Agithub.com+currency+convert&oq=site%3Agithub.com+currency+convert&gs_lcrp=EgZjaHJvbWUyBggAEEUYOTIGCAEQRRg60gEJMTA0NDVqMWo3qAIUsAIB&client=ms-android-tmus-us-revc&sourceid=chrome-mobile&ie=UTF-8