Open Source

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...]

The abbreviations FOSS ("free and open-source software") and FLOSS ("free/libre/open-source software") are also used to refer to software under such licenses as a way to avoid the issues some have with calling this software either "free software" or "open source".

Opinion 1

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 ].

Opinion 2 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.

Opinion 3

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

Or perhaps you simply don't think that "real property" and "intellectual property" can be handled reasonably by the same set of laws. "Real Property" moves around when it is bought and sold, you can't sell it and/or give it away and still have it. Intellectual "property" can do such things not just easily but normally. Even if you don't like Communism you can still dislike the idea of someone asserting ownership of and control over something in your mind, however it got there. Communism is incompatible with "freedom", "Open Source" is not.

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 ...

Opinion 4

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.

In TUGboat [L2 ] 24 (2003), No. 1, Alexandre Gaudeul wrote the following about how licences affect how open source software projects evolve.

Because of that higher level of competitive pressure -- and maybe for other reasons too -- BSD projects are usually more disciplined than GPL ones; all open source development efforts bear onto the same, coherent distribution. This guarantees in principle that no development effort is wasted and that the open source software doesn't split into many incompatible projects.

"10 Myths About Running Open Source Software" [L3 ], written by the folks at ActiveState