Java Forum / General / April 2006
Open Source quality better then closed?
Elhanan - 26 Apr 2006 15:32 GMT hi...
i just wondered, does the fact you write a product as open source, forces you to write better code, in the hopes (fears?) that who ever may see you code in the future will be impressed (shocked?)
Ed Kirwan - 26 Apr 2006 15:56 GMT > hi... > > i just wondered, does the fact you write a product as open source, > forces you to write better code, in the hopes (fears?) that who ever > may see you code in the future will be impressed (shocked?) No.
 Signature www.EdmundKirwan.com - Home of The Fractal Class Composition.
Download Fractality, free Java code analyzer: www.EdmundKirwan.com/servlet/fractal/frac-page130.html
Oliver Wong - 26 Apr 2006 16:43 GMT >> hi... >> [quoted text clipped - 3 lines] > > No. To expand on that a bit, while it certainly is no guarantee of better code, those hopes and fears may be a factor. Another is that closed source software is typically written by people who code for money, whereas open source software is typically written by people who code 'cause they love to code.
- Oliver
Timo Stamm - 26 Apr 2006 18:22 GMT Oliver Wong schrieb:
>>> hi... >>> [quoted text clipped - 9 lines] > whereas open source software is typically written by people who code > 'cause they love to code. People who code for money do not necessarily write better code than people who just love to code. In fact, I think that you have to get paid *and* love to code to achive the best possible quality.
Yes, there is a lot of open source software written by non-professionals that is of very low quality. But how does one know whether the closed source competition is any better?
Timo
Patricia Shanahan - 26 Apr 2006 19:12 GMT > Oliver Wong schrieb: > [quoted text clipped - 19 lines] > that is of very low quality. But how does one know whether the closed > source competition is any better? ...
I don't think there is any automatic answer in either direction. You MAY have more recourse if paid software does not do what it is supposed to do, depending on license terms, contracted support etc.
Development processes are often designed to ensure that more than one person sees each piece of code before it is shipped. Traditional, heavyweight processes include coding reviews. Extreme programming uses pair programmer, so that two programmers consider each line as it is being typed.
Patricia
Timo Stamm - 27 Apr 2006 03:58 GMT Patricia Shanahan schrieb:
>> People who code for money do not necessarily write better code than >> people who just love to code. In fact, I think that you have to get [quoted text clipped - 6 lines] > > I don't think there is any automatic answer in either direction. Neither do I.
> You MAY > have more recourse if paid software does not do what it is supposed to > do, depending on license terms, contracted support etc. Companies like to have someone to take responsibility. They pay for a Microsoft Software Assurance to get telephone support, trainings, and software updates. Most linux distributors have similar offerings. On a smaller scale, software companies can offer consulting and support for an open source project. Take jetty for example.
They create revenue by taking responsibility for the software. Customers will have a comparable recourse, provided that license terms, contracted support etc. are comparable.
> Development processes are often designed to ensure that more than one > person sees each piece of code before it is shipped. Traditional, > heavyweight processes include coding reviews. I am sure there are a lot more open source projects with a flawed or incomplete development process than closed source projects. Some people love to code free software, but few people love free testing.
> Extreme programming uses > pair programmer, so that two programmers consider each line as it is > being typed. I tried that once. My coworker gave up after 5 minutes :)
Timo
Oliver Wong - 27 Apr 2006 17:02 GMT >> Extreme programming uses >> pair programmer, so that two programmers consider each line as it is >> being typed. > > I tried that once. My coworker gave up after 5 minutes :) Which one of you two was typing at the time?
- Oliver
Timo Stamm - 27 Apr 2006 22:52 GMT Oliver Wong schrieb:
>>> Extreme programming uses >>> pair programmer, so that two programmers consider each line as it is [quoted text clipped - 3 lines] > > Which one of you two was typing at the time? He was typing. He is a very capable programmer, but a terrible team-player. We are back to code reviews.
Timo
Tris Orendorff - 28 Apr 2006 20:47 GMT >> hi... >> [quoted text clipped - 3 lines] > > No. Yes!
Thomas Fritsch - 26 Apr 2006 16:47 GMT > i just wondered, does the fact you write a product as open source, > forces you to write better code, in the hopes (fears?) that who ever > may see you code in the future will be impressed (shocked?) No, not necessarily. In my opinion it is not primarily a question of open or closed source, but more a question of whether code-reviews are part of the development/maintenance process or not. Note that a closed-source project may or may not have code-reviews. The same applies to an open-source project.
 Signature "Thomas:Fritsch$ops:de".replace(':','.').replace('$','@')
