![]() |
|
Published 1999-02-08 Printer-friendly version
Since this article was written CoveComm Inc., publisher of Clarion Magazine, has created the Developers Open Source Public License for use in Clarion-related open source projects. The LGPL referenced in this article is no longer recommended. All Clarion Open Source Project pages are now also available to the public.
You've probably heard the term "open source" bandied about, and you might be unsure as to its meaning, much less how it applies to Clarion programming.
Open source is a way of distributing software that goes back to the GNU* project, although the GNU folk like to use the term "free software" rather than open source. GNU stands for GNU's Not Unix, which is the sort of self-referential acronym you'd probably expect a bunch of programmers to come up with. That's the acronym; GNU itself is (or is intended to be) a "complete Unix-compatible software system."**
What, you say? Sounds like Linux? You're not far wrong. Although Linux is a separate effort in most respects, it has been developed under the GNU General Public License, which is one of the keys to the open source/free software movement. Linux is an amazing success story in that it's a rather complex yet stable piece of software created through what would seem to be an completely chaotic development model. Although there is an organization, and a driving force (Linus Torvalds), no one is really in control of Linux, in the usual way that a person or corporation typically owns and controls a piece of software.
Linux is a collaborative work. Developers all over the world contribute code, and modify other developers' code. Linux, like other GPL'd software, is copylefted, rather than copyrighted.
Copyrighting means that the author of the work reserves all rights to that work, so that no one can change the work without the author's permission. Copylefting means that the author gives anyone else the freedom to use, modify, or distribute the work, but only if they agree to keep the distribution terms unchanged, which means that their changes must be freely distributable also.
(Among other things, this means that Microsoft can't buy Linux. It isn't for sale. And Microsoft, or anyone else, can improve Linux and offer it for sale, but they also have to provide the source under the same terms as the original source.)
Although GNU is a Unix-compatible software system, the GNU GPL can be applied to software developed for any platform. For software developers, the GNU license can be an effective way to exchange code with other developers to mutual benefit. Most Clarion programmers benefit from some sort of informal code exchange already. For instance, there are any number of free templates and source code examples available to Clarion programmers from a variety of sources. Many of these carry some sort of copyright notice. Few are covered by the GNU license.
One of the problems with the GNU GPL is that it was written with entire programs in mind, not parts of programs, which is what most Clarion developers are likely to make available. Source code libraries are, however, covered under the GNU Library General Public License, which has provisions appropriate for licensing code that will become part of a larger work, which may or may not be covered under a GNU license.
Clarion Magazine is initiating the Clarion Open Source Project (COSP) to encourage Clarion developers to put their freeware libraries under the GNU LGPL. Specifically, subscribers will have access to the following services:
We believe the LGPL is an excellent means of fostering the development of quality free third-party products. Although anyone can place software under the LGPL, Clarion Magazine reserves the right to choose which products are included in the COSP distribution. You'll know from the on-line documentation the current status of any given product, and you'll be notified of upgrades.
Everyone, not just subscribers, will be able to download the COSP libraries. That's in keeping with the LGPL, which states that any source placed under the license must be freely available.
To kick things off, CoveComm Inc. has released two classes, cciDebugClass and cciProfilerClass, under the GNU LGPL. At present there is almost no documentation included with these classes. Their functionality is as follows:
You may also wish to view these classes to see how to put your own code under the GNU LGPL.
Both classes will be featured in articles in Clarion Magazine; cciDebugClass is currently scheduled for the middle of March.
The Clarion Open Source Project is not intended to in any way be direct competition to vendors of third party products. Its purpose is to organize and improve the kinds of contributions Clarion developers have always made to the programming community.
If anything, third party vendors can benefit from COSP. Since the COSP distribution is freely available, anyone who wishes to can provide paid support for the products included in the COSP distribution (although you should keep in mind that the documentation in Clarion Magazine about COSP products is copyrighted and therefore not available for resale by anyone else).
* The G in GNU is pronounced, usually as a hard G. If you didn't pronounce the G, GNU would sound like 'new' and this would cause a lot of confusion as you tried to explain what you meant by the 'new' license or your 'new' compiler.
** GNU has been around for a while - the original GNU manifesto dates to 1983.
David Harms is an independent software developer and the editor and publisher of Clarion Magazine. He is also co-author with Ross Santos of Developing Clarion for Windows Applications, published by SAMS (1995), and has written or co-written several Java books. David is a member of the American Society of Journalists and Authors (ASJA).
Copyright © 1999-2008 by CoveComm Inc. All Rights Reserved. Reproduction in any form without the express written consent of CoveComm Inc., except as described in the subscription agreement, is prohibited.
Clarion Magazine ISSN 1718-9942
One year: $159
(reg $189, save $30)
(includes all back issues since '99)
Renewals from $109
Two years: $249
(reg $289, save $40)
Renewals from $199