[Zope] Re: Modifying __bases__

Tres Seaver tseaver at palladion.com
Sat May 21 11:15:09 EDT 2005


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Dan Pozmanter wrote:

> Out of curiosity, I've noticed the word "evil" attached to patching
> of various and monkey kinds.  Not "bad", or "unwise", but "evil",
> implying a morality associated with the act.

The phrase encodes a bunch of folklore and geek sentiments in a
humourous ("half in fun but full earnest") meme:

  - Monkey patching can invalidate documented APIs and behavior;  in
    this sense, a monkey patch is "taking out a loan" which will be
    repaid later, either by the original perpetrator or by some other
    poor schmuck ("Vinny's crowbar *hurts*.")

  - A monkey patch is often a pure expedience:  "Rather than redo *my*
    software to correct a problem *I* injected, I'll just bash the base
    software to work around it."  In this mode, it is a sign of poor
    design or quality in the perpetrator's code.

  - Sometimes, a monkey patch is the only way to address a particular
    issue without updating the underlying software (most "hotfixes" for
    security issues involve monkey patching).  In this mode, the patch
    is a sign that the underlying software has a bug, hard-wired some
    policy that it shouldn't have, or is otherwise defective.

> What is morally wrong with modifying live objects in a dynamic language
> to achieve desired functionality?
> The idea is "I want to modify the zope core in a way that survives
> version to version, yet does not
> impose a specific use case on all zope users".

In general, the use case is fine;  we would prefer to address it by
making the core software more flexible / configurable, such that it is
not necessary to monkey patch.


Tres.
- --
===================================================================
Tres Seaver                                   tseaver at palladion.com
Palladion Software   "Excellence by Design"    http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFCj1B9+gerLs4ltQ4RAmWjAJ97Qvr2xnv5qsCRYC7it4UtHdxvewCg2Zu9
ADCK48Ly7ZMUWbV8E6wS6Q0=
=3SS5
-----END PGP SIGNATURE-----



More information about the Zope mailing list