amplitude / experiment-ruby-server

Amplitude Experiment Ruby Server SDK
MIT License
2 stars 4 forks source link

Request to Open Source for Evaluation Binaries #30

Open cpruitt opened 1 year ago

cpruitt commented 1 year ago

Hello! Thanks for providing this gem to use in our Amplitude integration. It's been really enjoyable to work with so far.

In looking through the gem source, I see that local flag evaluation is handled by precompiled binaries. Specifically:

The lack of visibility into what is run in these binaries makes evaluation for security and stability a bit difficult. We use the native mobile clients, such as amplitude/experiment-ios-client, which are open source. I'd like to see if you would be able to provide or (even better) include in this repo the source code for this gem's binary files in the same way.

Thanks very much for the help with this!

bgiori commented 1 year ago

Hi @cpruitt thanks for your comment!

The binaries are compiled from an open source project located here: https://github.com/amplitude/experiment-evaluation

The readme is a little out of date. The linked library is used by our jvm, nodejs, go, ruby, and python sdks to run evaluation using the same code base. Let me know if you have further questions or concerns.

The bulk of the evaluation code is in this file: https://github.com/amplitude/experiment-evaluation/blob/main/evaluation-core/src/commonMain/kotlin/EvaluationEngine.kt

cpruitt commented 1 year ago

@bgiori Thanks! This is great info. If you all have a chance at some point, it would be great to see these links either in the main readme, in a readme inside of lib/experiment/local/evaluation/lib/, or as a prominent comment in the header files. What you gave me answers my question, I'm just thinking about ways to help future folks. 😄

Thanks again, I appreciate the quick reply!