Re: Quality control and FOSS rant

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/01/2008, Andy Tripp <atripp@xxxxxxxxxxxxx> wrote:
> >
> >
> > Comments and criticisms welcome.
> >
> I suppose this is more of a troll than a criticism, sorry about that.
>

That's okay -- as Mark says, it's nothing new.

> > Classpath bugs don't
> > have such administration issues due to
> > its longer history as a FOSS project and existing community-oriented fun
> > development paradigm.
> Wouldn't it be more accurate to say that Classpath lacks the basic
> quality controls that OpenJDK has?
> Such as the requirement that all changes be peer-reviewed and signed off
> by at least two other developers with knowledge about
> the changed code, and extensive regression testing before incorporating
> into a release.
>

I'm not implying that quality control is not important -- far from it.
 And, again as Mark says, Classpath does have quality controls.  All
patches are posted _publically_ for review by _all_ and anything
non-trivial has to be approved formally, again in public.  Things
probably have become a little lax of late, I'll admit, but that's
because Classpath development has been an uphill chase against Sun's
development of the JDK and hence very active with more trivial patches
than most projects (e.g. many patches just provide the code for a
public interface which is largely just copying the method signatures
and creating our own documentation).  You can't apply the same rules
unilaterally.  OpenJDK is a much more stable codebase and as such I'd
expect slower response times and more care to be taken.  Classpath
development was much slower paced when I first started back in 2004,
with patch approval taking at least a week and required on each and
every one as you state.

Each release (which isn't the same as CVS) goes through weeks of
regression testing and bug fixing beforehand.  And of course, we have
a clear and open development process which allows anyone to join in,
whether that's by merely submitting bugs or helping us clear them.
Look on the Classpath mailing list archives and you will see evidence
of all this.

> You may consider these as just annoying "administration issues", but
> others consider it basic quality control, as essential
> as being sure that the code compiles.
>
> And while I'm sure it makes for "fun development", I'm not so sure that
> it's good for ensuring quality.
>
> You might want to consider having Classpath follow some basic quality
> measures. It will make the work
> less fun, but it's also fun to end up with a good quality product. And
> if people only work on the "fun" stuff,
> the product might never actually finish.
>

Quality control is not part of the administrative issues I was
referring to.  What I was referring to is the existence of a public
bug database, public patch discussion and a general open and
community-oriented process which are in the pipelines but don't yet
exist.  These are mainly social issues, not technical.  It will take
time for Sun engineers to adjust to growing and working with a FOSS
community around the OpenJDK.  The codebase may be mature and stable,
the community is still nascent.

And 'fun' is a very subjective term; I mean it in a very social sense,
of people working together and camaraderie -- no doubt the engineers
in Sun had equally as much fun creating the JDK as we have with GNU
Classpath.  My point was more that, so far, there is still a line
between 'them' and 'us'.  We haven't been invited to the OpenJDK party
inside Sun yet, so our only fun remains in the GNU Classpath project
.
> I realize you weren't trying to put down Sun and its process, and I'm
> being overly defensive. It's just that
> I don't see how FOSS developers can continually just brush off the
> issue. It takes months to get a fix
> into Java, and only minutes to get a fix into Classpath. The goal of
> Java is to be a complete, stable,
> quality release. If Classpath's goal is just to provide a fun playground
> for developers, that's one thing. But if Classpath's
> goals are the same as Java's goals, then someone's process is wrong.
> Either those
> quality controls are needed or they're not. It wouldn't be a big deal if
> the common thinking was that FOSS projects
> like Classpath are just toys for developer enjoyment, but I frequently
> see claims that FOSS applications are
> on par with the quality in closed source, or even better quality.
>

Of course it wasn't a jab at Sun, I wouldn't be able to work on this
to start with if it wasn't for the hard work that's gone into the
OpenJDK release.  But I'm not going to lie and say everything in the
garden is rosy either.  I don't think you can generalise to all FOSS
projects; there are clearly different levels of quality control
required depending on the stability of a project.  If a project is
just starting either from scratch or on a major new release, you'd
expect to see a rash of development as new ideas are experimented
with, etc.  In contrast, you'd expect to see minor changes and bug
fixes to something pretty feature-stable (I guess something like the
coreutils which provide ls and friends).  GCC, for example, spends
more time in regression and bug-fixing mode than in feature addition.

You mention the concept of a release several times.  One of the main
differences between FOSS and proprietary development is that you only
ever see the release in a proprietary project.  So you can't see what
went on beforehand or whether these processes were always adhered to
(I'm not saying that's not the case, just that it's possible).  You
may have all the right ingredients, but it doesn't mean you're always
going to get a perfect product out the oven at the end.  My general
experience has been that I run into far more bugs with proprietary
products, which then doubly annoys me because I can't do much about it
because of the arbitrary separation between user and developer.  Your
mileage may vary of course, but proprietary development by no means
produces perfect products.  You  just see less of the debris as the
work is being done.

> Also, as FOSS developers start to contribute
> to OpenJDK, I'm already seeing suggestions for changes where the
> rationale seems to be "because that's
> how FOSS projects do things", with of course the underlying assumption
> that that makes it a reasonable approach.
>

Well, with all respect, Sun are trying to create a FOSS project, which
by its nature has an open process and is community oriented.  Of
course the individual specifics can be debated and the most agreeable
accepted; what's right for OpenJDK is what will be done in the end.
I'd rather all comments were made than people felt they shouldn't say
anything.

> Again, sorry for the rant/troll.
>

No problem, but remember that it's a troll, because you're commenting
about something you don't know that much about.  Read into things a
little more and you'd probably have a greater appreciation for things,
even if you don't agree with them.

> Andy
>
>

Thanks,
-- 
Andrew :-)

Support Free Java!
Contribute to GNU Classpath and the OpenJDK
http://www.gnu.org/software/classpath
http://openjdk.java.net


[Index of Archives]     [Linux Kernel]     [Linux Cryptography]     [Fedora]     [Fedora Directory]     [Red Hat Development]

  Powered by Linux