Jonathan Revusky wrote:
> I revert to my statement that a version repository makes it 
> quite easy 
> to restore the code to any point it was at in the past.
> 
> In any case, consider some potential bad consequence of letting just 
> about anybody commit:
> 
> 1. On occasion, people start committing all kinds of bad code 
> and it's a 
> lot of work for you to start sorting it out. (This very 
> rarely happens 
> because new people are typically very timid in their initial commits, 
> and don't do drastic things, their cokmmits are small and 
> localized and 
> could be rolled back easily.)
> 
> 2. Once in a very long while, let's say 10 or 20 years, somebody with 
> sociopathic tendencies comes along and... I dunno... starts 
> introducing 
> bugs deliberately. (But c'mon, this just about never happens.)
> 
> Now, let's consider the consequences of making it very hard, nigh 
> impossible, for new people to get involved.
> 
> A talented, energetic person who has a fire in his belly to do some 
> stuff is given the runaround. You drive that person away. You 
> lose all 
> the contributions he would have made. Moreover, that energy gets 
> invested in the competing project (in our conceptual 
> experiment above) 
> with low barriers to entry.
> 
> Which is going to be the bigger negative for a project, the 
> above point, 
> or points 1 and 2 above?

There are other potential bad consequences than the two listed above.
Consider

3. Subtle errors and exploitable security holes get introduced, either
inadvertantly or intentionally.

While a revision control system allows backing out changes, each change
must be carefully considered.  A security hole or other error may not be
the result of a single change, but of multiple changes made in multiple
locations and, perhaps, at multiple times.

While open source allows a large number of eyes to see the code, it's
not that easy to review code in depth and spot such problems.  Much
trust is placed on the skill, attention, and thoroughness of the
committers.

Consider the C2 Wiki and Wikipedia as analogies.  Yes, it's easy to
delete obviously false information.  It's just as easy to reintroduce
it.  Keeping the worst of the cruft out is pretty much a full-time job
for volunteers who take on the task, and there's not even agreement
between them which is the cruft.  Subtle or infrequently viewed
incorrect information can, and does, remain for long periods of time.
Spectacular failures occur that make headlines in the mass news media.

I, for one, would never recommend to any business enterprise that they
use Struts for important applications if the source was not vetted and
controlled by a small, trusted committee.  Your needs may not have such
requirements for trustworthiness.

But if businesses were to abandon use of Struts for important
applications, would that be a reasonable trade-off for the contributions
of your talented, energetic person?  Or would the loss of talented,
careful people, who needed a framework for business use where large sums
of money are at risk, be a larger negative for the project?

 - George Dinwiddie
   http://www.idiacomputing.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to