The Joel on Software Discussion Group (CLOSED)

A place to discuss Joel on Software. Now closed.

This community works best when people use their real names. Please register for a free account.

Other Groups:
Joel on Software
Business of Software
Design of Software (CLOSED)
.NET Questions (CLOSED)
TechInterview.org
CityDesk
FogBugz
Fog Creek Copilot


The Old Forum


Your hosts:
Albert D. Kallal
Li-Fan Chen
Stephen Jones

"Is Open Source Better?"

I was just reading an article on Yahoo! with the same title as above:  http://news.yahoo.com/s/nf/20070130/tc_nf/49629

I was wondering what the group commentary (and Joel's, of course) might be?

The gist of the article is that open source is vastly superior because the 'community' has unlimited IQ potential for problem-solving.  It is also superior because, like XP or other Agile methods, peer-review is a given, and expected part of the gig, in the open source community.

Now, I have to say I've worked in all kinds of shops, with all kinds of dev tools, and I've not seen the "orders of magnitude of improvement" of either the code or the development process itself that the advocates of Open Source have promised in this article. 

My questions are: 

(1) Regardless of what you define open source as, you will write a piece of code in some language, that language being nowhere near perfect. If that is the case, where do you draw the line with everyone "...examining the code, and adding their own knowledge to it" (see link above)?  At some point you will have to ship something, and it won't be gold-plated.

(2) If an assumption is off by a minute amount at the start of an open source project, it will veer wildly out of orbit the more developers you add to it.  How do you define an, or assign an, ombudsman or somesuch to the community to watch out for this, refactor, and perhaps rework the mis-step?

I don't want to slam open source.  I am developing against an Open Source CRM package everyday, and I'm just noticing a few things in the 'community' that concern me.  There are way smarter and far more experienced people than me here at Joel's, and I actually hope to learn something by this post.

Thoughts?

-tom

Dreaming in Code is very engrossing, btw, Thanks Joel!
Tom Mayo Send private email
Tuesday, January 30, 2007
 
 
IQ does not add up. If you have a group of people whose IQ is (for example) 100, 110, 90, 100, 140, and 85, then the "collective IQ" won't be 540.

In fact, the "potential" IQ of a few geniuses in any crowd would be lost among the idiots, mediocrities, and incompetents who outnumber them.

Add the problems of communication which grow with every person added, and you may understand the quip about a group "being as smart as its stupidest member".

In fact, usually in a group large enough communication problem grow so great that the "collective IQ" drops far below the stupidest member.

This is why "design by committee" never works, companies have procedures and protocols, and the OC apologists arguing about "unlimited IQ potential" are dead wrong.
ping?
Tuesday, January 30, 2007
 
 
How about the issue that Open Source is created by programmers who many times are out of touch with the actual business/user requirements? Obviously, not all closed source companies do any better but some of them do.

Developers do a good job of creating open source products aimed solely at other developers. But they really don't do a good job of creating products aimed at regular or business users. They lack the focus and business insights needed to create great products that are marketable. After all, there are tons of commercial software companies out there churning out software. So what causes some to be successful and others to fail? Could it be the marketing/business aspect? I certainly think so!
dood mcdoogle
Tuesday, January 30, 2007
 
 
Cirque du Soleil.

You know all those artists that do all kinds of things in all the most impressive ways? My hairs go up just of talking about it, and I only watched the videos of 6 different shows.

The artists have precision, strength, courage, flexibility, and all of it is improved with training and more training.

Open source for me is like a big Cirque du Soleil, where everyone has her place and can help the show be brighter.

And Cirque du Soleil for me represents the expressiveness of the human collective better than war, politics, etc. Open source is like that. But just like not everybody wants to be part of a "Cirque", not everybody wants to be part of "Open source".

And what would be the show without the audience? What would be open source without the community?

Another parallel is that every country that the Cirque du Soleil visits, they use as an opportunity to find more talent wishing to join them. During their recent visit to Brazil (Sao Paulo), they took the opportunity to take some more brazilians with them. :-) That's similar to how open source works. Whenever open source gets used, it's an opportunity to find more folks interested in helping, be it with administration, translation, coding, etc. :-)

