Version 12 of Open Source

Updated 2003-09-05 16:19:40

Open Source refers to a whole group of licensing schemes for software. The common factor is that the user of the software has access to the source code for the software (without having to sign things like non-disclosure agreements) and they will typically (though I'm not sure if this is universal) also have the ability to produce their own builds of the software from the source and produce patches and updates for the source.

There are lots of open source software licenses. Tcl uses one of the common types, the BSD license. Others you might well have heard of are the GPL and the LGPL, both designed by the FSF. There are many others though. [Extend and explain with a link list...]

http://www.opensource.org/licenses/


I believe the term was invented by Eric Raymond who thought that too many people were getting confused (and hence unnecessarily angry) about the term Free Software which was common parlance among the open software community before that point.

It was a group decision, actually, at a specific meeting early in '98. I'll give details some time ...


The story of the group decision is told in Free as in Freedom, Sam Williams' bio of Richard Stallman. Available for free on the web, of course. The applicable chapter is here: [L1 ].


Open Source software is mostly written by single authors that rarely get much help from others. Tcl extensions are like this. Most people only care if a package compiles, and don't bother to let the author know that it has problems or work out a solution.

To see a huge failure of Open Source look at Mozilla. They were misled by Eric Raymond's paper, and expected a lot of people to start helping them. I don't know of many people who like to work on Mozilla. Most of the work is done (big surprise) by people working at AOL and Netscape. Don't believe me? Well go see the CVS logs...

PT 18-Jun-2003: On the other hand, If you want to see an example of a success - then the Linux kernel, *BSD and Tcl itself are all successful OpenSource projects. As are GNOME and KDE. There are also examples of projects which while open source are primarily developed by a single company - MySQL being a good example.

Also I think I would say now (2003) that the Mozilla project has finally come to fruition and been successful. Don't forget too that Mozilla involves a significant number of sub-projects (Bugzilla, Phoenix and many more). All these have independant developers involved.

What is notable is that the pool of capable programmers prepared to work on such projects seems to be skewed towards non-graphical development. So things like kernels and programming languages tend to do well while graphical projects lag behind. For fine examples of this effect we have Tcl and Tk and tcllib and tklib. In each case the GUI projects have far less development effort.


Open Source is not a panacea! If you like GNU then you probably like Communism.

Or perhaps you just like the freedom to use the program as you will? See Free Software

Or maybe you just like to read source code and obtain inspiration.

Or ...

KBK Whoever wrote the above hasn't even scratched the surface of why people do open-source programming.

  • You want to ameliorate the risk of having to maintain it forever.
  • You want to ameliorate the risk of having a vendor cancel the product.
  • You want to advance the state of the programming art, doing something that hasn't been done before.
  • You want the ego boost that comes of doing a job well in public.
  • You want to make your social contribution as a Tcl'er.

No, it's not a panacaea. And it's not for everyone. It's also not just a community of communists and leeches. It wouldn't have survived if it were.


Sometimes people get confused between terms like:

  • Free Software
  • Open Source
  • Public Domain
  • Freeware
  • Shareware

and other similar terms.


Category Glossary