Some comments on joining Jakarta (or not)
A longtime FreeMarker user, Leos Literak, asked on our mailing list about the possibility of our joining Jakarta/ASF. I figured that by answering on this blog rather than on the list, I could kill two birds with one stone -- I could answer him and inaugurate this blog with something (hopefully amusing) for people to read.
I guess Leos knows that such a move is highly unlikely, if only on account of the less than cordial relations that some of us have with some of the Jakarta/ASF people. But that is only part of it, at least speaking for myself. Other FreeMarker developers may not share my views (or share them partially with some nuances.) But in any case, I am only speaking for myself.
Okay, I shall assume that the reader is familiar with the Arthurian legends (you know, Camelot, Excalibur, the Round Table) through one or more of its literary, or more likely, cinematographic adaptations. Let us say that I am a knight of that time period, known for certain knightly deeds. It is proposed that I should try to become admitted to the Round Table, to become one of the famed Knights of the Round Table.
I have to admit that the idea has certain appealing aspects. You see, there is a whole mystique around the Round Table. This is mainly because there is a whole legion of wandering troubadours who go about the land singing epic songs about their heroic exploits. This has a lot of advantages. It seems that if you are a Knight of the Round Table, you are given the choicest morsels at feasts. When you show up somewhere, they break out the best wines and spirits to celebrate that such a hero is gracing their presence. The fairest maidens of the land fall at your feet.
So it would seem to be an easy decision. However, there is a dark side to all of this. You see, suppose that you happen to know that the Round Table mystique is based on quite little. On the contrary, these Knights of the Round Table are, in reality, quite the motley crew. Some are not such bad fellows, but many others are thugs and cutthroats and others are cowardly bullies. To your mind, King Arthur himself is no more admirable than any other mafia boss trying to expand his territory. (As a side note, while I grant that I was not there, this version of things strikes me as being at least as likely to be true as the legends.)
Suppose that I don't accept Arthur as a legitimate king. (For example, I happen to know for a fact that when he pulled the sword out of the stone, it was a cheap sleight of hand trick.) However, to become a Knight of the Round Table, I must kneel before him and accept him as my sovereign. I will probably also have to retract any prior statements I made about the supposed exploits of the Knights of the Round Table. I would now have to toe the party line (sorry for the mixed metaphors...) regarding the heroic exploits of my colleagues of the Round Table. (Actually, for an example of this, see here.)
Well, in summary, like any decision it would have its pros and cons to weigh. The pros mainly involve all the troubadours wandering about singing your praises. (I guess the modern equivalent is all the computer magazines and the various people who write O'Reilly books about any load of horse manure that ASF tosses over the fence...) The cons involve compromising one's integrity by accepting illegitimate authority, and also having to be nice and behave respectfully to people you don't particularly like or respect.
I guess the reader has already inferred that, for me, given my characterological makeup, the cons outweigh the pros -- to an extent that it is basically unthinkable.
All of that said, I can respect that other people would see things differently. Certainly, many other open source projects are extremely eager to become ASF projects and I can respect their reasons. It may well be a weakness of overweened pride on my part that I am not willing to kowtow to authority that I perceive to be illegitimate. It certainly is not particularly pragmatic.
31 Comments:
Jonathan, I don't think that we have to kneel down before Geir and kiss his boots. If it is this case, then complete Jakarta project failed its mission and it's time for revolution :-).
I am a pragmatic man. I can see merits of being jakarta project. Namely much larger visibility that we can hardly ever achieve. It is a starting point for every java developer seeking for new library. Being jakarta's project would boost freemarker's user base and probably developer base too.
My two cents
Leos
Hey, look at it like a chance to infiltrate and take over :-). Apache projects and ASF itself supposedly operate on meritocracy, right? With good quality code behind your back, some attitude and aspiration, you can rise through the ASF officer ranks and who knows, maybe one day become ASF chair who'll reform the whole place.
Yes, I'm being provocative.
No, I have no idea whether I was serious when I wrote this :-)
No, I am not interested in having Jakarta career. ;-) And at least we don't know their reaction for such request. How could they explain denial of such our request? They would loose their face, if the only reason was that Geir and Jonathan don't like each other.
Nevertheless the question is: is there will to try it?
Leos
I myself am friends with Geir. We worked closely together for the same company few years ago (fun fact: Brian Goetz also worked for the said company, although earlier than I did, so it equally had developers of FreeMarker, Velocity, and WebMacro among its ranks). We talk semi-regularly ever since, and try to come together for a dinner when we happen to be on the same continent :-)
So, I certainly don't have personal aversions toward ASF/Jakarta. (Like many others, I do question the technical quality of much of the Jakarta output, but that's a different story.) If it were me who went to them with a request to join, I think they would not turn me down on any personal/political basis.
That said, I still don't feel like there is a need to go to ASF at this time. It's not like the project's future is in peril unless we become an ASF project. I think we have great visibility today - all major webapp frameworks support FreeMarker today, and some of them now even have FreeMarker as their default view renderer. I think it is a great result we achieved this completely on the technological merit, without the background publicity of any umbrella organization, and we should be all proud of it. I just don't feel there's much to gain from becoming an ASF project, so I'm understandably not really motivated to expend any effort to move along that direction. You can of course disagree with me :-)
Also, in a sense, we're getting ever more visible through ASF via Webwork/Struts and it looks like also through OFBiz in the near future as well.
Leos, what you're doing here most is simply repeating your earlier point that becoming a Jakarta project would have all kinds of benefits in terms of visiblity. In my blog entry, I think I made it quite clear that I saw this perfectly well.
Yet I still reject the idea. The core reason is that it involves compromising one's integrity by deferring to illegitimate authority. We would be effectively accepting the authority of people whose work is, by and large, of a far lower standard than ours, to judge our community's work and decide whether it is worthy to be admitted to their holy inner sanctum. We would be casting ourselves in the role of the supplicant who is out in the cold pleading: "Please, good sirs, may we come in?"
Yes, it is a pride thing, okay. But also, by doing this, we would be doing our part to help to inflate this "Apache mystique". How many people waste how many man-hours with substandard tools like Velocity because they are caught up in this "Apache Mystique"? What really should happen is that this mystique very much needs to be deflated.
Getting back to the pragmatic issues at hand, I see signs that Spring+Hibernate+FreeMarker may well emerge as a kind of standard toolset for java server-side programming -- at least a large subset of the problems out there. None of the 3 items in that holy trinity are Jakarta projects. So, while it could be useful to have the ASF brand-name recognition, it is clearly not indispensable either.
This comment has been removed by a blog administrator.
Since this is blog is mostly associated with Jonathan, Attila and me, I feel I should clarify where do I stand in this Jakarta thing.
For those who have seen me on the Jakarta lists, I'm known from some biting criticism there, that often (or rather always) upset the prominent Jakarta people around. So people who know about these will draw the consequence that I'm against Jakarta, and that I 100% agree with Jonathan. Well, it's not the case. It's not that I intend to retract anything I have said on the Jakarta lists... I don't intend to retract them. But here is what I think:
a) Consider this... If I think that Jakarta moves away from the good-old approach where the goal was the joy of creating something technically really good, and moves towards being some kind pretentious OS-hero, who is in reality an OS subsidiary of big corporations, and I think that this movement harms the technical quality of the projects, and the overall quality of people involved in the projects (if you see what I mean...), and thus I opt against this movement, then, I'm against Jakarta, or for Jakarta? Let alone if I'm right or mistaken regarding this movement and its effects... the point is, then am I against it, or for it? With a simile, if I quarrel with my friend because I don't want him to get drunk all day, then does it mean I'm against it? Now, granted, I think that Jakarata hardly can be changed ever, so emotionally, I rather feel like avoiding it.
b) Regarding Jonathan's stand point... I think his opinion is a bit extremist. As far as I understand, he sees Jakarta as a, short of, demonic entry. And thus joining it is morally not OK. I think that it's not simply Jakarta that's like that. It's people. People in the modern world were breed up being liars, hypocritical and aggressive in reaching their goals (while being oily nice on the surface). Also, I think the whole Java worlds is kind of semi-commercial, anti-FSS world from its beginning. That is, you just can't avoid these problems (especially if an entry becomes big and well-known, and hence alluring for those who are more careerist). Now, however, I think that Jakarta has a short of technically talented people. So they have to tell lot more bullshit than some other communities may have to, and has to use more politician skills with more weight. Because they have not much reserves on the technical field. These just what I feel anyway...
So, after all, what do I say on joining Jakarta or not? I don't know... but I'm not enthusiastic about that at all. First of all, I don't trust in those people, so I have some paranoias. You give the project to ASF legally, and then maybe they remove you if you fuss too much... something like that. Also, it's questionable if the credit of the Jakarta projects should be increased by adding some good software (well if FreeMarker is that good, that I dispute) that was actually not developed there, still it will be used to demonstrate how good Jakarta works. By this you may support technical inferiority, no? (OTOH, if Jakarta would always collect the best-of-the-breed Java projects, that would be different story.... and that has to be started somehow.) Also, you will have to stop supporting GPL softwares, and I don't like that commercial approach. The positive effect is, of course, that your software will be more visible. This means that if you think that for a certain problem the existing solutions are mistaken, and you are right, then you have much more chance to win the war against the "stupidity" on that certain field. (Now please don't interpret this as if I'm some kind of fundamentalist who thinks that whatever he thinks is the only right way to the nirvana... things are not that black and white. I'm very much aware of that I can be wrong, but there is something like mentioned in my motivations.)
Just one more thing... I said above I don't entirely see the things as Jonathan does. To prevent misunderstandings, I find his Arthurian legend simile quite right. So it was not about that...
Your example of having to toe the party line (i.e. Patrick Lightbody on the Struts/WebWork merger) implies that those comments are not his genuine opinions and he was somehow coerced or obligated to make them.
AFAIK that was not the case (it never came up on any of the Struts mailing lists) and he made them after the merger was announced.
Do you have any foundation for questioning Patrick's integrety?
Niall, I do not believe that Patrick was pressured or coerced into writing that note, in which he expresses regret that he had written a "Struts really sucks" blog entry, referring to this as a "big mistake".
However, your question asking whether he was coerced is something of a red herring.
Look, suppose I show up for the first day of work in a company dressed informally, because in all my previous programming work, all the programmers and technical types tended to wear jeans and so on. However, when I get there I notice fairly quickly that all my coworkers are wearing a shirt and tie. Yet the day transpires normally and nobody comments that I am the only one wearing jeans.
The next day, I show up to work wearing a shirt and tie. (Wouldn't you?) Did anybody explicitly tell me to dress more formally? Was I coerced? If not, then why did I do this when I actually don't like wearing a tie?
You see, obviously, the logic and structure of the situation is such that I'm going to wear a shirt and tie.
Similarly, if (extremely contrary to fact) I wanted to get in with ASF and for FreeMarker to become an ASF project, I probably would refrain from writing things like this very blog post that are critical of ASF. Again, without being coerced to do so.
As for Patrick's integrity, well, my best guess is that, when Patrick wrote his "Struts really sucks" article, he really believed what he was saying. At the time, he considered Struts to be quite a mediocre product that had only achieved its success due to placement/visibility reasons. (To me this is obviously the case.) I am not privy to Patrick's private thoughts, of course, but my best guess is that his opinion on that has not really changed. It is simply that anybody can find this blog entry in google and it is now inconvenient. He probably wishes that it could go down an Orwellian "memory hole" but no such luck, google indexes and stores all this stuff.
He says it was a mistake for him to write this. But why? If it was his sincere opinion, why should he not express it? Moreover, if he thought that Struts sucked then, what caused him to change his mind since?
Now, in general, how often do you see people who are highly involved in ASF (or want to get into that orbit) make disparaging remarks about a project that is hosted on apache.org? So, yes, people do toe the line. Did anybody explicitly coerce them?
No, because it's not necessary. There is a logic and structure to things and certain things are implicitly understood.
OK thanks for clarifying that point and I agree with you - once "in the club" people tend to conform to its norms.
I do think though that the Struts/WebWork merger is a good example of the ASF in action and an argument against the general theme of your post though. Look at it this way - despite the main WebWork developers (Patrick, Jason etc.) saying very publically "Struts Sucks" over the years we (I'm on the Struts PMC) were still happy to go ahead and merge with them. And when you look at what "merge" means in this case (dumping the Struts code in favour of WebWork 2.2) - Patrick no longer has any reason to say "Struts Sucks". I hate to speak for someone else, but I think the sentiment in his post was not regret at saying "Struts Sucks" in respect of the code (I think he still believes that) - but more of a realization that he now thinks we are people he could work with (time will tell on this!) and rather than putting effort into a separate framework maybe this could have happended earlier (actually I don't necessarily think thats true - probably took the creating of WebWork for Struts to "look in the mirror").
This seems to have some parallels with yourself, although from some of your comments there seems to have been personal animosity between yourself and individual(s) in the ASF. Anyway, maybe if you "dipped your toe in the water" you would find your fears about the ASF not to be true.
Slightly OT, but Commons Feedparser is an example of someone getting put off by the bureacracy of the ASF - which in my mind is a more real issue than the ones you raise.
I finally had enough things to say about the Struts/Webwork merger that I wrote a new top-level blog entry. You may find that entry upsetting. (Or not. I don't know. We are not well acquainted.)
As for this merger being a good example of ASF in action, I have a hard time seeing how it is. First of all, one brute fact cannot be avoided, which is that you have accepted that Webwork is superior technology. This already means that ASF, despite its visibility advantages, which should translate into an advantage in attracting technical talent, you were not able to stay competitive. (I don't know how hard you tried, but the results are not in dispute...)
So, prima facie, this is not a success story for ASF and the "Apache Way". Now, that the Struts developers have the honesty and humility to accept that Webwork is better, I have stated that this is highly admirable. Really, I mean it. I do respect this. However, I see this as having more to do with the personal qualities of the people involved than it does with ASF functioning well.
Also, I can only be quite ambivalent about the fact that Struts, despite being technically inferior, has a larger user base. That is a sort of success, an example of ASF at work, but only working to the advantage of ASF, not the general developer public. It is tacitly accepted that these people using Struts would have been better off using Webwork.
So what positive contribution has ASF been making to the "ecosystem" here? The net effect seems to be negative. It's all counterfactual speculation, mind you, but without Struts (for entirely non-technical reasons) taking so much of the limelight, Webwork might have attracted a larger community (more users and collaborators) and, by now, under that scenario, it might well be even better than it is currently. And a greater number of people would be taking advantage of that superior body of work.
Getting back to the issue of Patrick's regrets about his earlier "Struts sucks" statements, I frankly just don't get it. Okay, it's obnoxious to say that a competing product "sucks". But, on the other hand, what is this, some kind of damned high society tea party?
The fact is that there was a technical competition and they won. The winner can damn well crow if he wants to. And the loser eats crow. That, my friend is the American way.
I see no reason for Patrick to disavow his earlier "Struts sucks" comments. I am not really saying he should rub this in your face either, mind you. But the thing is, stripping away any false hypocrisy, the situation makes no sense. As I said in the blog entry I wrote recently, in a rationally constructed world, the people who won a technical competition should not be accepting the people who lost as their "mentors".
This aspect of things is blatant enough that I cannot be the only person who realizes this. However, for some reason, people just don't come out and say the obvious. I felt somebody had to say it.
I'm not upset by your new blog entry - its pretty meaningless/irrelevant to me and it would just be a waste of time writing some long detailed post arguing over the points that you make.
The only point I would make is that its not as simple as Struts vs WebWork - there is also Shale to throw into the mix. Sean who you lectured on lecturing Patrick in your post, is only a recent addition to the Struts developers and his contribution has been on the Shale side - so should he consider himself defeated/lost or not? And the original author of Struts believes JSF is the future and set about creating Shale and I'm sure if you asked him he would recommend Shale rather than Struts Action 2 (i.e. WebWork) - so I doubt he considers himself in the defeated camp.
For myself, I'm just a user that contributed back and somehow found himself voted in. Should I consider myself defeated for helping out, fixing a number of bugs and adding a few features? Not in my opnion - but if thats the way you want to see it, thats fine by me - it doesn't really have much relevance to me.
Sorry, went on longer than I intended.
Niall, if I join a team, in whatever capacity, and my team loses, then I was on the losing team. Ergo, I lose.
As I said in the recent post on this, competition is a hard, brutal thing, and there will often be a desire to soften things. Frequently, the losers will try to rationalize and somehow convince themselves that they did not really lose.
How many times have you heard the die-hard fans of a given sports team claim that their team did not really lose, they were victims of bad refereeing and so on and so forth?
There was a de facto competition afoot to see who could produce the better web application framework. The Webwork people won. That there is now this other thing called Shale with a different approach does not alter the matter, as far as I can see, because the two communities were developing frameworks with the same basic approach and the Webwork people developed the better one.
That Craig goes off and starts another framework with a different approach is a separate chapter. In the chapter of the story I'm concerned with here, Craig (plus collaborators, including you) worked on Struts 1.x, and ended up conceding that Webwork is better.
As for the details regarding Sean and when he joined the project and what he is working on, I didn't know any of that. But I don't think it matters all that much. My point stands. Under normal, sane circumstances, I really believe that members of a losing team should be quite hesitant to lecture the winning team about how the game should be played.
As for your repeated avowal that this all is meaningless/irrelevant and has nothing to do with you, I'm sorry, that's just dishonest. (Though, I guess you're mostly being dishonest with yourself.)
Anybody reading your comments knows that you have a sense of identification with ASF and so on. When you feel a sense of identification with a team and your team loses, you aren't a happy camper. When your team wins, you're on the top of the world.
Of course, on the other hand, if team members do not really feel the pain of losing, and don't really feel that, when the team loses, they lose, that could explain why the team in fact did lose. That losing is painful and humiliating is a big factor that motivates people to win.
As for it being a waste of time to respond to my post about the Struts/Webwork merger, it is most certainly not because it has nothing to do with you. That is nonsense.
My take on this, frankly, is that in your heart of hearts, you know that I'm stripping away a lot of the bullshit here and that what I'm saying is basically true. I think that's the real reason you don't care to debate about it. Of course, you don't want to openly admit that because the implications are quite disturbing.
I guess the fact that calling your posts meaningless/irrelevant didn't go down too well with you? Since I didn't bother to address most of the points you made, I guess all you are left with is mis-interpreting the little I did say. I don't see you stripping any bullshit away - quite the opposite, your filling up pages with it. But I guess if you're honest with yourself, in your heart of hearts, you know that.
Niall, of course it annoyed me when you claimed that what I wrote "had nothing to do with you". You're on the Struts PMC. Of course it had to do with you. At one point in the post, I even address you directly.
As a matter of fact, in my heart of hearts, I do not believe that what I posted yesterday is BS. On the contrary, I sincerely believe it gets quite to the
heart of the matter.
Anyway, that was just very childish mockery. For crying out loud, Niall, grow some balls, be a man. If what I was saying was transparently bullshit, you could rebut my points. You obviously cannot do so. Anybody observing this dialogue surely knows that. It is childish of you to think you can fool anybody about this.
Of course, this latest post was carefully constructed to leave you up the creek without a paddle. I anticipated you would write some pansy-ass pussy-whipped politically correct bullcrap about it not really being a competition and really, "everybody won". I carefully covered that angle of counterattack, thus leaving you with precious little to sink your teeth into.
Here is one question, Niall, if you're still willing to talk to me. When you guys finally realized that Webwork was simply better, did you ever consider just going over and joining in with Opensymphony and working there on the better framework? If not, then why not?
Having an honest debate over Struts/WebWork might have been interesting. Its aparent that for whatever reason(s) that you're just on a mission to bash anything/body connected with the ASF by posting rubbish and mis-representing what people say back to them.
Resorting to mockery seemed appropriate faced with such BS, since engagement is/was clearly a waste of time. I choose not to feed this nonsense, by trying to rebut the rubbish you posted about Struts/WW. Since it will only be thrown back in a distorted manner. I find it quite funny that you're lecturing me on "childish mockery", since in the very next sentance you resort to childish mockery yourself. Theres a beautiful hypocrasy there :-)
Take a look at "pansy-ass pussy-whipped politically correct bullcrap" - theres an example of BS about what you "assume" I might say. If thats what you think before I express an opinion, then it seems pointless to try and engage in a sensible debate.
At the start of this last post you repeat for a second time that I wrote "had nothing to do with me". In fact I acutally wrote (if you look back) it was "meaningless/irrelevant to me" and I was talking about your posts, not the Struts/WW merger.
Your final question is reasonable - but I see no point in answering as I'm sure whatever I say will just be distorted/ridiculed/labelled dishonest or some other inappropriate insult directed my way.
Niall, I am a person with many faults. However, one of my attributes is that I have a high reverence for the truth. (This may also be a fault, at least in certain contexts...)
I do not believe I have misrepresented anything in what I have written. I do not believe I have misrepresented anything you wrote. If you claim this, you should clarify it.
In any case, my ability to misrepresent anything you say is quite limited, you know, since everything you actually said appears on the page for a reader to see.
AFAIK (I am new to this blogspot thing) I have no ability to post-edit anything you say. Even if I could do that, I would not.
This medium affords you the possibility of rebutting my arguments. To say that you do not write any rebuttal because I will then misrepresent and distort what you say is really quite absurd.
Any rebuttal that you write on this site will appear unedited and unabridged.
Given this, that you opt not to write any rebuttal of my points does speak volumes.
Instead, you opt for a blanket statement characterizing everything I say as "rubbish". This is quite pathetic. You also resort to ad-hominem, impugning my honesty and personal motives. To me, it is extremely unseemly that you try to weasel your way out this way.
As for my anticipating that you might say "Everybody was a winner" sort of stuff, I carefully said that I anticipated that you might say it, i.e. you did not say it. A debate is, to some extent, a strategy game, like chess. When developing your argument, you anticipate counterarguments that the other person might offer up. If, in a chess game, I anticipate that an opponent might advance his queen pawn, that is within the sphere of legitimate game-playing strategy. This cannot be taken as an example of mymispresenting things you say. In any case, anything you do say will appear unedited and unabridged.
Final point. You knew from the very beginning of this dialogue that I feel a significant antipathy towards ASF. I have never kept this a secret.
So, Niall, you are like a Christian theologian who willingly engages in debate with someone who is anticlerical and an avowed atheist and then snarls accusatorily that this other person is obviously a damned atheist and hostile towards the Church, so there is no point in debating with him. (But, of course, he knew that when he entered the debate!)
Another question that you probably won't deign to answer: WTF kind of meritocracy is it in which the people who produce the inferior work become the "mentors" of the people who produced the better work?
Seems like you're happy to dish it out, but don't like it when its thrown back at you. When you say that I'm "impugning your honesty" - well you threw that stone first quoting what you said in an earlier post about me...
"I'm sorry, that's just dishonest. (Though, I guess you're mostly being dishonest with yourself.)"
You throw out insults with regular abandon and then turn offended when its reciprocated in kind. WTF is that?
I agree it was obvious that you had "significant antipathy towards ASF" - however I didn't know you and I naively thought that as one individual to another, we could have a reasonable debate.
This started with this blog entry on Jakarta - having mentioned being part of Struts you chose to then post on Struts/WW clearly with the intention of goading me into a response. My opinion of that post was that it was a load of rubbish and therefore from my perspective its "irrelevant". The fact that you twice quoted that in subsequent posts implying that I said the Struts/WW merger had "nothing to do with me" was you mis-representing me. My "irrelevant/etc." comments were my opinion on your blog entry and not that the Struts/WW merger had nothing to do with me.
The "mentors" is an incubator thing, I'm not that familiar with it, but the roles are all clearly documented on the incubator website. If you really want to understand it, you can go read it there. This is the ASF procedure for bringing in a project such as WW - Struts has no choice in this and the "mentor" thing is clearly nothing to do with code - its all about helping the project to go through whatever the incubator procedures are.
Niall, as for this "dishing out" and "taking it" stuff, I don't really want to get any further into that. It's very undignified and leads nowhere. I will however address this business of how I supposedly misrepresent things you say.
If I understand correctly, your example of me misrepresenting things you say is the following: I say that you claimed that the webwork/struts merger had nothing to do with you, but what you actually said was that my article on this topic had nothing to do with you.
[sigh]
Now, I understand that you're upset with me, maybe the blood has rushed to your head. But if you calmly look at the above, does it not have a certain "How many angels can dance on the head of a pin?" sort of feeling to it?
This is your example of how I misrepresent things you say. And since I misrepresent things you say there is no point in having any discussion with me.
Now, fine. I want to be clear. I don't really want to goad you into writing a rebuttal. Actually, I ended up writing a top-level blog article about that because I started writing a response to you and ended up writing so much that I finally worked it up into an essay and published it as an article.
I actually had doubts about whether to publish it on the freemarker group blog, because I know it wasn't really set up for this purpose. I wrote Attila and Daniel asking their opinion and there has been some private discussion of this.
Because of the unease I have about whether this group blog should be used for political polemics, I am not too eager to continue a debate with you here. On the other hand, I do consider that it is highly improper for you to refer to my article as "rubbish" and so on, yet decline to write a rebuttal. If it is rubbish, you should be able to write a rebuttal; it should be easy. But basically, a responsible adult shouldn't be making these kinds of statements and be unwilling to back them up. Not good...
Now, I understand that this "mentor" business is an ASF administrative thing. I also understand that Webwork being rechristened Struts something or other is a marketing thing. The problem is that, between one thing and another, the truth is obscured. My honest gut feeling is that there is a problem with this. I revert again to my statements of the article that you do not want to comment on. Basically, I am saying that if open-source is a meritocracy where there is competition on technical merit, you have to have clarity about who won and who lost.
As for your comment that the "mentor thing is clearly nothing to do with the code", maybe you are, albeit unintentionally, getting at the problem here. All of this maneuvering and "merging" and so-called "mentoring" and "incubating" all corresponds to a bunch of pseudo-reality constructs that don't have anything to do with what's real -- which is the code, basically. (BTW, "incubating" is also a clear misnomer. You incubate an embryo. These projects are clearly more like adults which have their own history and established habits.)
I earlier asked you whether you and the other Struts developers, once you realized that Webwork was better, ever considered just joining in with the OpenSymphony people and working on the better framework over there. You didn't answer. Fine, you don't have to. But I say that that would have been much better, because such a step would be totally straight-up code-centric and not involve all these pseudo-reality constructs. So, basically, I'm saying that OSS software development should be about the code and a total minimum of BS.
I don't know if that was discussed - what was presented to the PMC as a proposal was pretty much what posted later publicly on the Struts Dev list.
My personal view is that Struts moving to OpenSymphony/WebWork was probably a non-starter for two reasons:
1) Struts as an Apache project was not going to go away and it was not going to happen that all Struts developers would abandon the ASF and move over to OS/WW - that would have created a fork and we would have been back to square one.
2) Despite being a better framework WW hadn't managed to dominate that space under the OS umbrella - whereas under the ASF, becoming the official Struts 2, it maybe has an opportunity to do that (although I don't necessarily believe this is a given - time will tell).
P.S. Can I get commit access to Freemarker?
Niall, you seem to be missing my point. It's not a question of Struts moving over to OpenSymphony, is it? I just meant that Husted, Brown (and you, I guess, and maybe others) realized that Webwork was just better, so you could just join their team and work on Webwork.
I mean, it is a logical step, isn't it? If you just humbly and honestly accept that Webwork is better, just go use and work on the thing that's better. And the best thing you can do for the existing Struts users is simply provide them a clean migration/conversion path.
Regarding your point 1) why is it more reasonable for the Opensymphony people to all go over to ASF than vice versa? Prima facie, both steps are equally reasonable. Actually, the development all moving over to opensymphony.com is more reasonable, at least on certain grounds, since that is the umbrella under which the superior work was developed.
As for it creating a fork where the opposite move does not, if there is a general acceptance that Webwork is better, why would people want to work on the Struts 1.x codebase knowing this?
I also cannot resist adding that people who knowingly prefer to work on something that is inferior might not be a great loss anyway.
I have some guesses about all of this, of course, but I am interested how you would explain the mechanism behind this.
Again, if the Opensymphony people won the technical competition, then maybe the activity should shift over to their turf. In a sensibly structured world, the losers of a competition do not set the terms.
Now, as regards point 2) that Webwork had not become dominant in its space, yes, of course I realize that there are the marketing considerations. However, there is this not-so-minor matter that the Struts people had this big ASF visibility advantage and were breathing the Webwork people's oxygen.
A similar thing happens between FreeMarker and Velocity. You know, the Velocity people make no attempt to compete with us technically. You know that their blue skies feature list for a hypothetical Velocity 2.0 does not contain a single item AFAICS that was not already implemented in FreeMarker 3 years ago? (!!!) Just abject inferiority....
Yet they probably still have a bigger user base than us. Now, look, we both know that this is the way this field works. JSP has even a far bigger user base than either Vel or FM. Inferior technology wins in the market all the time. Bill Gates did not become so obscenely rich by peddling the best products technically.
But anyway, if the main Struts developers just announced that Webwork was better (and you have clearly accepted this so it's just a case of stating something true) and that this was the future -- at least as regards action frameworks (let's leave Shale out of the discussion since that muddies the waters a bit) then a reasonably well informed Struts user would just have to migrate, wouldn't he?
As for access to FreeMarker's CVS (BTW, it would be moving to SVN after our next release), sure, I guess. But it is an odd request. Usually I am the one who brings it up when somebody has expressed some interest. And of course, such a person has usually been active on the freemarker-devel mailing list. You know, people who are interested in FreeMarker development usually are subscribed to that.
Note that there aren't that many active developers there listed, because I have made a habit of removing people who don't do anything. This is not really because I am concerned that they'll come in and do bad things or anything. They typically continue to do nothing. It's just I think that the developer list on the sourceforge project page should reflect people who have actually done something. So if somebody doesn't do anything, I eventually remove them. And then, if they say again later that this time they really want to do something, I'd add them back...
Yes we could have all trooped over to OS and started work on WW.
For me, my day job involves Struts and the company I work for has 5 years of investment in Struts. That isn't going away quickly. At this point nothing has been decided on what we will migrate to. It could be WW/Struts 2, Shale, Spring MVC or whatever.
I agree in theory it could happen either way, but it all (IMO) boils down to the nature of the organisations. I don't really understand how OS works - but it seems to be controlled by a couple of people who can shut it (WW) down. Even if we trooped over to OS, the code would still be at Apache and as I said I'm pretty sure all committers wouldn't have gone.
All the struts developers wouldn't have announced that WW was better - half would say "shale is better" and probably one or two stayed maintaining the old (i.e. 1.x) Struts - sorry its not possible to leave Shale out of the equation.
The commit request was just a joke - although I've been meaning to checkout Freemarker, so you never know. Having said that I'm a bit surprised you would accept someone you so obviously regard as vastly inferior to yourself and tainted by the evil empire (ASF) itself.
Anyway SVN is a good move, IMO - we migrated from CVS about a year or so ago.
As for getting FreeMarker commit access: we consider that there is no harm in granting people access on very lenient terms. We all receive commit e-mails and can (and will!) keep an eye on what is the new committer doing. Actually, every one of us quite closely keeps an eye on what all *other* committers are doing, so we don't fall out of the loop. The code is therefore subject to continous peer review, and if the new committer does something wrong, we can just roll it back, thanks to wonders of the source code management system (either CVS or SVN).
This policy works so far :-).
I can imagine that were to grow to be a lot larger project (in terms of source code size), we would have to tighten it, but in reality, if we were a larger project, we'd probably split up the repository into subprojects, with smaller developer communities working on each of them and continue the same policy in each subproject. But that's really just wild what-if guessing. As I said, the lenient approach works nicely for now.
Well, one advantage of, in your words, "trooping on over to WW" would have been that work on WW could have just continued on without any rupture. There would be no need for Patrick and Jason to get "mentored" or the Webwork community to get "incubated".
I mean, this almost could be characterized as a big bureaucratic quagmire. And you avoid that the other way. If you go over to OS, you just all pull up your sleeves and the work on the code. Probably most important, you don't distract the people who were doing that high quality work with all this incubation/mentoring pseudo-reality. Most likely, had you taken that route, you'd be way ahead of the game technically as compared to where you are now.
Now, I think many casual observers suspect that the reason this step was, as you say, a "non-starter" has to do largely with human nature. Ego. I mean, if the current Struts "leaders" went over to WW, then they're not leaders any more. Obviously, they have to defer to Patrick and Jason. In fact, they have to defer to everybody there for the simple reason that they are now the new kids on the block, right?
One not-very-generous interpretation of all of this is that the "merger" is structured the way it is so that the Struts leaders can continue to be leaders even though, they have not really won that leadership position by technical merit. (This latter point would simply be clear if they went over to OS.)
Now, that sounds very very harsh, I suppose. But on the other hand, over the last day, I have been wondering whether my comments have not been a tad harsh. After all, Husted and Brown did an amazing thing. They humbly recognized that the other community's work was better. Surely, most people would just as soon have their front teeth extracted as admit that.
The problem is, though, that, once you admit that, and you say that you are following meritocratic principles, this all has a certain inexorable logic -- and that logic is not you being the "mentor" of the people whose work is better.
As for your comments about not knowing how OS works and "can't two people shut the whole thing down" or whatever, I don't think this is a realistic fear. OTOH, I take this as an honest expression of vague uneasiness, some distrust, maybe fear of the unknown.... But why shouldn't Patrick and Jason and other WW people feel the same way about ASF? Why should they trust you any more than you trust them?
Is there not the expectation that you guys, being ASF, the other people have to extend themselves to accomodate you? They have to come over to your turf. They have to learn the "Apache Way" and so on. Yet, obviously, you did not even consider the corresponding step in the opposite direction.
Interesting, no?
On Shale, that is actually a whole interesting question. When I started lurking on the struts-devel list recently, the first big question I had was: WTF is this Shale thing?
I now have a rough idea. However, what I don't understand is why it is not simply a separate project.
Don't you have a real problem here? Wouldn't it be better if people could go to the top-level Struts page and simply get a coherent message, like "Struts is a framework based on the following approach" and so on.
If Craig wants to develop a separate framework with a completely different approach to the problem, shouldn't that just be a separate project? Even if some of the codebase is shared, well, projects can (and usually do) have dependencies on other projects.
By contrast, when you go to the FreeMarker page, there is a very coherent, clear explanation of what FreeMarker is.
Again, if you had just "trooped over to WW" then you would have a coherent message, unlike this jumble. You would have one framework based on one approach to the problem and you wouldn't be cohabiting with Shale or the earlier Struts codebase for that matter.
Now, I have my suspicions about why Shale is not just a separate project and is not just Shale but rather, "Struts Shale" which leads to such a confused message. However, you do really know more of the inside dope, so I am curious what your take on it is, Niall.
I'll then tell you what conclusions about this I had drawn tentatively if you want....
I actually thought that Niall was joking about CVS access. It was a quite bizarre request. OTOH, I considered that there was maybe 1% or 2% chance that he was serious, so I decided to answer the question straight-up and serious.
Niall, if you are interested (or become interested) in getting involved in our community, sure, join the mailing lists and so on. Once you feel you can make a contribution, the barriers to entry are very low.
You know, we're kind of joking here, but the thing is that it really could be a liberating thing for you. You would discover what it's like to just be able to hack stuff without all the bureaucracy.
Learn the power of the light side of the force...
Attila, as for the project becoming big and splitting up, in a sense that has happened. Daniel's FMPP project could perfectly well have been part of FreeMarker itself. Or somehow defined as a separate subproject within FreeMarker, like the eclipse plugin. However, he chose to define a new separate project.
And that's fine, of course. One striking advantage that we have outside of ASF is that Daniel can define a set up a separate project (FMPP in this case) and he does not have to get "mentored" (which sounds annoying) or "incubated" (which sounds downright painful). He just sets up the separate related project and gets to work.
It really could be liberating to come over to the light side of the force....
Yes I agree if we had gone over to OS it would have been very straight forward and easy and the reverse is alot of bureaucracy.
There are no "struts leaders" officially, except for the PMC chair - but even that doesn't get any more voting power. Obviously, as in any social group, everyone has their own unoffical perception of status though. For example, I have the greatest respect for Craig McC., the original author of Struts, and I put alot of weight on his opinion. Doesn't mean to say that we don't disagree with him or that he (or others) dictate. A good example of that is Shale - Craig wanted it to be Struts 2, but it wasn't accepted by the PMC.
Whatever your musings on the "struts leaders" and going over to WW/OS, I can only answer for myself, but I don't believe "leadership" and peoples egos would have prevented going to WW/OS.
I think there is a mis-understanding on what I said about not knowing OS and shutting down.
All I meant was that I believed it was easier for OS to shut down WW since its controlled by a couple of people - in the same way you (probably) could with freemarker on sourceforge if you wanted.
Yes it is true that Apache expects projects that join to adopt the "Apache Way" and no I don't think it interesting - all groups work that way. If I joined freemarker, you would expect me to adopt to your modus operandi, no? For example you wouldn't want me to start trying to impose ASF practices in your project?
On Shale...
I mentioned earlier what Craig wanted. He considered moving Shale out of the Struts project, but was persuaded by the PMC (me included) to keep it as a sub-project. I believe, even though they are 2 separate competing frameworks - there is value in remaining together. Although they may not work on the "action" framework - we still get input from people like Craig and I get to see whats going on in Shale. There has been some talk about sharing common technologies - so far the only instance of this is "tiles" so it remains to be seen how successful this will be. Primarily though I enjoy working with this group of people and have a great deal of respect for them (OK I know thats going to cue you to say how can I respect the losers) and would have been disappointed to see the Shale guys leave.
I agree that having two frameworks does not create clarity and there have already been numerous discussions on the mailing list wrt to this. Its going to get worse when WW arrives - since there is still a good chance there will be a few more releases of the original Struts (i.e. Struts 1.x) - so we could well be pushing three flavours (Struts 1.x, Struts 2/WW and Shale) out of the door. Also when someone asks "what should I use" - they're going to get different answers from different people - or some vague "heres a link, go read it and decide for yourself".
How bad the problem/confusion over this remains to be seen. It was very regular for a while, but seems to have died down and most people seem to now get it. Having said that, Shale hasn't had a release yet and I expect its uptake will increase dramatically once it does, so we may be in a lull at the moment.
I think the main advantage of Shale (from a Shale point of view) remaining part of Struts though is that, it will help attract existing Struts users to its cause. So we are competing with ourselves. The web framework seems to have coalesced into 2 camps - component (e.g. Shale, JSF, Tapestry, etc.) and action (Struts, WW, etc). Hopefully we can dominate the world, by providing a solution whichever camp people fall into :-)
On your subsequent post regarding freemarker access...
I was joking when I asked for access - I expected a sharp rebuttal. However I am pleased that, following this (sometimes) acrimonious exchange, I am not automatically excluded from freemarker in the future. I keep meaning to check out templating engines, including freemarker and I have a couple of ideas I'd like to try with something like freemarker (although never seem to find time). If I do, I'll be sure to join the list - I may just do that anyway to just keep up to date with whats going on in the project.
I agree it probably would be liberating - although the thing I find the biggest burden on a project is not the bureaucracy or code changes - its the testing - it always costs the most amount of time.
As for the argument that if the Webwork people come into the ASF, it is normal that they should have to adapt to the ASF ways, that is true, as far as that goes. However, I revert to my basic argument.
If one's basic paradigm for how the open-source world works, or at least how it should work is that it's a meritocracy, this has certain implications. That the Webwork people produced the better framework is not in dispute. You have accepted this.
If there is something called the "Apache Way" that represents a set of practices for running open source projects, it should stand or fall based on results -- just like any other set of practices or methodology or whatever.
If the WW people produced the better framework than the one at ASF, it is simply illogical, by the basic logic of meritocracy for them to be "mentored" by the people whose work was inferior, in adopting the "ASF way", that, when applied, failed to produce work as good as what was produced over at OS.
There is some very basic level at which this just does not really make sense.
If you don't understand this basic point by now, frankly, it is because you do not want to understand it. Given that, I think I'll refrain from re-iterating the point any more.
As for your somewhat ironical question of how you can respect Craig and co when they are the "losers", well,... look.... I never said they or anybody else were unworthy of respect. My comments about this relate most fundamentally to the basic logic and structure of meritocracy and competition.
As for the Shale business, my considered opinion is that you're making a mistake. I think that you have to have a clear coherent message and I can tell you as somebody more able to look at this with "newbie eyes" that what you currently have is a disaster -- at least as regards projecting a clear message about WTF Struts is. There are trade-offs, but I think that a situation that leads to such a mixed message is a mistake.
That's just my honest opinion. I have no reason to be insincere about that. Also, I don't presume to know for sure. It's more a gut feeling than anything else.
As for the CVS access subthread, we have an open community and you are quite welcome to partake in it.
I understand your basic point and if the the ASF was just Struts then I would agree with you. However the ASF is much bigger than this one project and there are successful projects at the ASF.
I guess the real question is was the reason Struts didn't keep up (or be better than) WW as a result of the nature of the ASF or was it project specific issues in Struts? On this, I think theres some merit in your argument about the barriers to entry and the meritocracy not working. Why did so many talented people go off and develop their own frameworks rather than working with Struts - which was clearly the market leader? Some of this could be ascribed to the egos of those framework developers - but that can't be the whole story and the failure on our part was to attract new blood to keep Struts moving forward at a fast enough pace.
You may be right on the Shale question, but I hope not - time will tell.
Hello everyone, I don't know any of the people involved as I'm "downunder" in Australia and have not had any contact with them, but I thought I'd throw in a Joe Average view point.
Essentially I see Jakarta a bit like an ISO stardard certification. It's not a way of proving one tech is better than another or that any given project will solve your problems, save the galaxy and make coffee for you. But a way of indicating that a product has been examined by a variety of people and been found to do as claimed in a reliable manner, and not contain any nasty surprises. When I'm looking for a solution to a problem I tend to give Jakarta projects more notice simply because of this. Being Jakarta to me means that I can expect a certain level of quality and community support.
I'm not saying that FreeMarker isn't of a high standard. I'm very impressed with what I have seen over the last few days of working with it and intend to keep working with it. At the same time I also understand how politics can get in the way. I've been involved in motorcycling politics here, believe me it's a headache.
All I'm trying to say is that whether FreeMarker becomes a Jakarta project or not should simply be a matter of what it as a product has to gain and lose by doing so.
The problem is, nothing whatsoever in the Jakarta organization guarantees the quality. I feel Jakarta is actually much more just a rubber stamp today. I've lost several days to tracking down memory leak bugs originating from either Jakarta Commons Logging or Apache XBeans. I'd say that I came into a quite intimate contact with lots of Apache-branded Java software (Jakarta and otherwise), using them and inspecting the source code, and unfortunately not lots of it is well written. Notable exception is HttpClient, which I'm using in lots of my project, it behaves really nicely, and the source code is rather well architected. Another notable exception - with some reservations - is DBCP. It might be a heresy, but I don't consider Ant to be a very good solution for automating build processes, although I'm widely using it because I have to. Log4J is kind of nice too, but is very limited when you want to extend it in more exotic ways (lately I had to implement a logger that recognizes and masks certain kinds of sensitive informations in logs, and I unfortunately had to override quite coarse chunks of classes to implement the functionality, as all the intuitive approaches I tried failed one way or the other.)
The really good pieces of Apache software tend to be those that started their life independently of it, achieved their own fame through their own technical merit, and only later joined Apache. Prime examples that spring to mind are Log4J and Lucene.
Post a Comment
<< Home