Very interesting conversation. Thanks to you both. On 3/20/06, Jonathan Revusky <[EMAIL PROTECTED]> wrote: > > Frank W. Zammetti wrote: > > Welcome Jonathan! Better late than never :) > > > > Jonathan Revusky wrote: > > > >>> I think here we have to agree to disagree. I see there being a > >>> responsibility involved that you don't. It isn't like anyone can > >>> just come along and contribute, contrary to what we might want people > >>> to believe, because there is a barrier to entry, namely those already > >>> involved. AND THAT IS FINE. In fact, it *has* to be that way > >>> because the alternative is just opening up commit privileges to SVN > >>> to anyone and everyone, and clearly *that* isn't a good idea :) > >> > >> > >> > >> You say this as if it is the most obvious thing in the world. But is > >> it? I am quite skeptical. You take as a given that commit privileges > >> have to be closely guarded, like a high priesthood guards the inner > >> sanctum. > > > > > > Yes, I do think it has to be guarded. I can think of two good reasons: > > outright malice and bad code. > > I think outright malice is quite rare. In fact, so rare as to be almost > a non-problem. Have you actually run across this? > > As for bad code, this is more likely. However, bad code that actually > does something can be refactored into something better. At least it's a > starting point. If it's so bad that nothing of value can be salvaged, > you can always just roll it back. > > I mean, this is a basic difference between software and other fields. If > you just let anybody work on a construction project, and people did bad > work, well, it can range from difficult to impossible to revert to the > original state that the project was in before that work was done. In > software, you have something completely malleable, and you can always > just revert to some known state of the code at a given point in time. > > So how much damage can anybody really do? > > > > > I am inclined to believe there are some people who would actively try to > > corrupt the code in some way simply because they have an axe to grind > > with the project. > > Well, we should be empirical about this. If we're trading notes about > how to run open source projects, it should be based on actual > experiences, not just idly speculating on what could happen, right? How > many cases of outright malice have you run into? > > > This could be very subtle, maybe introducing pieces > > of license-incompatible code. I don't imagine this would be > > wide-spread, I think the majority of people would behave themselves just > > fine, but to ignore the bad parts of human nature would be folly, and I > > think given the opportunity to add anything they wanted, the bad part > > would surface at some point. > > > > There could also be innocent mistakes made, like committing things that > > you think are license-compatible that really aren't. This could happen > > at any time obviously, but if you guard the commit rights, my hope is > > that you only grant the rights to people you believe understand how to > > avoid these mistakes more times than not. > > Well, I have to admit that I was thinking in terms of being pretty open > about letting people commit code to the repository, but I meant *their* > code. I don't think the problem of somebody saying: "Hey, I wrote these > classes that do X over the weekend." and it not being true, that they > actually plagiarized them from somewhere else, that this is very > frequent. But again, this would be a case of bad faith that one would > class along with the malice issue, right? > > And again, I don't think bad faith or malice on the part of people is > that common a problem. > > > > > Also, I think there has to be some check on the quality of the code > > coming in. Especially when your talking about something like Struts > > that a lot of people base big, important projects on, I don't think it > > would be wise to let any Java beginner commit code without it being > > scrutinized. > > I never said that the code people commit should not be scrutinized! Most > certainly it should be. > > > There are better places to "get your legs" than something > > like Struts. And plus, it is important to me at least that any > > committer on any project have a basic understanding of the overall code > > base, not just a small part to be sure the committed code fits with the > > overall code base. > > Well, you can always review what they did. Your comments almost would > lead a casual observer to think that you are unaware that any changes > people make can be backed out. And quite easily. > > > I am not talking about an individual who makes a > > targeted contribution here or there, I'm talking about a permanent > > committer who can commit whatever they want at any time (subject to veto > > by other committers). > > > > > There is a third reason too actually: does the code at least somewhat > > jive with where the project is going? This was part of the debate all > > along... there has to be a balance between being open-minded and > > accepting new ideas, and just accepting anything that comes along. A > > good example is the SetupItems contribution I offered last year. While > > it doesn't represent a major paradigm shift or anything like that, the > > fact is that with Struts 1.3 in the pipeline, and chain being arguably a > > better solution to the same problem, it was, I feel, reasonable to say > > that the contribution maybe shouldn't have come in. I thought it was a > > good contribution, I in fact know a fair number of people took it and > > incorporated it on their own, but it was kind of superfluous with the > > chain refactoring coming, and so in a sense didn't jive with where > > Struts was going. > > > >> What is the basis for really believing this? The idea, AFAICS (you can > >> clarify) is that if you let "anyone and everyone" commit code, they > >> will commit all kinds of low-quality stuff willy-nilly. > > > > > > Yes, I believe this is part of the risk. > > Frank, I do not know all the answers, but here is what I suspect. If you > just give commit access to anybody who asks for it -- as revolutionary > an idea as that may sound to you -- most likely the sky will *not* fall > in. > > That the person who wants the commit access actually does malicious > things -- I suspect this will just about never happen. That, when you > review some of the code, you have objections to it, this can happen, but > is not the end of the world. > > You have the pros and the cons. Lowering the barrier to entry has the > pros that you have a much better chance of getting fresh blood in the > project. Keeping barriers high leads to what we observe around here. > > I suspect the latter is the greater danger. > > > > > > > My own experience > > > >> running open-source projects has been that the vast majority of times > >> that you give somebody commit rights to the code repository, they > >> simply do nothing -- good or bad. > > > > > > In fact, my own experience would echo that. But I'm not sure that says > > giving commit privileges is inherently safe... > > Crossing the street is not inherently safe. OTOH, that, when crossing > the street some homicidal maniac decides to run you over just for the > hell of it -- this could happen, but quite rarely. > > I say the malice thing is just not going to happen that much. Consider > this. Despite your being a wonderful guy (I'm sure) somebody has a > grudge against you. Is that person going to: (i) do nothing, 'cause he's > got a life (ii) get on your mailing list and write an email entitled > "Frank is an asshole" or (iii) dissimulate his grudge against you, > pretend he's on your side and ask for CVS access all nice and then do > malicious things. > > I conjecture that (i) is 100 times more likely than (ii) which is in > turn 100 times more likely than (iii) > > What do you think? > > > > maybe it just says people > > tend to get a little gun-shy when they are given extra power :) > > > > > When they do something, they are typically > > > >> quite conservative initially since they are aware that they are new > >> kids on the block and the others are watching closely. > > > > > > I agree, that is generally true. But would it be a good idea to open up > > the repository to just *anyone*? > > Well, this is an empirical question. I have stated publicly that our > policy with FreeMarker is basically to give commit access to anybody who > asks for it. (YOu may note that there aren't that many developers on our > project, which would seem to contradict this, but the thing is that I > tend to remove people who, after a 6 months or more, haven't done > anything, simply because I think the list should reflect people who > actually have done something. > > That's what I was talking about. > > Certainly some people wouldn't be conservative at first, they would jump > > right in, and without some sort of vetting process you can't be sure > > what will get in. Sure, you could always back it out if you had to, but > > that seems like cleaning up a nuclear meltdown rather than having safety > > regulations before-hand to avoid it in the first place :) (Sorry, just > > watched The West Wing) > > I do not seriously see how restoring the code repository to some known > state in the past is comparable to cleaning up a nuclear meltdown. > > But it's an empirical question anyway, subject to an empirical test. > Give commit privileges to anybody who wants them and see if the sky > falls in. My conjecture is that it won't. > > > > > >> BTW, as regards the overall topic of discussion, I don't know whether > >> JSF will be the next big thing or not. I have not the foggiest idea. > >> OTOH, I do have an opinion about the Action/Shale cohabitation. My > >> opinion, looking at the Struts community and website and the rest with > >> newbie eyes is that this is disastrous. I think that any project has > >> to have some coherent message and a person who visits your website and > >> starts looking at the mail archive and so on has to be able to figure > >> out quite quickly "WTF is struts" and to have such an incoherent > >> message due to this Action/Shale bifurcation seems very negative. It > >> just seems complicated and confused. > > > > > > I think it is fair to say you are not alone in that opinion. What can > > be done about it, other than voicing the concern, I don't know. And > > heck, those that hold that opinion *could* be wrong. > > Yes, that is always a possibility. But somehow I doubt it. > > Besides, it's unlikely. The last time I was wrong about something was in > the late 1980's. :-) > > > > > >> Well, to put it another way, if I were assigned the task of evaluating > >> different things in this space, and Struts was one of them, it is very > >> unlikely that I would settle on it. I would almost certainly end up > >> opting for a non-schizophrenic alternative. > >> > >> I don't know how other people see things. This is just my honest > >> reaction. I have no vested interest in this. > > > > > > I think it is fair to say that some people see no problem, others see a > > potentially big problem. Aside from that, I'm not sure any conclusion > > can be drawn :) > > Well, that's not true, Frank. A conclusion can be drawn since it's an > empirically resolvable question. You can replicate (roughly) the same > experiment enough times to draw a pretty definitive conclusion. I don't > say my own experience is enough to be definitive. But so far, my > experience suggests that the fears you express about letting people > commit code are not very well founded. In particular, the malice issue > is pretty much an ersatz problem, I think. Also, that people start > committing oodles of low quality code all of a sudden doesn't seem to > happen either. > > Jonathan Revusky > -- > lead developer, FreeMarker project http://freemarker.org/ > FreeMarker group blog, http://freemarker.blogspot.com/ > > > > >> Regards, > >> > >> Jonathan Revusky > > > > > > Frank > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >
-- "You can lead a horse to water but you cannot make it float on its back." ~Dakota Jack~