Also, open source is timeless -- it can go on and on, whether the developers are active or not. Thus, when one developer gets tired and needs some rest or time alone, the project will wait for him to get back just fine.

That's like the honey moon, though. Deep down, the human nature is as present in open source as anywhere else. People will fight over ridiculous misconceptions, will allow for politics to mandate what should be worked on, etc. But that's compensated by what open source does right. While in the alternatives to open source, it may not be as easily compensated.

Yes, open source is better for me, and I can only wonder what it will be like in another year. My guess is that by then I will have everything taken care of, even though I don't want to be part of the Cirque du Open Source just yet. :-)
Lostacular
Tuesday, January 30, 2007
 
 
That whole "theoretically unlimited IQ" thing in that linked article is RIDICULOUS.  It's FUD on the part of the open source movement.  Yes, it helps to have lots of heads writing, testing, and fixing code.  But to suggest that this scales linearly to make great software, or that open source is somehow inherently superior because of this is nonsense.  I'm sure Mythical Man Month's thesis is true that throwing resources at a problem has diminishing (and in some cases, negative) productivity returns. 

Some open source software is great.  Some is crap.  Some commercial software is great.  Some is crap.

Some great software has a lot of people behind its development.  Some great software has one person behind it.

Some crappy software has a lot of people behind its development.  Some crappy software has one person behind it.

As others have said before (I think) optimal development team for most software is somewhere between three and seven.
Herbert Sitz Send private email
Tuesday, January 30, 2007
 
 
The big problem with Open Source is that over time, there is no incentive for people to take over the boring maintenance jobs.

One example is NDoc - the original developer gave up on the project and nobody was interested in taking over the boring job of migrating to .NET 2.0
Joe
Tuesday, January 30, 2007
 
 
Is Open Source better?  Why, yes, it's got over that nasty cold at last and it'll be back at work next week.

