ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From James Duncan Davidson <>
Subject Re: Updated design docs
Date Sun, 14 Jan 2001 15:30:24 GMT
On 1/13/01 8:33 AM, "James Cook" <> wrote:
>> I don't think that we need to make such distinctions. If we agree in text
>> how things should work, then we're good.
> -1

Look. I'm not into heavyweight processes. I really don't think that doing
design docs and such is really going to get us any closer to having a good
piece of code. 
>>> I don't want to rabble-rouse (sp?), but isn't James simply documenting
>>> AntEater? I realize he has glommed onto the workspace concept introduced in
>>> AntFarm, but other than that, it looks more like a personal design document.
>> Am I being asked to go away thank you very much again? :)
> I'm not sure where this comment comes from... :|

It comes from your paragraph. If you can't see it, well. Maybe highlighting
two things here would help:

    1) you said, to quote, "rabble-rouse" (which is spelled correctly
       according to my spell checker).

    2) there was a smiley face attached. Humor 101.

> Look, I don't have a problem taking my ideas somewhere else, but I don't
> think we have had a glimmer of proper debate on the technical merits of the
> other proposals. The only stones that you cast my way were your "feelings"
> that a design that generalizes the concepts of a Task the way I do is a
> "bad" thing. That is ridiculous. Give me some criticism that is based in
> something other than your "feelings".

I said that I think/feel that extreme generalization induces complications
that aren't warranted. I don't agree that a Project is itself a Task. I
don't agree that a Property is a Task.

My argument is that we already have a pretty good top level generalization
in the Java Programming Language. It's called java.lang.Object. Sure, some
more specific generalizations are very good to make, but if everything
should be as general as possible, then we should just treat everything as

Now, do you want to program using reflection *all* the time? Or do you find
it useful to have a bit of typing -- and then to treat different things
based on their types?

To follow through on that --

    a Project/Workspace/Module is a collection of properties, filesets,
    and targets

    a Target is a collection of Tasks

    by treating them separately, we clarify which each means.

So, you say that it makes the code simpler if everything is a Task. That
might be, but then it makes things harder to conceptualize. Maybe things are
too flexible. Why should I have to mentally keep track of whether something
is a Target or a Task? Why can't I just ask it's type? Or use it according
to its type.

As to what constitutes a proper debate... I've commented before, I'll
comment again. Should we institute Robert's Rules of Order here?

>> How many layers of process are we going to put in so that we can have
>> everyone propose something? This isn't a popularity contest. At least it
>> shouldn't be.
> I disagree completely. It is a popularity contest, and it should be.

Then we agree to disagree.

> I find the current "process" to be nothing of the sort. OK James,should we
> just sit on our thumbs until you produce the document that will determine
> what Ant 2.0 becomes? This is the most political B.S. I have ever been
> exposed to in an opensource setting. I guess I am naive to assume that this
> sort of thing only happened in corporations.

Whatever. There's been more productive conversation about what Ant will
become in the last few weeks and a whole lot less fighting -- that is until
you come in with this post.

Yes, I did get my feelings hurt. I think Larry Wall would get pissed if
people told him: "Nice thing, that Perl -- but you know what, you don't get
to say anything more about what its going to be." I'm not proud about
feeling that way, but it is the way I felt. And along the way I have said
some things that were stupid and in retrospect are clearly from anger or
whatever. (Yes, anytime you have a group of people, politics are involved).

However, also along the way, I've done a lot of thinking about what it means
to take code open source -- what it means, and why people should do it. If,
as you and others have said or implied, when somebody open sources code they
should just walk away from it and never care about it again -- then what's
the motive? Why should anybody do that? How on earth can we talk
corporations into open sourcing their code if we plan on shutting them
completely out? 

It's this attitude or perception that, in major part, has *kept* people that
can make decisions about making technologies that people want to see open
sourced from making that decision. Tell me, why should Sun open source Java
if the open source community is going to flip them the finger? Answer that
one for me and I'll either understand where it is that I went wrong in life
or I'll have the magic answer and will owe you a major debt.

Let me put this a different way: Many people, myself included, disagree
quite a bit with Linus for his views on how threads should be (or shouldn't
be) in Linux. I don't agree with what he's done there. I've said so -- and
that's about as far as it goes. If he doesn't agree with me fine. So be it.
If I care strongly enough, then I guess I should go see if there is a
different kernel to use that'll do what I want it to do.

> What drives your self-serving tendencies? Is it ego? Is it that the other
> ideas truly suck? Is it a future business deal pending on your vision? Is it
> a desire for control? We want to know.

Oh yeah -- I'm about to launch where I'll charge lots of money to
have anybody even talk about Ant, much less use it. And then, I'm going to
build a full operating system on top of Ant which will make millions and

Any business that I have with Ant is crystal clear and has been fully
disclosed. There is nothing else in the shadows.

What drives anybody who's created something? What drives you to keep popping
up and saying "Hey, nobody is paying attention to this thing I created!"?
Anytime anybody creates something, there's some amount of ego, pride, and a
few other things mixed in. If you are going to create things, then you need
to understand that other people who create things are going to have the same
feelings as you do. You shouldn't hate them for it. If it causes you to
disagree with them, then ok, fine. Disagree.

What do I want? An Ant that is simple, straightforward, and solves a few
problems along the way. I want that core simple idea that obviously so many
people liked to be fully solidified. This doesn't mean that other ideas
aren't valid or good, but an aggregation of ideas isn't necessarily any
better than just a good implementation of the original idea. What should we
do then? And why shouldn't I be able to argue for what I want?

Have I thought many times about how certain things would get simpler if
everything were indeed a task as you propose. Yep. I have. However, I just
don't see it keeping things simpler to use.

James Duncan Davidson                              
                                                                  !try; do()

View raw message