[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