So I have read shared libraries in micorsevrice ae bad, becuase they dont allow complete autonomy of the service to evolve.
And example:
Service A and Service B both talk to Service C to view some data.
I can create the domain objects in each service and copy the code from Service C.
OR
I can share a shared library between the services.
Now i know if i need to chnage the shared library il have to deploy the 3 services again.
BUT
If i duplicate code and I find a bug in the original code, I still need to deploy all 3 services as the code is copied so there still is a ripple affect.
So why is sharing so bad, in my example?