[Tutor] ethics in programming

Barry A. Warsaw barry@zope.com
Sun, 13 Jan 2002 11:27:18 -0500


[Coming in on the middle of this thread, and I'm not sure of the
relevancy to the tutor list. -BAW]

>>>>> "SR" == Stephan Richter <srichter@cbu.edu> writes:

    SR> At 06:10 PM 1/12/2002 -0500, kirk Bailey wrote:
    >> This is a fair question, and deserves an answer.  Mailman
    >> cannot append advertisements, nor manage the rotation of them.
    >> If you want your list service to earn enough money to pay for
    >> itself, it has toeither SELL list service, or earn revenues
    >> from advertisements appended to the traffic passing through it.

    SR> Well, that might be a nice feature to have. :-)

Sure, and it would't be hard to add.  It's just not something I'm
interested in, nor has even had a single developer requested that
Mailman be able do this.  Mailman's community isn't primarily
listserve providers, and most who do provide list services do so as
part of a wider menu of offerings.

    >> And, building from the ground up, I had complete control of how
    >> it worked, and could insure it did what I wanted, the way I
    >> wanted, and when done I would have DEEP understanding of it,
    >> how it worked, why it worked, and why it was that way. This
    >> also translates later into a marketable skill- building a list
    >> server for others.

    SR> Well, I used to think like that too. But at one point you
    SR> realize that reinventing the wheel is not as cool as inventing
    SR> it.

The open source and free software communities have a rich and long
tradition of reinvention.  Well, all of software development does, but
we probably don't hear about 95% of commercial software
re-invention. :)

Mailman exists because the alternatives were non-existant,
non-functional, unmaintained, or inadequate at the time.  We've done a
good job, but of course we learned /a lot/ along the way.
    
    >> And, having had a distasteful experience with a product
    >> controled by someone else, by creating a tool myself I could
    >> insure I could always change it, and not have a problem with a
    >> primadonna messing up my goals withhis/her ego. That STILL
    >> leaves a bad taste in my mouth, 3 months later.

    SR> Well, I think that is the cool thing about Open Source. One
    SR> can do whatever he likes. A lot of my products for Zope will
    SR> never make it in the core, but still many people install them,
    SR> because they are helpful.

One of Mailman's design principles is to be extensible in controlled
ways.  I'd like to think it inherits this principle from Python.
Mailman -- or any software -- will never do everything that every user
wants it to do.  But I think a lot can be accomplished by providing a
solid core functionality, and lots of principled hooks for users to
extend or exchange parts.  Think Zope components.  That's just good
architecture IMHO.  Much of what Stephan and I will be talking about
next week will be moving more of the legacy bits of Mailman to a more
well designed, abstracted and extensible architcture.

-Barry