Advertisement

How do you feel about using dead/unmaintained libraries?

Started by November 21, 2013 10:52 PM
2 comments, last by AgentC 11 years ago

Say I'm looking for a certain kind of third-party library/framework/engine to fill some role in my game. I find a library that fits my requirements, or at the very least fits my requirements better than similar libraries. The only drawback is that the project is apparently dead. The web site hasn't been updated in years, the forums are empty, and the source repository seems inactive.

The library is open source, so it's not necessarily lost. But then I'd have the responsibility of maintaining the library myself in my own project. The alternatives are (a) using a worse but active library or (b) implementing the library functionality myself and possibly killing my project again.

How do people here feel about using libraries that aren't maintained by anyone anymore? Does it ever depend on the project and/or what the library does?

Depends on how mature it was before it was abandoned. If it was fairly mature (ie, no game-breaking bugs) then no biggie. Additionally, it depends upon your ability and willingness to fix for yourself any bugs that do occur. If it's so complex that a bug would stymie you, then maybe don't use it. Finally, it might also depend on the availability of other, more active, libraries that can fill the same need.

Advertisement


How do people here feel about using libraries that aren't maintained by anyone anymore? Does it ever depend on the project and/or what the library does?

With a few high-profile exceptions, most open-source projects aren't maintained with a terribly active customer focus. Chances are that even in an active project, bug reports will take weeks or months to be resolved, and feature requests will be debated ad infinitum.

In my mind, this means that if you use open-source middleware (actively maintained or not), which is not well know to be battle-hardened, then you need to be capable enough to maintain the software and develop features yourself.

So I'm not really bothered by unmaintained libraries, provided the license is permissive enough to allow me to make and ship modifications without absorbing the burden of supporting 3rd-parties.

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

I would look for for the following criteria:

- Does it at the moment (ie. in the state it was left in) fill my needs with no major missing features or bugs? If yes, I wouldn't be that afraid of what happens in the future.

- If I would need to fix or modify it, does the code look like it would be manageable?

- Does the code interface with system-level APIs and potentially need updates for new operating system or API versions? (libraries like SDL or OGRE) Or is it just self-contained and operates on data? (image loaders, physics libraries etc.) For the former being a dead library is a bigger deal.

This topic is closed to new replies.

Advertisement