Amfur Kilnem - 26 Apr 2006 16:48 GMT > hi... > > i just wondered, does the fact you write a product as open source, > forces you to write better code, in the hopes (fears?) that who ever > may see you code in the future will be impressed (shocked?) Authors of open source programs do it for the kudos. Their primary motivation is to impress people by adding one "cool feature" after another. Most can't be bothered to fix bugs -- adding yet more "cool features" is way more fun. The result is feature-laden programs that are buggy as hell.
Take OpenOffice, for example. I won't use that program any more. Each time that I have used it, I have been rewarded by it simply vanishing without trace, taking my document with it.
Oliver Wong - 26 Apr 2006 17:16 GMT >> hi... >> [quoted text clipped - 7 lines] > features" is way more fun. The result is feature-laden programs that are > buggy as hell. Generalizations like these tend to have many exceptions. There are very stable open source programs out there as well. Examples: Linux, Apache HTTPD, Eclipse, Hibernate, phpBB, Azureus, Firefox, Thunderbird, GAIM, ZSNES, BSD, etc.
Some projects take bug reports very seriously, with their developers taking an oath to prioritize the elimination of bugs over the introduction of new features. Also, because of the open source nature, it's possible for the users to contribute bug fixes too. I've done it a couple of times for some of the Java applications I've used.
- Oliver
Daniel Dyer - 26 Apr 2006 16:55 GMT > hi... > > i just wondered, does the fact you write a product as open source, > forces you to write better code, in the hopes (fears?) that who ever > may see you code in the future will be impressed (shocked?) You'd hope so, but it doesn't seem to be the case. However, there is some pretty poor code out there in some high-profile projects.
See http://www.jroller.com/page/fate/20060420 (contains strong language).
Dan.
 Signature Daniel Dyer http://www.dandyer.co.uk
Monique Y. Mudama - 27 Apr 2006 00:33 GMT > hi... > > i just wondered, does the fact you write a product as open source, > forces you to write better code, in the hopes (fears?) that who ever > may see you code in the future will be impressed (shocked?) I don't think there's any one answer to this, just as not every programmer has exactly the same personality and motivations.
 Signature monique
Help us help you: http://www.catb.org/~esr/faqs/smart-questions.html
Scott Ellsworth - 27 Apr 2006 00:55 GMT > i just wondered, does the fact you write a product as open source, > forces you to write better code, in the hopes (fears?) that who ever > may see you code in the future will be impressed (shocked?) For me, this is not a motivator. What makes me write good code is, well, pride in workmanship. Occasionally, I have written something ugly in order to get the overall structure to a working state, but those tend to be pretty well documented. In the main, I want to have written something to be proud of, whether it is going on my hard drive for me, on the Alodar server for others here, to a client for a paid project, or to an open source project for all to see.
Every line of code you write is a an expression of an idea, using time you will never, ever get back. It thus behooves you to write the best stuff you can. Since life is a series of trade offs, people optimize for different things at different times - speed, space, prior knowledge, what they want to learn next, but the wise are aware of that, and at least try to select the optimization mix based on real needs, rather than the voices in their head.
If I know something is going into an open source project, I may spend more time making it maintainable, as many such projects have a wide array of contributors. I may also pick an implementation method that I judge least likely to cause controversy, as time spent arguing about trivia is time spent not fixing important things.
I may also have different amounts of time to spend, if I am working on my own time, as opposed to working for a client.
If public acclaim and disdain motivate you strongly, then you may well find that your open source work looks very different than your closed source work. Nothing wrong with that, as long as you are aware of the motivation, and weigh it accordingly.
Scott
 Signature Scott Ellsworth scott@alodar.nospam.com Java and database consulting for the life sciences
geletine - 27 Apr 2006 23:32 GMT A lot of open source projects are supported by big companies, such as IBM, SUN, Novell, so in effect a lot is done by paid coders opposed to spare time people may have. Lets not forget GPL,BSD/MIT etc is not free food,
Free MagazinesGet these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...
|
|
|