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