They should design from the beginning to be as open source as possible. I work for a known customer and for their analytics stack they used in one of their departments they use some non-free libraries. From the first month I asked them to research open source libraries to have as a fallback and make the source code as friendly as possible to other contributors as if tomorrow we would open source it. The idea is that if we disappear people should take over easily. If the non-free vendor disappear or we do not have the money to spend we need a fallback.
They listened to the second part, but not the first.
During summer I had to build around this non-free libraries but their subscription ended when people responsible were in vacations and the project was paused because of design bugs for two months, so they did not plan to renew the license for two months. Still my part had to carry on in the mean time.
I added an open source library as a fallback, even if it was 4x slower. Because of delays the license was renewed 3 months later when design issues were addressed. If they had designed around open source from the start I would have a better time. It was a real pain to replicate the functionality around the open source library. It was not a drop-in, not very far but far enough to cause hard to find bugs, in nasty calculational code. That had a number of bugs already and bad code quality.
They should design from the beginning to be as open source as possible. I work for a known customer and for their analytics stack they used in one of their departments they use some non-free libraries. From the first month I asked them to research open source libraries to have as a fallback and make the source code as friendly as possible to other contributors as if tomorrow we would open source it. The idea is that if we disappear people should take over easily. If the non-free vendor disappear or we do not have the money to spend we need a fallback.
They listened to the second part, but not the first.
During summer I had to build around this non-free libraries but their subscription ended when people responsible were in vacations and the project was paused because of design bugs for two months, so they did not plan to renew the license for two months. Still my part had to carry on in the mean time.
I added an open source library as a fallback, even if it was 4x slower. Because of delays the license was renewed 3 months later when design issues were addressed. If they had designed around open source from the start I would have a better time. It was a real pain to replicate the functionality around the open source library. It was not a drop-in, not very far but far enough to cause hard to find bugs, in nasty calculational code. That had a number of bugs already and bad code quality.
My experience.