What do you do when your library is no longer supported?

One thing that I have always been frustrated with is when the library I use is no longer supported. Even looking through the update history and the community in advance, I was faced with a situation where I would come back later to find that the version used was the latest version.

As a rule, this goes unnoticed until a few months have passed or an error / restriction has been detected. I come across this quite often when coding in Python, because my desire to upgrade to a new version of the interpreter can easily introduce problems into libraries that worked just fine before. My question is: what is the best answer to this situation?

  • Do you become the keeper of the old library? Even if you only correct the mistakes you care about, this is still a lot of work. Especially if the library is large, complex and has less than well-documented code (this is most often the case).

  • Switch to another library (if any)? This is also an important event that can introduce new errors, especially if the only alternatives approach the problem from a different angle. This may be true, even if you have the foresight to write an abstraction layer for old library functions.

  • Are you rolling on your own? It probably ends up with less code than the old library, since you only write the parts that interest you. Therefore, it is easier to maintain in the future. But now you have spent days / weeks / months to create something that is probably less functional and guaranteed to introduce a ton of new bugs.

I understand that the answer depends on the specific case: on the size of the library, on whether the source is available, how convenient it is, how much it is used, how much your code uses it, etc. I am looking for answers in different cases. What are your impressions of this problem?

+5
source share
5 answers

Well, you found one argument to reduce the number of external dependencies ...

Java, ; , , - , . , . .

, , . , . , . , , "" , .

-, , , , , , , .

+10

, , .

, , .

, , , , (, 40 ), .

, .

, , , .

+2

Java EE, , , , . , Spring .

+1

, , , . , . , , - , - .

+1

. , , , , . , , .

We had a situation where we used an external library, and it was rewritten and reprogrammed by the author and no longer did what we expected. We flipped it over, wrote our own version, and continued safely.

The bottom line is safety and risk minimization.

+1
source

All Articles