(And that's as meaningful an answer to the question as any.)
Iago
Tuesday, January 30, 2007
 
 
Unfortunately, while in theory extensive peer review can happen in open source projects, in the median case it does not. The same handful of core developers are looking at and maintaining the code. Just because someone has the ability to examining the code, does not mean they will.

Open source can not be used as an alternative to solid development processes, it's just a distribution mechanism, it does not have that much power. Open source has nothing to do with how you develop your software, but is only really concerned with which rights are granted to users.

However, while I'm sure your intentions were pure, a lot of this sounds like a straw man argument "open source is not a silver bullet, therefore open source software is bad".

Tuesday, January 30, 2007
 
 
"How about the issue that Open Source is created by programmers who many times are out of touch with the actual business/user requirements? Obviously, not all closed source companies do any better but some of them do."

Open source is licensing, nothing else. There is nothing about any open source license that says the developer is out of touch with business/user requirements, to suggest otherwise is just silly.

Tuesday, January 30, 2007
 
 
"The big problem with Open Source is that over time, there is no incentive for people to take over the boring maintenance jobs."

That is a true and completely accurate criticism.  If a project gets thoroughly embedded in your business/infrastructure, you have to consider what your maintenance strategy is going to be if the project is no longer supported.  Then again, that consideration applies to almost all software (Windows 2000 anyone?).

I think the *real* strength of Open Source is the concept of "with enough eyes, all bugs are shallow".  Is everyone a database guru or a caching genius?  Of course not, but with Open Source, there are ways for those people to come into a project (either officially or not) and make suggestions, apply changes, make updates, etc, etc.
KC Send private email
Tuesday, January 30, 2007
 
 
if anyone disagree with you, they can simply fork your project and start a new OSS project.

Mamboo vs Joomla is a good example of it.
.
Tuesday, January 30, 2007
 
 
"The big problem with Open Source is that over time, there is no incentive for people to take over the boring maintenance jobs."

Yes, for a lot of the smaller projects.  But for most of the largest and most popular open source projects I don't see this as a problem.  When big companies make the choice to become reliant on an open source project, they have a vested interest in making sure it's maintained.  They either get some of their employees working on it or contribute to the maintainers of the project.  Either way, there's cash behind things that's causing the project to be developed and maintained.
Herbert Sitz Send private email
Tuesday, January 30, 2007
 
 
"Open source has nothing to do with how you develop your software, but is only really concerned with which rights are granted to users."

Umm ... no.  Let's use Fog Creek as an example.

FogBugz is an application.  The business model is to sell the application.  They wrote it from scratch, and the code is proprietary.

CoPilot is a service.  There is a software component, which is based on an Open Source application, but the business model is to sell the connectivity through their server.  They could never have produced it in one summer, so they wouldn't have the opportunity to provide this service without the Open Source application.

If you want to get rich, you prefer the low incremental cost of the application model.  If you are willing to provide a service whose revenues scale linearly with costs, you can do it with much less original code using Open Source.

So yes, Open Source *absolutely* affects how you write your software.
Drew K
Tuesday, January 30, 2007
 
 
"but with Open Source, there are ways for those people to come into a project (either officially or not) and make suggestions, apply changes, make updates, etc, etc."

But how often does that REALLY happen? It certainly doesn't have automatically. It only happens for the largest projects that actually accept these people as part of their development model.
dood mcdoogle
Tuesday, January 30, 2007
 
 
"If you want to get rich, you prefer the low incremental cost of the application model.  If you are willing to provide a service whose revenues scale linearly with costs, you can do it with much less original code using Open Source."

You can reuse some open source components with proprietary software too, none of this supports your argument.

There's no evidence that your average open source project has more third party deps than your average proprietary application. Open source is about the rights granted to users, nothing else.

If you reuse a lot of code, and dont grant users the right to create derived works, its not open source.

If you comply with the OSI definition of open source, and have no third party deps, it's open source.

Again, it's strictly a rights thing, nothing more. None of the 10 rules which make something open source have anything to do with code reuse.

Tuesday, January 30, 2007
 
 
"if anyone disagree with you, they can simply fork your project and start a new OSS project."

If someone disagrees with you, they can clone your product and start a new proprietary (or open source) project. Competition is a good thing, not a bad thing.

Tuesday, January 30, 2007
 
 
"But how often does that REALLY happen? It certainly doesn't have automatically. It only happens for the largest projects that actually accept these people as part of their development model."

That's correct, it's *never* going to happen for 890% of the projects out there.  It will *rarely* happen for another 8% of the projects out there.  It will *regularly* happen for some of the biggest and best.  Regardless, getting to that point takes quite a bit of time, effort, dedication, and involvement.

My personal example - dotProject - has been an anecdotal success here.  Three years ago when I joined the project, it had been a year since the last release, growth was relatively flat, and there wasn't a huge interest there.  Early in 2005, a few of us started going out and actively tracking down and involving users, collecting feedback, gathering fixes, etc and now it's growing like crazy.  There are installations going up with *thousands* of users, we're getting contributions faster than we can handle them, and in April, we'll be a featured project at the MySQL Users' Conf.

Not a bad feedback loop IMHO.
KC Send private email
Tuesday, January 30, 2007
 
 
All good answers, thank you.  I'm not looking to see if Open Source is 'better' than non-OS development.  Each project is what it is, and what is put into it by its participants. 

I personally agree with the person who said that IQ doesn't scale, but gets watered down.  The more smart people in a room, the less success a given project will have I've learned.

Where I'm struggling with is the constant landscape change in the code, the usability (user & developer!), and documentation. All part of the OS debate canon, to be sure.

As more people 'kibbitz' on what they perceive the business problem to be, the solution seems to get further away from what *I* understood the business problem to be. Perhaps it's just the implementation of this particular open source project and the community behind it.

I'm wondering if other people, who work on OS projects, see this too, and how they deal with it.

-tom
Tom Mayo Send private email
Tuesday, January 30, 2007
 
 
"if anyone disagree with you, they can simply fork your project and start a new OSS project."

If someone disagrees with you, they can clone your product and start a new proprietary (or open source) project. Competition is a good thing, not a bad thing.

Tuesday, January 30, 2007

I don't know if you read Joel's new post about the book Founders at work and his interview.

in his interview, he stated there are at least 7 software products that is cloned from his bug tracking software but none come anywhere close to beat the orgininal.

it's easy to clone the look and feel but not the inner working. OOo have cloned everything that's in MS Office and yet it still suck compare to MS Office.

you can easily clone the inner work of the OSS software but not the closed source software.
.
Tuesday, January 30, 2007
 
 
"Open Source" has become many things in many minds. I see it as "Open Libraries" that you could choose to use. I used one with pretty good success.

But in the end, I'd rather have seen Cirque du Soleil
KooKoo Kachoo
Tuesday, January 30, 2007
 
 
> "Open Source" has become many things in many minds. I see it as "Open Libraries" that you could choose to use. I used one with pretty good success.

I've been using Linux as my OS for a couple of years. My main development tools are open source, and they include innumerous libraries. And I have contributed with bug reports, little bugs fixes, translations... Currently, I am waiting for an improvement in one open source library which will be very useful for me, but which is not ready yet.

Nowadays, open source has become rather pervasive, and even folks who distrust open source seem interested in one or two open source libraries, to say the least. :-) These folks contribute to open source by making the community that uses it. The egotistical use of open source is supported by its nature. :-)

