For example, some library (in my case it's ruby gem) became deprecated. And my app is using this library. It's ok and I have not any problems with how it works. When should I switch from deprecated open-source library to something new? Or should I at all?
|
What was the reason for the deprecation? You have a responsibility to balance keeping your technology fresh with the demands of stable software. Every time you make a big change, you introduce a decent amount of risk that you'll break something doing that change. So evaluate the following for your situation:
A deprecated library is a library without any support. It also means that as other libraries improve (such as the rails framework), they will become incompatible with the deprecated library. If you are trying to stay current with those libraries, you might be forced to migrate to the new version. Otherwise, you can keep your whole library stack the same and never have to worry about the updates. You won't get new features, but you at least know how everything works together. |
|||
|
|
|
Deprecation today means that bugs will not be fixed tomorrow, unless you do it yourself. If you do not mind that, then no need to worry. |
|||
|
|
|
Deprecated in general means don't use it to write new code. It's perfectly fine to keep it in old code, but as you continue to maintain it, you'll find that legacy code becoming more and more difficult to support. It's usually pretty obvious to tell when you must upgrade it, as that code will be holding you back from making other changes you want to make, but that could be several years down the road. In other words, you don't need to worry about it right now, but you should probably plan to make the move at some point most convenient for you, such as when you're making a new major release anyway. |
|||
|
|
|
factors to consider:
|
|||
|
|
|
After you have written a full set of unit tests verifying your application's overall functionality. |
|||
|
|