Re: Quality control and FOSS rant
I personally see no reason, why Classpath could not have some simple code reviewing system. We may just set up rule that the new patch must come with fixes of all regressions it make. If the rule would be ignored, the older developers may set up the local Mauve testing systems, divide the packages and briefly check if the new coming patches do not break the tests. People who want to try alternative approaches to CORBA or DTD - HTML parser implementations are unlikely to contribute to the project which only accepts single line bug fixes. If Sun wants to have OpenJDK very stable and production ready, some experimental fork likely should be set up anyway (its like RHEL and Fedora). Also, GNU Classpath is already ported into many systems - with the new features ready to come to these systems just after recompiling an ordinary Classpath release. Just because this simple reason, it may make sense to continue. Audrius.
Re: Quality control and FOSS rant
Andy Tripp wrote: Andrew John Hughes wrote: (snip) and anything non-trivial has to be approved formally, again in public. Could you provide a link for that? I wasn't aware of that. OK, last post. A lot of what I said was based on my understanding that people can check in non-trivial changes to Classpath without formal approval or review. Apparently I was wrong, and if anyone would kindly show me the evidence of this formal approval process, I'd appreciate it. I've just reread http://www.gnu.org/software/classpath/docs/hacking.html#SEC10 and I didn't see any mention of it. Andy
Re: Quality control and FOSS rant
Andrew John Hughes wrote: On 11/01/2008, Mark Wielaard [EMAIL PROTECTED] wrote: Hi Andy, snip... 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. OK, and feel free to let me know which things you think I don't know much about. Otherwise, it comes across as a baseless personal attack. I don't think they are baseless. You have your way of doing business (http://jdkfixes.com/) and we have our way. You are more than welcome to actually join any of the free software projects (GNU Classpath, OpenJDK, IcedTea, BrandWeg, GCJ, Kaffe, etc) and really participate in the community and shape its directions. We even give you the freedom to do it completely like you want to somewhere else on your own according to your own standards. If all you want to do is just argue for argues sake and not actually contribute to the development of the project I kindly ask you to do so elsewhere. He says ...you're commenting about something you don't know that much about. Whether that's baseless or not has nothing to do with my way of doing business, what I'm allowed to contribute to, or even whether I want to just argue for argues sake.
Re: Quality control and FOSS rant
Roman Kennke wrote: That whole discussion is probably interesting but mostly pointless. Both approaches (closed and open) apparently tend to produce relatively high quality code (or really crappy code, happens in both camps), where with the closed approach the developers (or vendors) have to take over 100% responsibility (because the end user has no way to interact with the development), That's an odd thing to say. I don't know why you might think that closed source developers have any less customer contact that open source developers. It's true that many closed source shops have some buffer(s) between the software developer and the end user, and in those cases I guess the issue is whether that's a plus or a minus. which usually makes things very formal and slow, where the open approach relies very much on the end users reporting problems. Again, I don't know why you'd think that closed source doesn't do the same. In most active projects these are fixed really quickly, giving both the developers and the end users a warm fuzzy feeling ;-) A quick fix (except for something completely trivial) always gives me a nervous feeling, not warm and fuzzy. Maybe I'm in the minority there, and it probably is related to working on projects where the customer is not a forgiving software-developer-type. Labelling FOSS as playground for bored developers is, uhm, strange. That was a response to the claim: Classpath bugs don't have such administration issues due to its longer history as a FOSS project and existing community-oriented fun development paradigm. So I'm summarizing fun development paradigm as developer playground.
Re: Quality control and FOSS rant
Andrew John Hughes wrote: (snip) and anything non-trivial has to be approved formally, again in public. Could you provide a link for that? I wasn't aware of that. Things probably have become a little lax of late, I'll admit, If you have a formal process which is enforced, then how can it become lax? At every project I've been on, almost every developer would like to bypass the process on occassion. If there's no process to stop that, then it's not much of a process. Look on the Classpath mailing list archives and you will see evidence of all this. It's actually Classpath mailing list archives that makes me feel like there's not enough process, and I don't mean just over the last year or so. I would have expected far more substance - like 10x or 100x. Not just quantity but the content, too. One example: a while ago, the issue of how closely toString() methods should match whatever the JDK version produces. There was a little discussion followed by a lead person summing it up as each developer should just do the best he can. That could have been handled very differently, with huge amounts of discussion, escalation, surveys of users, reviews of the project's stated goals, and maybe even a completely different all toString() method need to match the JDK exactly, and all developers must spend whatever time it takes to do it outcome under closed source. I'm not saying one approach is necessarily better than the other. So when you say Classpath has a clear and open development process which allows anyone to join in, that sounds good, but may not be better than the alternative. In the example above, a top-down you will be 100% compatible edict could actually work well to help compatibility. 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. I consider Sun's bug database public, but OK. 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 . Hmmm. Yes, closed source developers do have as much fun as open-source, at least in my experience. As for being invited, I'm not sure what you're waiting for specifically, and maybe Sun doesn't either. And whether or not you're invited, you can participate in OpenJDK any time you like. The bug database is indeed public, the code is GPLv2, Sun employees are happy to have email patch discussions, which you can make public if you like. I'm not sure what else you're looking for when you say a general open and community-oriented process which are in the pipelines but don't yet exist, but if it's something like just give me checking permissions and release builds much more often, I wouldn't hold my breath. 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. Right, so if the quality control is getting in the way of fun, that's not going to change. I guess the fact that you're going to try to patch Classpath is proof of that. It's your choice, of course, but it's a shame to waste your time on that, IMO. 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. Seems like every time a FOSS developer points out a difference between open and closed source, my response is no, closed source is not that way at all. Why do you say that you only see the release in the proprietary project? You can see every build of JDK6, for example. The fact that OpenJDK is available
Quality control and FOSS rant
Give the choice between the meant-to-be-serious guidelines, which I think can be paraphrased as: We really want to have a pretty open check-in policy. But this means that you should be extra careful if you check something in. ...and the meant-to-be-funny chart that shows everything going through code review, I think I'd choose the code review. I hate code reviews as much as the next person, but if you're working on a real-world, widely-used, huge application like JDK, the need for quality trumps the individual need to avoid pain. Hi Andy, On Thu, 2008-01-10 at 12:22 -0500, Andy Tripp wrote: / // I suppose this is more of a troll than a criticism, sorry about that. / No worries. We know trolls and how to deal with them. We do have a flow chart that people have to follow when contributing to GNU Classpath. It is all very formal really: http://gnu.wildebeest.org/~mark/patch.png http://gnu.wildebeest.org/%7Emark/patch.png Seriously, follow the guidelines published at: http://www.gnu.org/software/classpath/docs/hacking.html#SEC9 And at the developer wiki: http://developer.classpath.org/mediation/ClasspathFirstSteps and you will get a long way. / Again, sorry for the rant/troll. / It was fun. Keep it cool! Cheers, Mark
Re: Quality control and FOSS rant
On 11/01/2008, Mark Wielaard [EMAIL PROTECTED] wrote: Hi Andy, snip... 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. OK, and feel free to let me know which things you think I don't know much about. Otherwise, it comes across as a baseless personal attack. I don't think they are baseless. You have your way of doing business (http://jdkfixes.com/) and we have our way. You are more than welcome to actually join any of the free software projects (GNU Classpath, OpenJDK, IcedTea, BrandWeg, GCJ, Kaffe, etc) and really participate in the community and shape its directions. We even give you the freedom to do it completely like you want to somewhere else on your own according to your own standards. If all you want to do is just argue for argues sake and not actually contribute to the development of the project I kindly ask you to do so elsewhere. Thanks, Mark I'm not going to further this discussion for the reasons Mark has already outlined; I don't feel it's getting anyone anywhere fast and this is not the appropriate place for such a long pointless debate about such things -- try JavaLobby or Slashdot. I do however feel I should respond to your point about this being a personal attack. It's an interesting insight into your mindset if you would interpret what was a mere statement of fact (you're a proprietary software developer who has not actively participated in a FOSS project before) as such. Thanks -- some of your comments were mildly entertaining for a little while, but I think we're all a little bored now and would prefer to move on. -- Andrew :-) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net
Re: Quality control and FOSS rant
Hi Andy, On Thu, 2008-01-10 at 16:40 -0500, Andy Tripp wrote: I just want to chime in and question your assumptions about the best way to do things, especially if I think they involve assumptions about closed source that I don't think are true. But this is the wrong list for that. This is the mailinglist for the GNU Classpath developers that want to actually work together on technical problems around Free Software. It isn't a list for Andy Tripp to have random rants and trolls about his proprietary closed source fantasy world. 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. OK, and feel free to let me know which things you think I don't know much about. Otherwise, it comes across as a baseless personal attack. I don't think they are baseless. You have your way of doing business (http://jdkfixes.com/) and we have our way. You are more than welcome to actually join any of the free software projects (GNU Classpath, OpenJDK, IcedTea, BrandWeg, GCJ, Kaffe, etc) and really participate in the community and shape its directions. We even give you the freedom to do it completely like you want to somewhere else on your own according to your own standards. If all you want to do is just argue for argues sake and not actually contribute to the development of the project I kindly ask you to do so elsewhere. Thanks, Mark
Re: Quality control and FOSS rant
Mark Wielaard wrote: You are more than welcome to actually join any of the free software projects (GNU Classpath, OpenJDK, IcedTea, BrandWeg, GCJ, Kaffe, etc) and really participate in the community and shape its directions. What has the Kaffe project done to deserve such draconian punishment? Throwing more people on a late project won't fix it ... :) cheers, dalibor topic
Re: Quality control and FOSS rant
Hi Andy, On Thu, 2008-01-10 at 12:22 -0500, Andy Tripp wrote: I suppose this is more of a troll than a criticism, sorry about that. No worries. We know trolls and how to deal with them. We do have a flow chart that people have to follow when contributing to GNU Classpath. It is all very formal really: http://gnu.wildebeest.org/~mark/patch.png Seriously, follow the guidelines published at: http://www.gnu.org/software/classpath/docs/hacking.html#SEC9 And at the developer wiki: http://developer.classpath.org/mediation/ClasspathFirstSteps and you will get a long way. Again, sorry for the rant/troll. It was fun. Keep it cool! Cheers, Mark
Re: Quality control and FOSS rant
Hi Andy, Comments and criticisms welcome. I suppose this is more of a troll than a criticism, sorry about that. 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? Classpath and most FOSS projects for that matter work differently, but still surprisingly well. From my experience with Classpath I can only say the following: - We have an extensive unit testsuite (Mauve) that has been developed alongside with Classpath. Many bugs got a corresponding Mauve test and a couple of regressions have been caught that way. While not beeing mandadory for any patch to go in, many developers have taken the responsibility to write tests and look out for regressions before committing. Of course, that has not always been the case, I am myself guilty of quickly checking in code that has not been checked that way. - The quick turnaround between the Classpath developers and users resulted in a much more efficient handling of bugs (IMO). This, together with the first point, has helped _a_lot_ to keep the overall quality suprisingly high, despite the apparent lack of formal processes (except the ones that Mark already mentioned). That whole discussion is probably interesting but mostly pointless. Both approaches (closed and open) apparently tend to produce relatively high quality code (or really crappy code, happens in both camps), where with the closed approach the developers (or vendors) have to take over 100% responsibility (because the end user has no way to interact with the development), which usually makes things very formal and slow, where the open approach relies very much on the end users reporting problems. In most active projects these are fixed really quickly, giving both the developers and the end users a warm fuzzy feeling ;-) Labelling FOSS as playground for bored developers is, uhm, strange. But yeah, now that Classpath has lost most of its end users, we might end up like that ;-) I don't care, I'll continue anyway. Cheers, Roman -- http://kennke.org/blog/
Re: Quality control and FOSS rant
On 10/01/2008, Andy Tripp [EMAIL PROTECTED] 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
Re: Quality control and FOSS rant
snip... With the closed approach the developers (or vendors) have to take over 100% responsibility (because the end user has no way to interact with the development), which usually makes things very formal and slow, where the open approach relies very much on the end users reporting problems. In most active projects these are fixed really quickly, giving both the developers and the end users a warm fuzzy feeling ;-) I think this says it all and is my core point too really. There's a lot to be said for feedback and interaction with your users that's often overlooked. All the ideas of complicated quality control processes in the world is not going to make a user feel as loved as seeing someone responding quickly to their bug and fixing it in a short space of time. With a proprietary process model, it goes in the big black box and then you sit and wait to see if it will ever come out again. Just look at the IcedTea bug tracker and you will see this -- lots of bugs waiting on responses from Sun. The sooner the bug process is opened up, the better. Labelling FOSS as playground for bored developers is, uhm, strange. But yeah, now that Classpath has lost most of its end users, we might end up like that ;-) I don't care, I'll continue anyway. Indeed. The idea is just too strange to even be worth arguing with -- there are plenty of examples of where its been beneficial other than to some warped developers that I need not go into here. Cheers, Roman -- http://kennke.org/blog/ Thanks, -- Andrew :-) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net
Re: Quality control and FOSS rant
Hi, I've nothing to add to the defense of GNU Classpath beyond what Roman and Andrew have already said. Instead I'd like to point out that Andy Tripp isn't new to this, and nobody should waste any more time: http://www.javalobby.org/java/forums/t53790.html Rob.
Re: Quality control and FOSS rant
Andy Tripp wrote: 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. That's how discussions with incomplete information work, people make assumptions, then discuss them, and come to conclusions based on the new information they receive during the discussion. At the end of the day, cool code beats heated discussions, so people who care about their ideas deeply, will simply go out and implement them. Discussing actual code beats discussing ideas, since the properties of the code can be measured, while properties of ideas are necessarily speculative. Properties of administrative processes can be measured by the quality of the output, and the output from Sun's processes is able to run more applications than the output of other processes (Classpath, Harmony, etc.), so Sun's process seems to work just fine for producing this kind of software. Naturally, opening up the code base leads to opportunities to reevaluate such processes in light of the further goals of the project, and to optimize them accordingly. Sun ended up switching its OpenJDK development team away from (non-free) TeamWare to (FOSS) Mercurial, for example, and that's been, for all I've heard from Sun's engineers at conferences and on IRC, a reasonable and quite useful thing to do, beside being the way things are done in FOSS projects (use the best FOSS tools to get the job done). Similarly, Sun now has the opportunity to reevaluate the code review tools and the bug tracker used for (Open)JDK, and to improve their processes further to allow collaboration to happen at more interaction points more easily, than is currently viable. Unfortunately, such infrastructural progress, as necessary as it is as OpenJDK evolves to tear down the 'fourth wall' [1], is nothing the FOSS community outside Sun can really help much with, other than contributing to the discussion of different alternatives, as only Sun's engineers can really know how their processes need to work to fit well with what they are doing at their day jobs, beside OpenJDK (the non-open JDK product, for example). cheers, dalibor topic [1] http://en.wikipedia.org/wiki/Fourth_wall
Re: Quality control and FOSS rant
And in case anyone is under any illusions, Sun's record of fixing bugs (and not re-breaking them) is poor. The number #1 voted bug* in their bug database has been unfixed for over 5 YEARS! -Archie * http://bugs.sun.com/view_bug.do?bug_id=4670071 -- Archie L. Cobbs
Re: Quality control and FOSS rant
Il giorno gio, 10/01/2008 alle 20.03 +0100, Mark Wielaard ha scritto: No worries. We know trolls and how to deal with them. We do have a flow chart that people have to follow when contributing to GNU Classpath. It is all very formal really: http://gnu.wildebeest.org/~mark/patch.png Oh, dear... Why no one ever told me about that :P Mario -- Lima Software - http://www.limasoftware.net/ GNU Classpath Developer - http://www.classpath.org/ Fedora Ambassador - http://fedoraproject.org/wiki/MarioTorre Jabber: [EMAIL PROTECTED] pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF Fingerprint: BA39 9666 94EC 8B73 27FA FC7C 4086 63E3 80F2 40CF Please, support open standards: http://opendocumentfellowship.org/petition/ http://www.nosoftwarepatents.com/