> But in the end, I'd rather have seen Cirque du Soleil

The show must go on, and sometimes it's worth the ticket. :-)
Lostacular
Tuesday, January 30, 2007
 
 
Funny you should mention Cirque Du Soleil. This show was a complete failure until the Canadian government stepped in and saved it with taxpayers' money. Now it's a huge success, and does the Canadian taxpayer get their money back? Do they f**k.
Cynic Du Soleil
Tuesday, January 30, 2007
 
 
Funny you should mention Cirque Du Soleil. This show was a complete failure until the Canadian government stepped in and saved it with taxpayers' money. Now it's a huge success, and does the Canadian taxpayer get their money back? Do they f**k.
Cynic Du Soleil
Tuesday, January 30, 2007

you mean like Chrysler ask Govrt. to bail them out in the mid 70?
.
Tuesday, January 30, 2007
 
 
"There's no evidence that your average open source project has more third party deps than your average proprietary application. Open source is about the rights granted to users, nothing else.

...

If you comply with the OSI definition of open source, and have no third party deps, it's open source."

Do you mean "deps" ==> "dependencies" or "devs" ==> "developers"?  Because I'm really not sure what you're trying to say.


"If you reuse a lot of code, and dont grant users the right to create derived works, its not open source."

You're right, it's not.  I *still* don't get what you're trying to say.  I'm not being intentionally obtuse here, I honestly don't know what point you're trying to make.

