Programmers only: if you find a bug in someone else's software that affects your project, which of these things do you do? Select all that apply.

#EvanPoll #poll

Workaround
33.7%
Issue/bug report
39.8%
Pull request
23.8%
Other (please specify)
2.7%
Poll ended at .

@evan “patching” could be considered a workaround, but I think they’re different. A workaround deals with the buggy behavior or output within your own application’s boundary.

A patch jams the fix into the library so your own application can cleanly observe “bug free” behavior.

(Not always possible or viable)

@jasonkarns what about software not under your control? For example, a network service or API that you use, or a reader for a file your software creates?

@evan I meant the patching for stuff not under my control (libraries, primarily). in dynamic langs that allow post-facto modification, that is.

For a network service, one might consider an MITM “proxy” or adapter to be a form of patch, though that’s almost indistinguishable from a workaround. (Just a matter of degree, I suppose).

@evan Keeping the workaround isolated so that MY app is as ignorant of the patch as possible, is the key factor. It allows trivial removal of the patch/workaround once the behavior is fixed upstream.