Jason Carreira wrote:
I have a couple of comments to make about this.
First of all, presumably the whole motivation of this
"merger" is that
you could unite your energies on a common framework.
If there is still
ongoing work on 2 different frameworks, it kind of
belies the whole
point of the merger, doesn't it?
Now, my understanding of the point that Michael
Jouravlev was making is
that, once you label something as version n+1 of
something, you are
basically putting out the message that version n is
superseded.
Typically, verseion n+1 of a product supersedes
version n. I may be an
excessively simple-minded guy, but if I hit a website
and can download
FooBar version 1, or FooBar version 2, I guess I'll
go with version 2. I
will also just assume that all new development is on
version 2, not
version 1.
What would a casual observer make of this? You
"merge" with a competing
framework in order to combine your efforts (i.e. not
disperse your
efforts on 2 different products as before) and you
label Webwork as
Struts Action 2 when the existing product is version
1. I put it to you
that, on the basis of this, nobody with common sense
would count on any
further development of Struts 1.x taking place.
People will just
naturally draw the conclusion that Struts 1.x
development is being
abandoned. If it was not your intent for people to
think that, then you
chose a very strange product naming strategy.
Now, even if, contrary to all outward appearances,
this conclusion is
wrong, and you guys really do intend to further
develop Struts 1.x, how
much credibility do you have on this as things stand?
Throughout most of the past 4 years, Struts 1.x was
the only thing
called Struts and was presumably the only real focus
of development of
Struts committers. However, development stagnated. To
tell people that
there is going to be any significant development on
that codebase now,
when it is competing for attention with another
codebase (labelled
version 2 of same (!)) is asking people to believe
quite a bit.
But in any case, if whatever project management
practices that were
followed over the last few years continue to be
followed without
considering any changes at all, why should a rational
person expect
results any different than what there has been over
the past few years?
This would be a valid question IMO even if there was
no merger with
Webwork and no Shale.
If you continue with the exact same approach, which
has yielded rather
poor results, and besides that, you don't bring in
new people to work on
Struts 1.x, why should one expect anything much to
come out of it?
My sense of things is that you should either just
forthrightly tell
people that Struts 1.x development is being
abandoned. Or, if it isn't,
you should immediately offer to bring in people who
are interested in
working on it. Obviously Frank Zammetti is
interested. I suspect that
Phil Zoio would be interested. Probably other people
too.
But as things are, the contradictory message you are
emitting just seems
outrageous. To prevent people who are able and
willing to work on Struts
1.x from getting actively involved, and all the while
emit confused
messages claiming that Struts 1.x is not really being
abandoned, surely
this is a bit much for even people around here to
swallow, isn't it?
Jonathan Revusky
--
lead developer, FreeMarker project,
http://freemarker.org/
This is exactly like the split we had a few years ago
> when Patrick and I decided to start from scratch with
> WebWork 2.
Jason, I think to say "exactly like" is really pushing things. I shall
point out two very fundamental differences between the two situations:
The first is that when you and Patrick decided to start a Webwork 2 --
with, I presume, a new architecture and so on -- this was a situation
where you were the ones willing to roll up your sleeves and do the heavy
lifting and make things happen. SAF2 involves the existing Struts
commmitters, who failed to maintain any development momentum on their
product, relabelling *your* work on WW as the next version of Struts.
That's kinda different, isn't it?
Now, I don't know the situation in any detail that you are describing
with Webwork (you have the advantage on me there) but I would say that,
sure, there may well have been people in the WW community with
reservations about the direction that you and Patrick were taking things
with WW 2. BUT... the fact remains that you were the ones willing to do
the heavy lifting, and, in a sensibly structured environment, the people
willing to roll up their sleeves and do the work are the ones who
determine the future direction of a project. (They could well be taking
the project in the wrong direction, but they're the ones who are willing
to do the work, so they make the decisions. It really can't work any
other way IMO.)
The other significant difference is that the Webwork situation you
allude to does not really present the same perverse incentives that you
see here. If people who strongly disagreed with the direction that you
and Patrick were taking forked off a separate version, there is not a
strong brand name effect whereby their forked version would be competing
at such a huge disadvantage to the version on opensymphony.com. So what
you'd never have there is this aspect of things where people hang onto
control of a project to control the brand name (and presumably extract
value from that) when they don't really have the gumption to do the work
of moving the project forward technically.
There still remains a userbase for WebWork
> 1.x (Jira, as mentioned, is built on 1.x) and some
> development time is still put into it. Over time, the
> community shifted to a more and more 2.x focus, but there
> are still people answering WebWork 1.x questions.
Well, people will answer Struts 1.x questions because there is such a
large user base and they will help one another out. This will happen
independently of whether the Struts developers lifting a finger...
Development of 1.x is now mostly bug fixing (although
> there really aren't very many bugs found anymore) and
> sometimes backporting features from 2.x. So yes, you
> can have both, and yes, over time the community shifts
> to the next version. No one is saying 1.x will be cut
> off and no more work will be done on it. How much
> development is done there will depend on what the
> community needs in terms of bug fixes and new features,
> possibly some back ported from SAF 2.x to make it easier
> to migrate to SAF 2.x later.
Well, AFAICS, Webwork and Struts 1.x are completely different codebases,
so I don't know how you are going to backport very much from SAF2 to SAF1.
As for bug fixes, well,.... I think that this separation of bug fixes
and maintenance-level programming from actual product enhancement is an
iffy separation. The fact is that if something is not being actively
developed, i.e. nobody is really *in* the code, it means that even
bug-fixes, by and large, aren't going to happen either.
My point is that, when a codebase is being actively developed, you have
various people who really are into it and know the code like the backs
of their hands, so when somebody points out a bug that is really easy to
fix, very often somebody fixes it immediately. Once further development
on something is basically abandoned, it is my sense of things that, most
likely, nothing happens, certainly not product enhancement with new
features, but not even the low-level bug fixes. Nothing. I think that,
realistically speaking, that's more the nature of the beast.
Given that, the abandonment of further development on the Struts 1.x
codebase serves existing Struts users quite poorly, since to switch over
to Webwork (or Shale) is not really an option for many people.
Don't forget that Struts 1.x
> still has the largest user base of any framework. No one
> thinks that a ship of that size can be turned on a dime. :-)
Well, I don't quite see your point. The fact that the software has a lot
of users does not, in and of itself, make it harder to develop it
further. Code is code, whether 10 people are using it or 10 thousand. Of
course, if you felt you had to build a consensus among that large user
community, then that could well make things more sluggish. But actually,
the existing Struts developers do not have any partiucular ethic, it
seems, whereby they have to build any consensus among users. Probably
most existing Struts 1.x users do not even really grok that Struts 1.x
is being abandoned in favor of Webwork. If they did understand what was
going on, you'd surely see a lot more discussion of migration issues on
the struts-user list and you almost never see that. I infer from this
that these people do not really understood what is going on, that
development on Struts 1.x has been abandoned basically, they wouldn't do
that.
But in any case, the main thing you said, Jason, that I want to rebut is
this idea that there is a basic parallel between situations where you
and Patrick made bold decisions going from WW 1 to WW 2, and the
situation here. You and Patrick had the moral authority to make those
decisions because you were the ones doing the real work. The incumbent
Struts developers have no equivalent moral authority. Their record on
maintaining development of Struts has been dismal. And it really seems
to me that they have prevented people who were willing and able to
continue work on Struts from getting involved in the project.
So the situations are not comparable. In fact they are more like night
and day.
Regards,
Jonathan Revusky
--
lead developer, FreeMarker project, http://freemarker.org/
---------------------------------------------------------------------
Posted via Jive Forums
http://forums.opensymphony.com/thread.jspa?threadID=29563&messageID=57927#57927
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]