Corante

About this Author
Dana Dana Blankenhorn has been a business journalist for over 25 years and has covered the online world professionally since 1985. He founded the "Interactive Age Daily" for CMP Media, and has written for the Chicago Tribune, Advertising Age, and dozens of other publications over the years.
About this Site
Moore’s Law defines the history of technology. It held that the number of circuits etched on a given piece of silicon could double every 18 months as far as its author, Intel co-founder Gordon Moore, could see. Moore’s Law has spawned constant revolutions since then, not just in computing but in communications, in science, in a host of areas. Moore’s Law applies to radios, and to optical fiber, but there are some areas where it doesn’t apply. In this blog we’ll take a daily look at new implications of Moore’s Law in real time, as it rolls forward to create our future.
Media Bloggers
Don't Miss The AppGap, a blog on the future of the office and small business. Sponsored by QuickBase.

Moore's Lore

« Lance's Last Ride | Main | Old Girl Network »

April 19, 2005

Open Source Transparency

Email This Entry

Posted by Dana Blankenhorn

The key benefit of open source is transparency. (That's a transparent Mozambique garnet, from CLDJewelry in Tucson, Arizona. Transparency doesn't have to be perfect to be beautiful.)

The key benefit is not that the software is free. It's not that you can edit it. It has nothing to do with the obligations of the General Public License. It's inherent in every open source license out there.

The key advantage of open source is you can see the code. You can see how it works. You can take it apart. You can fix it. You can improve it. Most people do none of these things, but all benefit from this transparency.

The benefit became clear when I got responses to a ZDNet post called Is Linux Becoming Windows? The news hook was a Peter Galli story about how some folks were getting upset over the feature bloat now taking place in the Linux 2.6 kernel.

Those who responded said simply that the complainents, and I, had lost our minds. Kernel features aren't mandatory. Just because something is supported doesn't mean you have to do it. You can pick and choose among features, because you can see the whole code base -- it's transparent. You can look at the various builds out there and, if there's something you don't like, something you can do better, you can fork it, and maintain your own enhanced code base.

When Microsoft changes its software it makes things incompatible. When Linux software changes this doesn't happen, because the change is transparent. New builds are transparent, and if you come to a fork in your operating system road you can take it.

Transparency is the key term. And it doesn't just apply to software:

  • The best economic systems are transparent. This doesn't mean they're not regulated. But you can see the regulations, see how they're enforced, and see the results. Everyone comes to the market with their hands open. Things are as fair as possible.
  • The best political systems are transparent. Again this is not the same thing as free. But if you can change the law, and if the system for changing things works, with the same rules for everyone, and the popular will respected, then you have a good system.

The same point is clear in software as in business and in politics. Transparency wins.

This is the great lesson of the 20th century. All the more opaque systems -- fascism, communism, dictatorships military and religious -- failed the great test against more open, transparent systems of capitalism and democracy.

The triumph of open source, then, is simply the lessons of history applied to software.

Comments (19) + TrackBacks (0) | Category: Business Models | Consulting | Economics | History | Investment | Linux | Politics | law


COMMENTS

1. Brad Hutchings on April 19, 2005 01:11 PM writes...

When Microsoft changes its software it makes things incompatible. When Linux software changes this doesn't happen, because the change is transparent. New builds are transparent, and if you come to a fork in your operating system road you can take it.

Tell us Dana, can you Dana Blankenhorn compile Linux from source. Have you? Can you eliminate a new feature you don't like? Have you? There are a lot of people who would prefer to have one vendor paid to support something they depend on over something that nobody is responsible for. That is part of the reason why closed source operating systems still have over 95% market share on new machines.

The point you try to make above is vacuous and borderline dishonest (though likely through misunderstanding on your part of how things work rather than deliberate). Both Linux and Windows depend on shared libraries (aka DLLs) which applications link against. It is always possible that those DLLs change implementation details and/or API semantics, which can break existing software. It's like, you can drive around in a transparent Popemobile, but it the road beneath you suddenly disappears, you're hosed. The only 100% protection is to not upgrade the road, and that may not be protection due to other externalities.

Permalink to Comment

2. Brad Hutchings on April 19, 2005 02:35 PM writes...