*My* point is that if you do use OSS as the basis of a product, and if you do grant users the right to modify and redistribute (which you've agreed is what makes it OSS) then it will affect your business model and development process.  Why do you say that it has no impact?
Drew K
Tuesday, January 30, 2007
 
 
It might make an impact, but again thats secondary to what open source is about. Open source is about the ability to make derived works, and a handful of other principles.

None of the examples you mentioned have anything to do with open source software, other than the fact that they can be implemented using open source software.

Tuesday, January 30, 2007
 
 
no. open source is the lcd of software.
lemon obrien Send private email
Wednesday, January 31, 2007
 
 
"None of the examples you mentioned have anything to do with open source software, other than the fact that they can be implemented using open source software."

What examples?  Are you replying to me or referring to what someone else wrote?  I really don't understand what point you're trying to make.  I *thought* you were talking about whether using OSS changes the way you devlop, but now you're talking about what open source is "really about."

So please, treat me like I'm stupid and just tell me what your point is.  I'm having no luck reading between the lines.
Drew K
Wednesday, January 31, 2007
 
 
Somebody else obliquely touched on the real issue but then it was semi-summarily dismissed:

Open source works great when the project is interesting or when a company that has deep pockets AND is committted to open source is on board, BUT

a lot of the work that needs to be done is not interesting and is not fulfilling. It's BORING. Things like device drivers for hardware that you don't like. Writing docs for the idiot-level users you have nothing but contempt for anyways. Etc.

An old friend and colleague of mine once tried to solve this problem with a pay-for-code site (www.cosource.com) but it didn't take off. That, more than maintenance of the same, is the critical issue in a lot of cases for me - the boring-but-necessary work's not getting done.

That being said, I use open source as a launching pad all the time - but I can only recommend that my employer use it if we have enough knowledge internally to be able to fix it ourselves. And despite the rhetoric, you really DON'T have to have that level of knowledge of most commercial platforms you might be building on.
M1EK Send private email
Wednesday, January 31, 2007
 
 
Forgot to say, the idea behind cosource was to merge the funds of the many small companies which might be willing to pay for a boring or uninteresting job TOGETHER so that there'd be enough money to make it worth somebody's while. As it stands today, unless an IBM wants it done, it ain't getting done.
M1EK Send private email
Wednesday, January 31, 2007
 
 
In order for open source to be better you need these things:
1. The devs have lots of free time
2. The devs are really motivated
3. The devs are good

Even if you only have 2 out of 3, the project will absolutely fail.  The real answer is open source isn't better and I can prove it.

For starters, realize there are like a dozen apps I use.
If you want proof on how open source is failing, simply browse SourceForge, you'll be amazed by the sheer number of inactive projects because the people failed to realize what some projects take.

Yes, it's easy to name popular & well made "open source" projects (ex: OpenOffice, FireFox) but these are the exception.
TravisO Send private email
Thursday, February 01, 2007
 
 
Peer review is a powerful thing, especially when it can be peer improved.  Wiki is a perfect example of this.

The difference is, you can't simply look at source code and improve it, unless the original code is obviously horrible.  There is a learning curve involved, unlike Wikis where the learning curve is measured in 2 minutes instead of 2 hours, 2 days, 2 weeks, 2 months in code world (depending on the size of the project).

I also admit that my list of 3 requirements will hurt commercial apps too, but at least in the dev world you have somebody breathing down you're neck if you slack off.
TravisO Send private email
Thursday, February 01, 2007
 
 
"The real answer is open source isn't better and I can prove it."

A more useful question would be, "Is it worse?"

Another good question would be, "What *kinds* of projects benefit from open source, and what kinds don't?"  Products whose primary users will be other developers (eg: Apache) don't have the same problem with making it user-friendly as a word processor does.  Products that implement an open, slowly-changing standard (eg: Firefox) can benefit from frequent, incremental improvement and bugfixing.


"For starters, realize there are like a dozen apps I use.
If you want proof on how open source is failing, simply browse SourceForge, you'll be amazed by the sheer number of inactive projects because the people failed to realize what some projects take."

Look at shareware sites, where developers are trying to get paid for their proprietary products.  Most of them don't make money either.  Look at new business creation, and you'll see that most of them fail.  In fact, most of *everything* fails, because most stuff is crap.  But people don't care about "most stuff".  They care about their dozen apps, and for each of those there may be one or two leading competitors and a thousand attempts that no one uses.

No one cares about average.  http://drewkime.blogspot.com/2006/11/no-one-cares-about-average.html


"Yes, it's easy to name popular & well made "open source" projects (ex: OpenOffice, FireFox) but these are the exception."

And it's easy to name popular closed source projects.  These are *also* the exception.
Drew K
Thursday, February 01, 2007
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz