June 20, 2003
OPEN SOURCE....Kieran Healy has an interesting post about the Open Source movement and asks what I think is the key question: why do people volunteer to work on Open Source projects for free?
best predictor of whether you’ve volunteered time or money recently is
whether you’ve been asked. So we need to know much more about the
organizational side. Volunteerism has been a constant in the
software/hacker community since its inception, yet the open-source
explosion is a comparatively recent affair. My intuition is that the
real causal traction is in social organization or institutions, not
individual motives. Interestingly, this view is supported by some of the
people involved in the comunity. Jeff Bates, of OSDN, was a commenter
on the last session and said he wanted to know how a project aggregates
people. This seems like exactly the right question to me.
been a skeptic of Open Source for a long time, and it's not because I
have anything against Linux. My problem is more fundamental: how do you
keep these projects going? To pick a specific example, what happens to
Linux when Linus Torvalds gets bored with it?
Well, who knows? Maybe somebody will pick it up, and maybe Linux
will do fine. After all, the internet is mostly run by volunteers and
it's doing OK.
But how many other successful Open source projects will there be?
How many projects are there where someone will become obsessed enough
with the idea to do all the organizing? And how many high quality
coders are there who are willing to get talked into participating?
I suspect the answer is: very few. So maybe Linux and a few other
Open Source projects will be successful — although even that's a stretch
in the long run — but there aren't enough organizers and volunteers
around to make a dent in the other 99.9% of software that's equally
critical but much less cool. That includes the vast majority of
extremely dull business software that's the real linchpin of the sofware
In Kieran's comments, Mary Kay Kare analogizes Open Source to the
volunteerism that characterizes the science fiction fan community. It's
an intriguing comparison, but let's face it: volunteerism doesn't have a
great track record competing with profit-motivated business concerns. I
suspect that when all is said and done, the invisible hand will beat
out the open source with hardly a fight.
Posted by Kevin Drum at June 20, 2003 09:58 AM
Well, one thing is that Open Source is not necessarily free.
There's a lot of Open Source, and even GPL'd infrastructure, as I understand it (and I'm someone who paid $50 for an easy linux install),
that for-profit companies build on top of. Those companies charge for
their additional work, but at the same time they have a stake in making
sure that what they're building on top of works well.
"After all, the internet is mostly run by volunteers and it's doing OK."
Actually, it's funded and run by huge corporations and governments.
To pick a specific example, what happens to Linux when Linus Torvalds gets bored with it?
Actually, there are several successful open source projects which
have no strong individual leader. Perhaps the most successful of which
is the Apache webserver, which runs, amoung other things, this very website.
which also does quite well with a group leading it's direction. They
survived Jordan Hubbard going to work for Apple with no real problems.
Linus may get all the media attention, but there are plenty of
others, like Alan Cox, who can keep the project going for years.
Especially with companies like IBM having a vested interest in Linux
Another item is that if a package is useful to a company but needs a
few more features, they may add those features and pass them back to the
community. That way both parties get a benefit.
There's certainly a possibility that changes won't be released back
(unless licensing requires it, and sometimes not then), but most folks
who are going to suggest using an open source project as a base are
going to be the same ones who push to release code back to the community
- if you're not a fan of open source, you simply won't suggest using it
it in the first place.
One driving reason to work on an open source project is to (a)
popularize a platform to do something that's pretty well understood
(like operating systems, web servers, etc) and (b) make a living both
supporting this platform and adding features.
An open source platform with a decent following is in some ways
preferable to a proprietary solution put out by a small company because
being GPL'd, you've got code escrow and a pool of people who can support
the product -- which you don't have if the vendor goes out of business.
Well, Calpundit.com is running on an open source Web server...
I'd agree that open source coders gravitate towards a certain type of
project. You won't see a good open source project management tool any
time soon. This is partially because coders dislike project management
tools, and partially because UI experts aren't drawn towards open
On the other hand, open source people will write plumbing tools like
the HTTP server you're using -- because people will build tools they
want to use. Open source people will write compilers, for the same
Consider this. It's not at all surprising to us that a good
craftsman will build some of his or her own tools. Nah, he won't forge
his own hammer, but he'll work on getting the grip just right.
Or, in another field, it's not surprising that car enthusiasts rebuild their own engines with pretty good results.
The thing about code is this: when you build your own tool, it's
really easy to share that tool with others. There's no barrier to that.
If you rebuild an engine, you can't make that engine instantly available
to other car enthusiasts. I think that simple fact makes a big
In other words, you just don't need as many volunteers and organizers
as you might think, because the economic cost of working on open source
isn't significantly higher than the economic cost of doing the code
work you might well do anyway.
There are many, many, many open source projects that just sort of
petered out or were stillborn. You can find a lot of them at
sourceforge. Often, it seems like someone started a sourceforge project
on a whim, with an idea they thought was cool, and maybe some initial
code, but that's as far as it gets.
The major, successful projects like Linux and Apache have probably
reached the 'too big to fail' stage. They're too important and too
useful - there's more likely to be people interested and able to fix
bugs and add new features they want.
That includes the vast majority of extremely dull business software that's the real linchpin of the sofware industry.
This is an oft-made point, but it is rather a subjective matter. From
a layperson's point of view, compilers, debuggers and text-based
editors are (with some justification) about as dull as you can get. Yet
GNU has developed these and more.
My impression is it is not the genre of the software that makes it
dull. Presentation managers, spreadsheets, and databases can all be
interesting ... the dullness comes in at the maintenance end. There's no
glory in spending your days fixing someone else's bugs.
From someone who's an active observer and user of (though rarely a
contributor to) open source projects, it sounds like you are making a
lot of assumptions here. First off, I don't know where you got the
impression that open source projects such as Linux are exclusively run
on unpaid volunteer labor. IBM and RedHat are just a couple of the big
companies who have paid staff contributing to the project. Transmeta,
the company which employs Linus, is also fully aware of how much of his
time he spends on Linux. These companies all benefit from Linux and they
have a financial interest in keeping the project moving. Many other
large projects work the same way.
As for "what happens when Linus Torvalds gets bored of it," well, the
licensing laws of Linux stipulate that he has no right to stop anybody
from picking right up where he left off, and trust me, there are
literally thousands of people who would jump at the chance. The most he
could do is stop them from using the name Linux, which he does own.
Especially strange to me is "how many high-quality coders are willing
to get talked into participating?" Well, my impression is that if you
have to -talk them into it- then your project is dead. If it's good,
they will show up themselves. And even if the project has been
abandoned, it doesn't go away; many fine programs have been abandoned
for lack of interest, then picked up by someone who does have interest.
This is the survival-of-the-fittest aspect of open source software.
But the point is, you're seriously underestimating the available
labor pool for this stuff. The reason this seems especially ironic is
that you are basically participating in an "open source" project right
now -- open source journalism. You're not getting paid, except in
exposure and kudos. But you do it anyway, and a lot of other people do.
Is professional journalism better? Well, some of it is, but not a soul
in the blogosphere would say that it's -all- better, or better for every
Perhaps the problem is that you're mistaking programming for
something that people don't want to do. If accountants didn't get paid,
no accounting would get done. If artists didn't get paid, though, there
would still be plenty of art. For open source programmers, code is art.
I believe the Open source community is already at critical mass to become self-sustaining
1. Look for example at the money Microsoft now spends attempting to
persuade people ( and the governments of poorer countries particularly)
that Open source software is a bad idea.
2. It is now possible for the average small software house to deliver
successful, commercial applications based on open source software.
Moving from expensive proprietary platforms has breathed new life into
many software organizations.
3. The open source development teams are getting older - I'm in my
40's now and I've been contributing to the Open Source community for 10
or so years. Its a level of maturity that balances the enthusiasm of the
younger code hackers with the ability to work for 48 hours non-stop.
4. If you want to see the number and breadth of Open source projects, check out SourceForge
Well, my impression is that if you have to -talk them into
it- then your project is dead. If it's good, they will show up
I think this gets to Kieran Healy's original point, which is that
people -don't- just show up. They may not have to be really talked into
it, but there does have to be some sort of recruitment effort.
(Of course, I'm totally into Kieran's point, because I'm reading Bowling Alone right now, so I am no way either knowledgeable or neutral.)
Oh, just to riff off Gautam's very good point. He's right: there are
high-quality open source compilers, databases, and spreadsheets, and I
know there's financial software out there that's probably usable. And
it's true that the people who wrote these things probably loved to write
them. And it's also true that fixing bugs is the unrewarding drudge
work -- this is another major strength in open source software. There
might be only a few people doing the core development, adding features
and such, but there are lots and lots of people who can fix simple bugs.
I've submitted a number of patches to projects I use. Can you do that
with Microsoft? No you can't, and it's not because they don't have bugs.
In general bugs in free software are fixed much faster and more
transparently than commercial software.
To continue my 'open source journalism' analogy, how likely do you
think it is that I could write this stuff to an NYT columnist, and he
would read it, and possibly even post a followup? About nil, I'd think.
With no offense intended, Kevin, I wish you would take the same
advice with Open Source as you seem to have taken with regards to Iran.
Oh.. one thing I forgot, again, to put in my last post. Yes, there
are some things which open source consistently fails at, in case I seem
too much like an evangelist. That's polish -- a pretty interface, ease
of use and installation, documentation. It's gotten better over the
years, but if you aren't confident in your computing skills and able to
use things without a GUI, or if you rely too heavily on a handholding
manual (like for MS products), you'll probably see some weaknesses.
I think Healy is dead wrong that you won't get contributions without
actively recruiting volunteers, unless he has a screwy definition of
"recruiting." All the project has to do is be out there, and people will
find it, use it, and contribute if they have something to add. But when
it comes to adding polish, or writing docs? Yeah, you probably need to
ask someone to do that. They'll only contribute things which make it
more useful to them (which often does include FAQs, but not usually
... quoth the man who writes high-quality political commentary for free.
This is the sort of entry that really drives home to me how little of
the tech world is visible to people outside the tech community. To a
working programmer, the question "Is open source viable?" is about as
relevant and debatable as "Do you think these horseless carriages have
Open source products I've used to develop software for paying
companies include: Linux, Apache, Tomcat, Ant, NetBeans, Xalan, FOP,
JUnit, Nant, NUnit, Struts, Eclipse, CVS, Postgres, MySQL, Perl, and
probably a half dozen others I'm forgetting at the moment.
More than likely, those product names mean nothing to you; that's
kinda my point -- you're only seeing the tip of the open-source iceberg.
To a working programmer in 2003, a world without plentiful open source
software is a horrid, dystopian nightmare. Open source is going to
continue to exist because it's too damn useful to go away.
Besides, open source software has existed as a movement for about 20
years now, and it's only gotten bigger over time; in the scale of
computing, that's not a short term trend -- nor is it one that shows any
sign of reversing.
"Scratching an itch" is possibly the most important phrase in the
free software movement. It's why projects get started, and it's why the
interesting projects will continue past the point where they depend on
Most free software projects start with "I wish I had a program that
did this" or "Wouldn't it be cool if there was a program that did
that?". That's all the motivation the free software coders want or need.
Once the program does what the author wants, maybe they stop (or
maybe they continue because they like the peer congratulations, or the
prestige) If they do stop, it only takes one person who thinks "I wish
this program also did this", and they can add it. There are millions of
people who can code out there, and hey - it's not that hard. I know
people who learned to code purely to add stuff to the open source game
Angband. Any useful and interesting program will have people willing to
work on it once it has a critical mass of users.
The major problem is finding people to do the boring, uncelebrated
grunt work - writing documentation. The quality of major free software
is amazing. The quality of the free docs not nearly so. It's not that
surprising that O'Reilly are one of the more successful companies
dealing with free software - they publish the manuals and textbooks you
often need to use
To continue Neil's point:
I think blogging is a good analogy to open-source. There are the
traditional journalists who get paid to report and analyze the news, and
there are bloggers who do it because ... they are interested in the
material, they like doing it, and they like the attention. The Internet
has lowered the barriers for publication, just as it has lowered the
barriers for cooperation among open-source coders.
Kevin's point seems much weaker if we substitute blogging for open-source:
"So maybe InstaPundit and Calpundit and other projects will be
successful — although even that's a stretch in the long run — but there
aren't enough organizers and volunteers around to make a dent in the
other 99.9% of the news that's equally critical.
I suspect that when all is said and done, the invisible hand will beat out blogging with hardly a fight."
Mike, it's misleading to say that open source software has existed
"as a movement" for only 20 years. It's true.. but it distracts from the
truth that the concept of open-source software has been around a lot
longer than the concept of proprietary software.
Neil, excellent point about the interface. Recruiting coders never
seems to be much of a problem with a popular open source project, but
they rarely try to recruit designers or human interface people (much
less tech or copy writers). And when they do, they seem all too happy to
accept icons and widgets but balk at taking architecture advice from
Oh, and . . .
To pick a specific example, what happens to Linux when Linus Torvalds gets bored with it?
Well, who knows?
. . . you're showing your ignorance of the subject matter here. The
"succession" has been debated many times. There are 3 or 4 people who
you would expect to be in the running, and maybe Linus will annoint one
of them - but Linux development *will* continue whatever, because it's a
multi-billion dollar industry now. The "succession" is *always* on the
table, because at any time the kernel development could be forked. It's
the ultimate free-market - Linus is top-dog because everyone agrees he's
top dog. There's no contractual obligation to him, he just is. If he
got hit by a bus, the community will rally behind someone else, probably
Alan Cox, and coding will continue.
Kenneth: the difference between software and Iran is that I've worked
in the software industry for 20 years. I know a lot about it.
Lots of good comments here, and I agree with many of them. I'm not
suggesting that Open Source is completely hopeless, just that I'm
skeptical of how far it will spread.
Kynn: Yeah, sloppy wording. The administration is mostly volunteer,
and a lot of the underlying code is written by volunteers. That's all I
Tony: Agreed. I've had lots of experience being forced to buy software from small companies, and the risk is indeed quite high.
Gautam: I was thinking more of things like ERP software, not tools.
Programmers love mucking around with tools, but less so with big
mainframe packages. And I agree about maintenance: it accounts for 90%
of software development, and most programmers don't like it much.
The analogy to blogging is probably pretty good, but I don't think
it's favorable to Open Source. Yeah, I write for free, but I'm just
spouting opinions. If you want real news, you still have to buy it
somewhere and blogging hasn't changed that a bit.
I should make clear that I'm not opposed to Open Source, and I agree
that it's of considerable use to software professionals (Mike's point).
I just think it's been way overhyped, much like dotcoms were a few
years ago, and needs a reality check.
Open source software and standards are so robust, pervasive,
transparent, useful, and comprehensive, that non-technical people don't
even realize they use them extensively on a day-to-day basis every time
they sit down to use the Internet.
And then they ask whether or not open software is relevant.
There is no debate here. Open source is vital to the continued
progression of the software industry, and that won't change for a long,
I think you need more background here.
Regarding the volunteerism, 80-90% of the work on a given project is
done by a small "core" group of 10-20 people. The remaining 10-20% are
small enhancements contributed by literally thousands of people whose
involvement ends there.
The participation is rational, and even self-interested. The
thousands of bug-fixers' work is rational, because these people fix a
bug when it gets in their way, and contributing it doesn't cost
anything, and increases the amount of time available for the core group
to work on serious improvements.
The core group usually starts working on the software to solve a need
that they themselves have, and it may be rational to give away your
work and add features you don't yourself need to increase the size of
the network of users/developers which will reduce your workload.
Now, the lack of market incentives mean that the developers will tend
to develop whatever provides value for the developers and not the
market. You noticed how I used the term "users/developers." This is the
"sophisticated user bias": open source software is rarely useful to
anyone who doesn't know how to fix bugs themselves.
As such, it tends to be successful in server markets, on applications
run by sophisticated admins for users who don't need to set it up or
know how it works. I might add, that by examining your server headers,
that calpundit.com is running Apache 1.3.27 on Unix, and we all know
that Movable Type is written in Perl. So, we wouldn't be having this
conversation without open source software.
Kevin: Sorry; from the blithe way with which you made several errors
or statements of ignorance, it seemed that you didn't know a lot about
Open Source at all.
I was thinking more of things like ERP software, not tools.
Heh.. That's one of the examples I always use about what open source software likely won't do, for the exact reason that it's not something that "the community" will find all that interesting.
Plus, since I work for a company that's in this market, I know that
the complexity of ERP is such that you really can't develop it without
people who understand business processes well, which is a background
your average CS/Linux geek doesn't have, nor would likely care to have
From my perspective as a systems admin though, it's great. I can keep
IT costs low by using open source solutions that work just as well or
better than expensive commerical alternatives.
Kevin, have you read Eric S. Raymond's The Magic Cauldron?
He has some interesting comments on how writing open-source software
can be (and has been) economically viable, as well as what kinds of
situations make it not viable.
If you don't want to read the whole essay, this section has the most important points.
I got off point earlier. My main point is: Why would the "invisible
hand" (by which you presumably mean corporations) even try competing
with open source, generally? Most open source products are in commodity
markets where there's no money to be made unless you're a monopolist
If you're developing web browsers, operating systems, programming
languages... why would you bother writing one from scratch, when you can
just base your code off the large base of existing open-source software
(as Apple did with MacOS X and its Safari browser)? And if you are
going to put a commercial entry into a mostly-commodified space with
free entrants, what makes you think you're going to be anywhere near
good enough to get people to pay?
The reality is, there's very little space for a commercial company to
swoop in and make money, and lots of incentive for people to use the
open source systems, and therefore lots of incentive for somebody to
develop and enhance those systems to make some profit at the edges.
The alternative to open-source is buying a product. With this purchase, the purchaser will get support and reliability. Right?
I’m not so sure . . .
Do you get better support from the vendor or from a Google search?
The reliability of commercial software is getting better but it is
still quite poor in my opinion. No-frills open-source is, in many cases,
Many vendors obsolete their products -- rendering them unsupported
after a few years. So the a purchaser must re-purchase the same product,
re-integrate, and re-test at the whim the vendor product's life-cycle.
As IT managers become frustrated with expensive and problematic
vendor solutions, they are moving away from vendors and incorporating
more and more open-source solutions.
Open Source, to be blunt, is everything. Given the previous examples, of how we use it day to day, we couldn't do without it.
Why do people volunteer for it? Among coding circles, one can get
much respect for doing a sweet piece of code. Real respect, which means
as much to money as some people. Furthermore, I do believe that there is
a lot of principle in it, especially with the GPL, looking for freedom.
And Kevin, I think you way underestimate the importance of the
Blogosphere. What this is to me, is a way to filter stories and opinions
down to basic levels. As well, it's a way to keep my eye on all the
stories without having to spend my life doing it.
I belive strongly in memes and momentum. Blogs deal with the first,
and open source deals with the second. I believe that both offer the
best hope we have against corporate "lock-in", which in reality is not
that far off.
And on the public image on Open Source? Wait 5 years when Linux has
25% of desktops. And 10 years when it has 80%. And the #2. will also be
open source. Both MS and Apple have too much interest in crippleware, to
match OS in quality in the long-run. (Remember that the moment that
they release a definitive version, their business model is over, in
fact, MS has done that with Windows 2000/XP...Longhorn is going to be a
My company uses Linux now.
(http://www.linuxdevices.com/articles/AT6499834574.html if anyone
cares). The last OS that we used for our embedded systems was made by a
company that was swallowed up and disappeared off the face of the
Because we use Linux, I don't have to worry about companies going *poof* and leaving me holding the bag.
Even then, before that happened the vendor didn't care about us. Not
one bit. Of course, since we're a small company we couldn't exert any
force to make them fix the bugs that we all knew were in their product.
Other things about Linux -- who said these people are volunteers?
Most all of the developers are getting a paycheck from something or
another. Some of them work for Linux companies, others of them work for
companies that is using Linux as a platform, and any code that is
created is a "byproduct" of what they really want to do.
What Linux really does is create a "shared development group" between
people at different companies. Because no one company has more
influence than the other and because we have the Internet, its very easy
for a development group to consist of coders in different places
working for different companies to all collaborate on the same project.
Working in the software industry for years, surely you've met
programmers? Okay, the johnny-come-lately former International Studies
people who jumped into the money pile during the dot com boom might not
care about open source, but many, many, many programmers who spent their
teenage years coding machine language and went to college for Computer
Science and ended up working in the field are amazingly passionate about
the underlying concepts of open source. I'd even go so far as to call
their devotion religious. Witness Richard Stallman.
And given the fact that Apache is the most popular web server in the
world, and is a far superior product to anything Mega$loth has been able
to proudce thus far, and your own site runs on it, your argument seems silly.
The best analogy may not be blogging, but writing poetry. Why in the
world would anyone do that? Because the people who do it love it. And
they love getting even a little bit of affirmation when someone likes
something they've made. And other poets will read and critique your
poetry if you read theirs. Looking at this as a purely economic
calculation misses the creativity and community programmers really enjoy
(Kieran recognizes this in his post "the impulse to treat co-operation
and volunteering as a weird social anomaly has its pathological side.")
And I'm not so sure about blogging and news being so distinct. The
other day, someone emailed me to say that there was a lot more to the
story of something I'd linked about Microsoft and spam legislation. So I
picked up the phone. I talked to someone in a state Attorney General's
office, a State Senate Advisor in another state, and a senior MS VP.
They were all willing to talk (some for attribution, some not). I told
them I was a blogger and I wanted to hear their side of the story. I
wrote it up and posted it. That's news.
It seems that Kevin basically admitted to making an overbroad
statement. Sure, the things that a lot of people think of as "software"
will never be as good in open source. Video games.. financial suites..
any software that'll be user-friendly for your grandma.. open source is
not the ideal model for these. But this is really a pretty small subset
of the software out there, I suspect.
So maybe this was a "reality check," but I think it actually moves
the debate farther from reality, this being the cynical year of 2003,
where Linux is an Enemy of Intellectual Property Laws, and not the
Savior of the New Economy Which Will Make Us All Rich. If you think your
comments only apply in a certain context, why not limit them to that
One thing about Open Source, is that once it's written, and out in
the public domain, it stays out there, and can be picked up and improved
upon by anybody should the occasion arise. It does not die with a
company or a project; it lives on.
This suits some types of very basic software very well. Moreover,
once you've done, say, a C compiler, it's basically done forever, whence
the ubiquitousness of gcc. Likewise the Linux kernel itself does not
have to be improved forever to be useful and competitive -- though some
add on applications and UI will require further work.
There certainly are a highly finite number of competent developers
willing to put in their time on an open source project, and so only a
highly finite number of Open source projects can turn out well. Yet,
clearly, Linux is among them, as is Gnu C.
You need to go read Brad DeLong on Open Source. (See the link above)
He gives a really good explanation from an economic point of view of
why Open Source works. Basically, the argument boils down to two
things: 1. The cost of maintaining an Open Source project is very low.
You really just need a computer and an internet connection. 2.
Distribution costs nothing. In fact, the more people who actually
bother to use the product, the more likely it is that one of them will
If you think about it, blogging works in much the same way. It's
basically free to start a blog, and the more people who read a blog, the
more like ly they are to depend on and contribute to said blog. I'm
sure you can relate to this.
I'll be honest - there's one thing that makes me wonder if open
source will be viable, and it's something that all of you tend to miss:
If open source is the end all and be all of software development,
then why does the movement feel the need to convert at knifepoint?
I wonder how many of you have taken the time to ever read the GNU
Public Licence (GPL)? If you did, you would realize how wrong it is.
First, the GPL is viral. What that means it that if you were to use
code from a GPL program in your program, you don't get a choice about
what licence you use - your program is GPL code. Why do you think that
bison (a GPL parser generator) uses a modified version of the GPL?
Because under the standard licence, any parser made by bison would
immediately be under the GPL, and so would any program using that
parser. There would be no commercial viability for a tool that makes
anything it is used on governed by the GPL.
The other major problem with the GPL is that the creator loses any
distribution rights whatsoever. Yes, I know the licence says that the
creator may set any price that they wish. But the GPL also gives the
end user the same rights. With peer to peer file sharing networks the
way they are now, a GPL program that was even moderately popular - a
program that could make the programmer a moderate living if he
controlled distribution rights - would be obtained for free, not bought.
The programmer also has no control over how his project is used -
something that has probably killed quite a few projects. (Read up on
the bnetd issue from a year ago - Blizzard and Vivendi would most likely
have been willing to let bnetd sail under their radar had it not been
for the fact that a splinter group made a variant that would allow the
online play of the beta of Warcraft III - a splinter formed because the
core bnetd devs chose not to add that functionality for that reason.)
It's interesting how much Stallman pushes to have people accept that
Linux is under the GPL - something that is considered to this day to be a
fringe notion. And I wonder exactly where open source would be today
if it wasn't for the GPL. The GPL is the one thing that makes me shy
away from open source, considering how much of open source is under the
Well, GPL and Open Source are two different things. BSD is and Open
Source project but is not GPL'd. Given that, though, GPL is a very
useful device for ensuring that Open Source projects stay Open Source.
Many of the people who contribute to Open Source projects wouldn't
contribute if they knew that their code would be snapped up and closed
off by someone else. When that happens, the changes to that code are
lost forever. GPL is a great way to ensure that you are contributing
code to everyone rather than someone's pocketbook.
If you don't like the GPL, then don't use any GPLed code in your
program. Its that simple. Developing on Linux doesn't mean that all
your source code has to be GPLed by any means at all. All the important
libraries are LGPLed, which means its very possible to write all the
code you want for Linux and keep the source to yourself if thats what
you desire. No one is holding you at knife point and making you do
The GPL isn't wrong at all. Some people would say that asking money
for software (which has no physical form at all) is wrong. Its just a
difference of opinion, and if you want to write some software, go right
ahead and give it any license you want.
Think of it as the "cost" of open-source.
I note that neither of you had anything to say regarding the modified
GPL that GNU uses for bison. To me that says more than all the
speeches about how wrong it is for software to be sold - if they really
believed that, then why change the bison GPL?
To me, the argument that "open source must stay open source" rings
hollow. If someone is willing to donate his code to open source, then
why should he have the right to force everyone else to keep their
software open? If I give you a gift, then dictate how it must be used,
is that really right? Yes, I do understand that open source and the GPL
are separate - yet they are very much intertwined. If I am not
mistaken, all code on Sourceforge must be under the GPL, and the
majority of open source projects are GPL-based. GPL has had much of an
influence on open source software.
The largest problem I have with the GPL is that it (in my view)
destroys the ability of the programmer to control his creation, and
reduces him to a mechanic, making his money on maintaining and modifying
his creations. And it forces programmers to abide by it to gain access
to code that was supposedly released to be used by all.
Like Alex said, if you don't like the GPL, don't use it. What I
meant when I said "Open Source projects stay Open Source" was that if I
personally started an open source project, I'd like to see that my
project remained accessible no matter who contributed. I don't have
anything against other projects that don't use the GPL. It's just my
Jeff, you miss the point. I wouldn't use the GPL - if I have a
choice. But the GPL doesn't give me that choice. If I use something
under the GPL in my project, then I am bound to place my project under
the GPL as well. And to me, that seems at odds with the concept of
"software must be free". If you're going to allow free use of your
code, then you have to be willing to accept that people may use it to
their benefit. You could have had that benefit as well, but you chose
Besides, I would have to say that once I'm assimilating your code
into my project, it's not your project anymore. That is a far cry from
someone adding on a patch or feature to your code (in which you should
have the right to control how that code is used.)
Finally, I dislike the argument of "software should be free", for the simple reason that I think it devalues programmers.
Because under the standard licence, any parser made by bison would
immediately be under the GPL, and so would any program using that
How do you figure this? If you write a C program from scratch and
compile it with gcc, the GPL casts no shadow whatsoever over your
executable. How is output from bison or yacc any different?
If you don't want to have your code GPLed, don't use GPLed code. I mean, its that simple. You do have a choice.
You can write all the code you want for Linux and not have it GPLed.
Heck, I'm doing it right now. The product that I linked above has all
the code that makes my product special not under the GPL.
I'm using several LGPLed libraries, including GTK and CommonC++, but thats ok.
The software may be free, free in terms of money, not free in terms
of "I can do anything I want with it." Free Beer/Free Speech yadayada.
If you want to use GPLed software in your code, go right ahead. The cost will be that you have to GPL your own software.
If you don't want to use GPLed software, go right ahead. The cost will be that you have to write more of your own code.
Its your choice.
Oh, and the notion that attaching conditions to the receipt of a gift
somehow violates the spirit of Christmas is hogwash. Large charitable
contributions always have specific condtions attached.
Maybe I'm misreading the GPL, but my understanding is that if you use
a bit of GPL'd code you only have to maintain the GPL on that bit of
code that you used. For example, let's say you use and modify the Gnome
libraries in your project, you wouldn't have to GPL your entire
project, you'd just have to GPL the changes to the Gnome libraries.
I disagree that the GPL devalues programmers. I think it's a tool that
facilitates collaberation between programmers. It ensures that your
software remains in "The Commons" (I've been reading Lawrence Lessig).
Oh, and code parsers generated by bison aren't under the GPL.
"As it happens, Bison can also be used to develop non-free programs.
This is because we decided to explicitly permit the use of the Bison
standard parser program in Bison output files without restriction. We
made the decision because there were other tools comparable to Bison
which already permitted use for non-free programs. "
I've probably still been a bit unclear about my main point. As I
said, I have no problem with Linux or Apache or any of the other well
known Open Source pieces of software.
But....I have a feeling that programmers and internet users might
take a look at this stuff and not quite realize what a tiny segment of
the overall software market it really is. I'm really not trying to
belittle the stuff that exists and that's very good, but it's a pretty
tiny proportion of all the software out there.
Programmers who do Open Source mostly do it because they like coding
and this stuff is cool. But most Open Source software is also an
example of pure coding, not coding that requires involvement with an
outside world of industry knowledge, marketing compromises, UI
development, etc. etc. This is the boring stuff that will likely never
be touched by Open Source, and my guess is that it's at least 99% of the
industry, maybe more.
That's all I really meant.
Despite what AngelKnight says, I think Kevin's view of programming devalues programmers more than the GPL's does.
son volt: It's different in that the output of bison contains a
rather large chunk of the bison code. When you use bison, you create
rules that create refrence charts, and those charts are then placed into
a template. That template is all GPL code.
And as a person, do you specifically give gifts to people with
strings attached? I know I don't. These people are saying on one hand
"here's this code, I give it to all to use", but then on the other hand
places it under a contract that makes it so that using that code forces
you to perpetuate their beliefs. Personally, I think that's rather
Jeff: It's a matter of scale of use, and one that is in bitter
contention. From what I've seen, however, the GPL is quite viral in
Alex: Thanks for restating what I had said before - that today, bison
output is not governed by the standard GPL. I'd advise you to read up
on it, though - the new licence was added relatively recently. Initial
versions were under a standard GPL licence.
The use of libraries is different from incorporating code into your
codebase, in that a library is invoked by the program. (That is, the
library is installed separate from the program, and the program, when it
needs that library, calls it.) If it wasn't that way, then such things
as DirectX, OpenGL, and MFC would cause code made using them to either
fall under their licences or be illegal.
I'd also advise you read up on Stallman (the guy who wrote the GPL) -
when he says "free", he actually means "free to be used as you want",
not "free in cost"(as I pointed out, the GPL specifically says you may
charge for your product). Finally, the "well, you don't have to use GPL
code" comment ignores the fact that most open source code is under the
My point is that if the concepts of open source are so great, then
why is it that the community feels the need to propigate their beliefs
via a licence that forces others under it? If your belief is so right,
then why don't you let it compete in the marketplace fairly? (Again,
the "you don't have to use the GPL" argument falls flat because of the
large amount of GPL code.) I think that many open source zealots are
afraid that if people are truly given freedom to use their code as they
want, they'll take it and use it for their own gain.
That said, I wouldn't be against a licence that said that any
modifications to the functionality of the code under it must be released
openly. But I wouldn't have such a license be viral, nor would I have
it cede distribution rights to the end user. Firmly put, I believe in
Finally, Kevin's right - most open source projects are done because
someone thought "this would be cool." Even Linux started that way.
Perhaps Open Source projects are a tiny, insignificant part of
the vast subset of all software. However, are you including in that list
all software over all time, such as Visicalc, or are you limiting
yourself to the subset of all currently-in-use software?
If it's the latter case, I'll simply point out that while Open Source
projects may be a tiny part of all projects, they're certainly not
insignificant — especially when it comes to the products that run the
Internet, such as Apache and Linux.
If you believe in intellectual property, how can you argue that
people who write GPL software shouldn't be allowed to license it as they
see fit? How is that any different from GiantSoftCo slapping a EULA on a
shrinkwrap box? How can you justify according the GPL less respect --
beyond that fact that the GPL's terms annoy you?
Frankly, when you say things like "I think that many open source
zealots are afraid that if people are truly given freedom to use their
code as they want, they'll take it and use it for their own gain", you
just sound like you want a free lunch: you want to take someone else's
work, violate the license they've chosen, and profit from it, giving
them nothing in return. That's not a "free market," that's exploitation.
Re Bison: "I'd advise you to read up on it, though - the new licence was added relatively recently. "
The GPL exception was added in version 1.24. That was in May 1995.
Bison has been around since 1986, so I suppose you can term that as
"relatively" recent, but for 8 years now Bison-created parsers haven't
been encumbered by the license that you stated.
Kevin: Most software isn't sold for shrinkwrap, and you know it.
Most software is written for internal use, and well, the GUI on some of
that software isn't exactly designed by Apple.
Now, on the boring side though, there are open-source project
designed to handle that. Take a look at the GNUe project at
http://www.gnuenterprise.org/. Other interesting projects include the
open source CRM software at http://www.compiere.org/.
Yeah, this stuff isn't flashy, but its out there.
It's true that the amount of software that is Open Source is tiny, if you measure lines of code across all software.
Open Source derives its power, though, from its tendency to focus on
very basic functions in the cyberworld, such as OSes with Linux, Apache
server software, etc. Happily, the very things many developers find most
interesting are also most fundamental.
If Open Source weren't important, why would Microsoft spend so very much time and money dumping on it?
Don't forget programming tools like Perl, Python, gcc, PHP, etc.
Saying that only a tiny percentage of programming is open source is
exactly the same as saying that only a tiny percentage of programming is
copyrighted by Microsoft. In both cases, the entire platform,
programming tools, and major applications are provided by the entity in
question, either MS or the open source community.
I'm surprised to see all the usual FUD about the GPL here of all places.
GPL forces people to do absolutely nothing. The author is free to
license their code under it, or not, or release the code under more than
one license. The user is free to accept the license, or not.
If the author wants to use the BSD license, or the Artistic License,
or the X Consortium license, they can do that, too, and it's still free
The GPL doesn't apply to the use of a program; it applies to the
distribution. If you want to link your own non-free code to GPL code,
you can. You just can't give it to anyone else.
You know, Eric S. Raymond, whose name is taken in vain above, is a science fiction fan too...
jhp: As I continue to state, my biggest issue with the GPL is that it
is viral - that is, GPL code introduced into a project automatically
forces the product of that project to be governed by the GPL as well.
It would be like Ford having to put contract stipulations on a radio or
drivetrain made by another manufacturer on the car as a whole. And you
say I want a free lunch, I say that the advocates of the GPL want to
force their ideology onto people and are afraid to let it compete
freely. I've yet to hear a compelling reason for the GPL to be viral -
many of the points for that. You say that a programmer should be
allowed to use whatever licence they wish - the GPL DENIES the
programmer that right by its very wording.
And as I pointed out, the person could have profited by their code,
but chose to instead release it to all without charging. Last time I
checked, exploitation requires a person to be forced into giving up
their product unwillingly. If you opt to allow anyone to use your
software, you better be willing to accept that some may use it for their
Keith: Re-read the GPL. It explicitly states that any program that
incorporates code under it must be governed by it - that is, if you use
GPL code in your program, the ENTIRE program is now under the GPL, not
just the one section. Personally, I think that Stallman did that
because he was afraid that his idea wouldn't compete in the marketplace.
Many of those other licences you talk about aren't viral - why is the
GPL? Again, the modification of the bison GPL licence says a lot -
nobody of consequence was willing to use a parser generator that would
force them to use a licence not of their choosing.
I understand the concept of open source and in many ways agree with
it. But the prevalance of the GPL worries me, as it takes a lot of the
rights away from the developer, and also forces developers to abide by
it, lest they lose access to the large amount of code under it.
To me, that's not freedom.
"But the prevalance of the GPL worries me, as it takes a lot of the
rights away from the developer, and also forces developers to abide by
it, lest they lose access to the large amount of code under it."
You've got it backwards.
If a programmer wants to modify and distribute GPLed source, he has to agree to the license.
No one is forcing anyone to do anything.
"It would be like Ford having to put contract stipulations on a radio
or drivetrain made by another manufacturer on the car as a whole."
Your analogy is flawed.
If the manufacturer of the radio said up front that they had to do
that, then Ford has the choice not to put their radio in the car. Ford
can buy another radio from someone else or make their own.
"Personally, I think that Stallman did that because he was afraid that his idea wouldn't compete in the marketplace."
Or he was afraid of people taking his code and making money off it
with no benefit to himself and his project. He decided to trade
monetary benefit for more code.
You can use all GPLed software all day long to write proprietary
code. I do that. What I can't do is infringe on the wishes of other
programmers and steal their code. No one is forcing me to do anything.
Do you have a specific example in mind of something that you'd like
to many money on by taking other people's work without any sort of
monetary or code compensation?
Also, if I own the copyright to a piece of code and release it under
the GPL, there's nothing to stop me from turning it around and releasing
it under another license and charging for it. Nothing at all. Contact
the author(s) of a piece of GPLed code and ask to get it under a
different license if you want. Its their choice what they want to do
I think we should all just accept that Angel has bizarre definitions
of "freedom" and "competition" and let it rest. The GPL is way, way
more permissive than the average shrink-wrapped license that comes with
any other piece of software; it's way more permissive than the licensing
terms that most third-party proprietary libraries impose on developers;
and if you really can't abide its terms, you are free to go to the
copyright holder and negotiate alternative terms. This is much more
free than you get in the world of proprietary software, and certainly no
Angel is also embarrassingly ill-informed:
If I am not mistaken, all code on Sourceforge must be under the GPL, and the majority of open source projects are GPL-based.
From this I conclude that Angel has never actually visited Sourceforge, because its projects are licensed under all kinds of licenses, and it's not clear that GPL even dominates.
I don't think anybody's ever claimed that most "bespoke" software
(software programmed for a specific client, to answer that client's
individual business or technical need, like Amazon's obidos) will ever
be open source. For that class of software, the openness of the source
is pretty irrelevant. Nobody has any use for Boeing 747 flight
controller software except Boeing. For that matter, even obidos is
probably not worth much to anybody without Amazon's internal expertise
and business environment to go along with it.
(On the other hand, OSS has caught on in certain industries you might not expect: CinePaint
has been adopted in several professional feature film production
companies for retouching/matting. That's an application that requires
industry-specific knowledge, etc.; the difference being that in this
industry, there are actually gains to be had from competitors' pooling
labor on the workhorse tools that aren't central to your in-house
Furthermore, I'm skeptical of the widely-held assumption that
"end-user" apps that require UI refinement etc. won't arise out of OSS.
It seems that OSS skeptics, much like creationists, are always calling
on the God of the Gaps: "Well, evolutionary biologists may have fossil
X, and fossil Y, but what about fossil Z?" Likewise, OSS skeptics are
always saying: "Well, the open source world may have software X, and
software Y, but what about software Z?" To wit:
When Stallman started the GNU project, people thought he was insane: "You might be able to build a text editor and some cute command-line utilities, but you'll never produce a compiler."
A few years later: "OK, you built a high-quality compiler and lots of development tools, but you'll never produce a complete operating system."
Then in the early 1990's: "Oh, well, you've finally got a kernel and the most popular web server on Earth, but your GUI tools are a joke and you don't support much hardware."
In the late 90's: "OK, you've got two nice GUI toolkits and two desktop environments, but they're really primitive, and your web browser's still a joke."
In 2003: "OK, you've got a great browser and your desktop environments are getting more usable, and you've got three office suites, and you've got some impetus in improving usability even further, but the whole package doesn't have as many features as Windows or MacOS, and it's still not very polished..."
Do you see a pattern emerging?
There's a simple unifying explanation that makes the above narrative
obvious: the Free Software world has had to build its software universe
from the bottom up, starting with the most basic programming tools and
progressing steadily upwards to higher layers of the software edifice.
At every stage people have been skeptical that Free Software can
progress to the next, and Free Software has progressed regardless.
The current stage of Free Software's evolution comprises developing
basic end-user software like file managers, web browsers, email clients,
etc. This stage is beginning to draw to a close---the Free Software
programs in this domain are approaching maturity. The next stage, which
is just beginning, includes office software and higher-level end-user
software. Will Free Software fail at this stage? It's possible, but I
wouldn't put money on it.
8588 check out the hot blackjack at http://www.blackjack-p.com here
you can play blackjack online all you want! So everyone ~SMURKLE~