Lemme add one thing here so the above doesn't come off as a cheap shot. I have an MS in CS from a top-10 CS program. I write thousands of line of code a month. I design most of the stuff I write. I couldn't compile my own kernel and keep my hair intact. My Mom (who has been my test of what is cool on the computer for the 15 years I've been in this business) couldn't recompile her kernel. There is no shame in not having that skill. Coding is a specialy, although there are many tools, systems, and methodologies (including open source) that can make it accessible to more people. But most users just need stuff that works, and closed-source commercial software's benefits in that regard can often outweigh the transparency benefits of source availability.

Permalink to Comment

3. James Springle on April 19, 2005 07:14 PM writes...

While I think Mr. Hutchings missed most of the point of the article, I do have to agree with one point: that most people just need stuff that works, and do not care how that happens. Bill Gates realized this long ago, knowing full well that he could put something like Windows XP out in the market and that people and companies would keep gobbling it all up. The more experienced and advanced users though, do care about how things work and are very much interested in getting the best from our computing experience.

Having been in the CS field for the better part of 20 years (anyone remember the VIC-20?), I can say that, like Mr. Hutchings, I tend to observe other people's reactions to their own experiences. My mother has also been part of that research. Having worked in a tech support job for a major printer and camera manufacturer, I can say without prejudice that most people just dont care about Linux being an alternative operating system, or about Firefox being an alternative browser. These people have Windows and Internet Explorer and are quite happy with it all.

Permalink to Comment

4. Trent Childers on April 20, 2005 12:32 AM writes...

Come on peoople. I cannot believe that a person with a degree in compsci can't recompile a kernel. We are not talking rocket science here. Just a quick kernel guide like you find in say the doc's for Gentoo and just about anyone with even a BS in compsci should be able to recompile the kernel, much less an MS. Now I could understand you saying that not just anyone could go in and write a kernel patch. But to run make menuconfig and go through and select what you want in the kernel isn't hard. In fact I believe that a lot of people could do it if given the documentation. With some decent documentation most people should be able to make selections in menu's and compiling is a simple command followed by copying the kernel image. And you can even find programs that will automate some of that so all you have to do is go through the menuconfig after it opens it up for you. No you sell people short when you say that people can't compile there own kernel. Most just prefer to have things done for them.

Permalink to Comment

5. JT on April 20, 2005 02:38 AM writes...

Is that all about kernel? There is nothing about people, that don't want do that (compile kernel), there is about people who want. I don't dispute, that most people need an OS that just works, but still distro's like Ubuntu and Mandriva suggest people such a system without any needs to recompile kernel. Besides talking about security in the case you ask how to patch the system then - these distro's suggest make upgrades of apps in one click by porting opportunities (and there is no way of fake updates) making them up to date, and linux itself has not got used to bright everywhere own ports like Windows does..
Anyway about topic - can you imagine, that for car tuning you get in jail.. nice? I don't see in a car industry any differents from soft industry. The time of patents has gone, I wanna see what is inside. I'm not young enthusiast, just need to be sure it's my system and I can change it in a little way I want to, as any advanced car driver.
I don't care wether someone prefers Windows or Linux, but soon everyone come to a question what "stops our progress, who's tha man ownz everything and killing initiative people for own benefits, just because He was the first and have money"... it's allright, just a business, but when you get this "de ja vu" of windows, it's time to count your expenses for forced upgrades etc...
Monopoly will be gone as soon as we get open source working, will someone suffer? Open source it's not terrible thing that all for the worst, but it's all for the best. Am I close?
P.S. I need a healthy competiting products with a choice, otherwise it remembers me USSR, where I was born, with 1 gensecretary, 1 global idea destroying others, no contradictory opinions and full CLOSED. Sorry for my poor english.

Permalink to Comment

6. Brad Hutchings on April 20, 2005 06:09 AM writes...

Wow James. Comp Sci may be your strong point, but reading comprehension is not. I said I couldn't recompile the kernel without pulling my hair out, not that I couldn't do it. It was a statement about the relative value to me of being able to do so, which is slightly less than zero. 95% of the OS market seems to agree with me by their actions. That is not to say that open source should be outlawed. But it's not dominant in either the OS or application space. If you like to play with source code or have religious imperative to be able to do so, by all means, please go that route. But it is a stretch to say that source availability actually empowers most users. I think most users are more empowered by commercial developers who have a financial incentive to serve their needs, the training and experience to make great products, and raw passion about what they are able to do as a paying career. Commercial products certainly are not hurting you.

Permalink to Comment

7. Jeff McAdams on April 21, 2005 12:58 AM writes...

Mr. Hutchings apparently missed one critically important sentence in this article.

>Most people do none of these things, but all benefit from this transparency.

Whether you, yourself, personally, have, or even are able to, compile your own kernel (and this applies to far more than just the kernel), you still benefit, drastically, from the transparency of the Open Source development model.

Just because I've never run for a public office and probably never will, doesn't mean that that I haven't benefited from the transparency of democracy. Just because I haven't investiaged company's SEC filings doesn't mean that I haven't benefited from the transparency of our financial system. Of course, some would argue (potentially quite persuasively) that both of these systems could use a great deal *more* transparency than they already have, but that is a point that I won't argue for or against here.

The point that is being made is that the benefits of that transparency acrue to users, even if they don't directly take advantage of the capabilities that the transparency gives them.

Permalink to Comment

8. Chris on April 21, 2005 01:34 AM writes...

Well, I haven't done *any* comp sci and while compiling one's own kernel isn't trivial, it isn't rocket science either. Take your existing kernel config file (supplied by distro), run make menuconfig and then simply select the extra feature you wish to add in (or disable). All the other features should stay the same as in the default supplied. I've had to do this on a few occasions to add in a driver for something or other (usually a filesystem) that isn't supported by the stock kernel.

But that's really at a tangent from the article. The notion that GNU/Linux is more secure because you can look at the code doesn't require that *you* actually look at the code. The point is that *anyone* can. Even if you don't audit all the code or if you don't compile a kernel with a certain feature set, *someone* out there can and will. Without the transparency, this wouldn't be possible.

I don't trust GNU/Linux because I've actually gone over all of the code - I trust it because others with more skill and more of an interest have done so.

Permalink to Comment

9. Hans Bezemer on April 21, 2005 04:32 AM writes...

Well, I'd probably rip my hairs out if I have to set up a server using MS. I know I did when I had to set up an Internet dialer or install a few sound card drivers using Win95.

My girlfriend has been working happily with Linux without compiling a kernel. And although I have been working with Linux for five years, I did neither.

Even if I hardly ever make changes to source code, still, I'm happy it is there. There are a few tools that are not precompiled for my current Linux version and I can compile them myself. For eternity that is.

If there is a feature I want to add, I can add it myself or use patches of others. I can choose to use bleeding edge versions if I want to, even if the author hasn't been able to make precompiled versions.

I can use most Unix software and (port and) compile it for my platform if I want to. I am a writer of Open Source myself and the tiny program I wrote (a compiler) has been ported by others to BeOS, ARM OS, OS/X and more.

Sometimes I wonder how someone did it and I got the source code to study. There are a lot of tricks I learned by reading well written programs.

The point is: Open Source gives you more choices. If you don't need it, you don't need it. But how many times have you had a program that you were unable to run on your current platform (and wanted to)? Even a program you forked out your bucks for?

All the situations I listed before are at hand one time or another. Any computer professional has to be able to do "./configure; make; make install". That is no rocket science.

That I don't know how to set up a IIS server is no excuse. I can do it, if I have the time to study it. And if I need it, I'll do it. There was a time I didn't know anything about dynamic webpages, PHP and web applications. I learned it. Ripping my hair out is one thing I know only too well, mostly with MS products. I know that if I want to learn how to recompile a kernel, I'll make it. Thing is: I don't need it RIGHT NOW.

Support is highly overrated. My experience is that it boils down to one of three things:
- Reboot;
- Reinstall;
- Wait for the next version.

The rest you can (or should be able to find) in the manual (RTFM).

And if you don't find yourself in one of the situations above, you're not really a computer professional by my measure.

Permalink to Comment

10. Wesley Parish on April 21, 2005 08:12 AM writes...

Well, speaking as a Linux Geek who's involved in running an MS Win98 network in a community centre cybercafe aimed at meeting the digital divide halfway, I think I could say being able to see the MS Win98 source code would be of great assistance in dealing with the flood of malware that we are currently being deluged with.

Having very little idea of how Microsoft has chosen to interpret - or misinterpret - the TCP/IP standard, means that it is almost impossible to guarantee that the PCs will remain workable over each daily session - and we only have the computers on for a few hours daily!

Yes, we believe firmly in the short lifetime of MS Windows boxes in hostile environments such as the Internet - if we had the source code available under an Open Source license that drove building an online development community as successfully as the GPL does, we could lengthen that lifetime considerably.

As it is, our router is Linux-based, and our server is a Macintosh running MacOSX. If we didn't have those, we would be considerably harder-off.

Dana Blankenhorn is telling the truth, and nothing more than the truth.

Permalink to Comment

11. chip on April 21, 2005 08:59 AM writes...

Re: Brad
There are other benefits and advantages that transparency and openness provide. First, if you so desire you might personally examine code, make changes, etc. However, if you prefer you could hire someone to add a feature you want, or remove some code, or fix a bug. This meshes nicely with the capitalistic ideals you espouse, made possible by the freedom that open source provides.

Second, you mention the 95% market share as proof of the superiority of proprietary approach, however you are limiting the comparison to one type of software. Alas, you seem to forget that this market share was obtained through illegal anti-trust activities and practices.

Finally, you mention that people prefer a single proprietary vendor who will be responsible for their software. Well, if you have ever read an end user license agreement you might think otherwise. Think about all of the lost data and lost man years of productivity that are the result of buggy and insecure software from the vendor with 95% market share. Is the monopolist providing refunds and compensation to their customers for these losses? Absolutely not.

Permalink to Comment

12. Vance on April 21, 2005 12:01 PM writes...

At the risk of provoking an Open Source/Free Software flame war, let me point out that Dana here has basically restated Freedom 1. What matters is not whether I personally have the skill to add or remove this or that feature to the software, but whether I have the freedom to do so.

Permalink to Comment

13. Javier on April 21, 2005 12:03 PM writes...

a few points:

1) recompiling Linux kernel is very easy. no need to be a real programmer, just to have good technical thinking.

2) most of the userbase doesn't want to do it

3) they don't have to, because there are several distros to choose, each with a different focus on what features get included and which doesn't

4) most features can be (and are) loaded and unloaded at runtime, most distros manage that automatically

5) most other Open Source projects are distributed as source, the ./configure scripts makes it easy for programmers to choose features on any sofware without looking at the code.

6) just as with the kernel, there each distro has different needs and uses a different set of features.

7) all this is possible just because of the widespread transparency. it's true that most non-programmers won't see it directly; but it creates the wide choice of distributions, so the 'integrators' can customize the binaries to their chosen public.

--

Permalink to Comment

14. Brad Hutchings on April 21, 2005 02:56 PM writes...

Geez guys. Usually when I walk into a church, it just burns down. You are preaching to the unconvertable. There are situations where the benefits of having source available are stronger than the downsides. I actually have a source available software product and several that are not. See my web site. Open source is a tactic, not a religion for me (and most of the market).

Many of the posts above demonstrate what I see as the most silly feature of technically oriented people. It's chest pounding over the ability to drop jargon, invoke the command line, and do something really complicated of near zero utility to most people. Many popular open source projects, attracting this kind of attitude from developers and users, end up with a kind of complexity lock-in. Why else have I dropped literally days of work in in the last month configuring Postfix and Apache? I am eagerly awaiting Mac OS X Server 10.4 ($499) to see if the Apple server guys have made it easy enough yet flexible enough for my needs. If I value my time at 10 cents an hour, it will be a steal. And no, I do not plan to hire a chest-pounding nerd who enjoys this stuff to configure my server. Experience tells me that these kinds of people do not have the customer skills to figure out what I want and do it right.

The promise of "integrators" is a broken one at this point. Outside the Mac OS X world, what passes for a GUI atop UNIX is making a huge window with a checkbox for each option. It's basically drawing out all the complexity with toolkit widgets and calling it user friendly. That most definitely includes Windows servers as well. If "open source" ever wants to be more than 5%, it needs to learn how to contain, manage, and reduce complexity.

Permalink to Comment

15. Daniel Bo on April 21, 2005 11:05 PM writes...

Brad,

You have to be disingenuous here. Firstly, if you hold an MS in CS and I have never taken a single college level computer course, how can compiling a kernel or setting up apache be literally ten times easier for me than for you?

But that's not really the point, is it, Brad? You know that. You're just pulling the conversation off-topic. Normal people don't recompile their kernel, and they don't need to. Your grandmother doesn't want to set up Apache or Postfix, and you know it. She'll just use Tripod (or more likely, ask you to help her with it) and get her email through Yahoo or POP3 just like she always has.

But this is all smoke and mirrors, Brad. The original discussion was about the size of the kernel, and too much getting put in. Bloat. Every end-user distro gives a base kernel of maybe 1.5MB and a bunch of modules (drivers) to load when needed, just like Microsoft does, except smaller. Because of the transparency, people who NEED a small kernel (this is not your grandmother) can recompile to get their base kernel to about 1.1MB. People who are in the industry and need all the space that they can get, like embedded developers, get it down to several hundred KB using special compilers. That isn't bloat. If someone needs a lean kernel, it's there for them.

But you won't do that, Brad, and neither will I, no matter that you have an MS in CS and I have a BS in Liberal Arts. If I get a machine that's pre-installed with Linux, and all the work has been done by the manufacturer, it'll purr with no work from me. If I get the same with Windows, it should work exactly as expected, as well.

One final point of correction, Brad. Linux, the kernel, does not use shared libraries. A distribution does, but then they will handle the mess of all that for you automatically when you install a new program -- that's why you pay them.

Permalink to Comment

16. Brad Hutchings on April 22, 2005 12:18 AM writes...

Daniel... OK, I get it. When you get your Linux union card, you agree to misquote others in discussions, right? Where did I say or imply that Linux the kernel has DLLs? Dana said that Linux didn't have compatibility problems because changes were transparent. Bogus contention. Completely friggin bogus. Linux as a platform, say with GNOME as GUI, is far, far more sensitive to version changes in lots of levels than Windows (or Mac OS, but Apple does a good job of maintaining long term compatibility). Daniel, do you mind if I use your name to start each sentence? No? Great!! Now Daniel, have you ever developed a desktop application that ran on Linux, Windows, and Mac OS? Daniel, if you have, can you rank the three platforms in order of sensitivity to versions of things you expect to be on the system? Like, Daniel, if you have the wrong version of GNOME, the app just doesn't work the way it used to.

BTW Daniel, the reason compiling a kernel can be 10x easier for you is that I'd rather have a life. And the reason configuring Apache might be 10x easier for you is that my installation has to run with a lot of constraints and software, it's not my full time job, failure is not an option, and open source software often needs 50 lines of documentation for every line of source code. Again, Daniel, one thing that open source software does poorly is manage and reduce complexity. Need a feature? Got source? Add it. And add 50 lines to the docs. Like I said, I cannot wait to plunk down $500 for Tiger Server if it manages the complexity of Apache and Postfix configuration better than I've done by hand.

Permalink to Comment

17. Ronan Heffernan on April 22, 2005 08:57 AM writes...

The key benefit is not that the software is free. It's not that you can edit it. It has nothing to do with the obligations of the General Public License. It's inherent in every open source license out there.

The key advantage of open source is you can see the code. You can see how it works. You can take it apart. You can fix it. You can improve it. Most people do none of these things, but all benefit from this transparency.
...
You can look at the various builds out there and, if there's something you don't like, something you can do better, you can fork it, and maintain your own enhanced code base.

Transparency alone can be very useful for debugging, but most of the benefits discussed in this article derive from the freedoms granted by OpenSource licenses, not from source code transparency. The abilities to: fork a project, maintain your own code base, use user-improved code, etc. come from the license, not from transparency.

The best example of transparency having little value is Microsoft's SharedSource license. You can see the code, but you can't run a modified version or make/share changes. This transparency does not give any of the network effects of OpenSource software.

Permalink to Comment

18. Michael Ansley on April 22, 2005 08:58 AM writes...

People, please. Since when did it become important whether I knew how to compile the kernel or not? The important aspect of this freedom is that it creates market places; markets where Red Hat can exist in competition with Novell, but distinct from Wind River. I don't want to recompile the kernel. But I know that I can find a provider out there who will provide something close to what I want (a desktop, or perhaps a server, or perhaps something for an embedded system). And that's what the freedom buys me, the end user who doesn't care for recompiling kernels.

Permalink to Comment

19. Karl O. Pinc on April 24, 2005 12:50 AM writes...

Well. You _almost_ get it.

Your right, transparency is a key factor. Although you miss a significant aspect of transparency, it makes it harder to lie about the product. Oddly enough, this reduces marketing costs because people are more likely to believe FOSS marketing material.

However, the true key to FOSS is that anybody can fork the code -- produce a new project from the existing code base. That's what makes it "open", if you don't like the supplier you can find another. Pay someone on staff, pay an outside consultant, pay different commerical company, or just stick with what you've got. No lock-in means a true free market, and consequent cost reduction.

Again, oddly enough, because anybody can fork almost nobody does. Why? Because pretty quickly it becomes which fork is best, who is really delivering, and nobody wants to compete with the best. Why should they when, because anybody can fork (or redistribute without forking), the best is usually available at no cost?

Permalink to Comment

TrackBack URL:
http://www.corante.com/cgi-bin/mt/backtar.cgi/7245


EMAIL THIS ENTRY TO A FRIEND

Email this entry to:

Your email address:

Message (optional):




RELATED ENTRIES
The Legend of Dennis Hayes
Evolution Changes Its Mind (Again)
Welcome to 1966
What Must Craigslist Do?
No Such Thing as Free WiFi
The Internet As A Political Issue
Google Images Ruled Illegal
Fall of Radio Shack