Open Source Code
My first experience in the Fox community was getting help, on the Compuserve Foxforum, from the late Glenn Hart, at the time Editor of Foxtalk. My second experience was getting help from the late Tom Rettig, the biggest name in xBase at the time. The Fox Community has been known for its high level of sharing. What I do is just a continuation of that. It has become one step more formal, in terms of working out the details of that sharing. I remember hen Ken Levy was first putting GenScrnX in the public domain, and how Ken and Tom Rettig discussed the implications of that, in terms of what was the best way to do this. Now, there is a formal mechanism for releasing software into the Public Domain, going under various names: the General Public License (www.gnu.org), the FreeBSD License (www.freebsd.org), and others.
The GPL is the best know of the licenses that assert the openness of the source code. It basically states that not only is this software licensed for use and distribution free of cost, but anything you make with this software is likewise licensed for use and distribution free of cost -- in addition to having source code available.. The purpose in this restrictiveness is to force Capitalist Pigs <s> (Richard Stallman, the founder of GNU, maintains an appearance right out of the late 60's, consistent with the blatant of his anti-Capitalist stances) to make their software freely available also.
The GPL has a variant formerly known as The Library GPL (too many people liked it, so Stallman renamed it The Lesser GPL, subtlety being a lost art in his case), which says you can traditionally copyright software made with this software in it, but you have to make publicly available any changes to this software which you create. This is significantly less restrictive, but still imposes a burdern on the user, and in fact the language of The Lesser GPL has multiple traps within it that would make a corporate lawyer shudder.
The FreeBSD License states that this software is Public Domain and that you can use it any way you want, so long as you acknowledge this copyright. In other words, it is free of anti-Capitalist intent. On the other hand, it does permit the user to take advantage of the efforts of the "open source code" community without giving anything back. This is the California, Free Love, movement translated to source code distribution.
I don't have the anti-Capitalist venom of Stallman, nor the Panglossian optimisim of the FreeBSD license. So I've created Hank's Copyleft License, which is shown below. What it says is that you can use this information/software anyway you want in your products and your product remains wholely your product; you can freely distribute "it" to others; and that any improvements made directly to what I've provided you become your obligation to release under the same license I provided to you.
I release software under two broad circumstances. One is as on this public site, where what I am giving I want to continue to benefit the VFP and VPM communities. The other is where I have software which represents a significant investment of time and accumulated knowledge. This "investment of time" software represents a way for me to advance the ability of developers to produce quality software -- by which I mean that I have to make a living, so someone has to pay me to do this stuff. This "investment time" software is released under Hank's Copyright License, shown below. It states that you can use this software and information any way you want as part of your products; and that only I have the right to distribute the software to others when it is not part of an application you have created.
Hank's Copyleft License
Copyright (C) 1999 Hank Fay This software/information is free software/information; you can redistribute it and/or modify as you see fit, and can use it in your products without restriction. You may sell the products which incorporate this software/information without restriction. Your obligation is to make any improvements you make to this software/information available to the public at no cost, other than a reasonable copying fee as that may apply. This software/information is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. The goal is usability on the one hand (use it any way you want), and spreading knowledge on the other (knowledge is too important to hoard). Enjoy. For bug reports, contact me at email@example.com To say hello, drop me a line at firstname.lastname@example.org
Like any other Copyright, it means that if you use this software in your software, which of course is my purpose in putting it up here, you must include this copyright notice somewhere, saying something like "Some very small and insignicant parts of this software are Copyright (C) 1999 by Hank Fay under Hank's Copyleft License; see www.prosysplus.com for details." Now, I admit that getting my name in lights appeals to the less civilized parts of me (another bearskin hanging on the wall of the cave and all that). But the big reason for my reminding you to do this is that sharing knowledge without boundaries is an idea whose time has come. Can you imagine telling someone "no, you can't learn to read because haven't paid for the privilege"? We would all be poorer for it. The same is true of more advanced knowledge. Let's all get paid for what we do, and even get paid more if we do it well. But let's not try to get paid more by hoarding knowledge. Anyone who knows a lot about any field got there only by gaining the knowledge shared by others. Sharing back is we owe to the future.
This perspective is pro-competition: there is no question that we all perform better when motivated by competition. Too often, though, those with money attempt to keep those without money from competing, by locking up the rights to use the tools of production (in whatever field). Making software tools available to all, to the degree doable in an imperfect world, levels the playing field, and enables true competition.
The other requirement is that you make publically available any modifications to the software obtained from this site. The sharing must continue. That doesn't mean "if asked," but rather means published in a similar way to the way it was published on this site. I will publish it on this site myself (once it becomes data-driven, real soon now <g>) if you don't have a place to do it yourself.
I realize that some companies may be managed by folks who haven't yet seen the light on this issue. They have a choice: they can reinvent the wheel, at their cost, or they can subscribe to this principle. That's sort of nice, in a way, because Darwinian selection will favor those companies that are willing to share knowledge, because of the gains they will have from knowledge shared.
And yet, we live in an imperfect world. If everyone shared, I wouldn't hurt, on average, by sharing all my products. Because the world is imperfect, I would in fact be financially hurt, quite significantly, if I were to share all my software freely. Thus, some of the larger pieces of my software, such as my xCase2VPM suite, my VPM2Web suite, and my VPM2World suite, are covered by Hank's Copyright, which is described below.
Hank's Copyright License
Copyright (C) 1999 Hank Fay This software/information is freely usable software/information; you can modify it as you see fit, and can use it in your products without restriction. You may sell the products which incorporate this software/information without restriction. Furthermore, the organization for which you are producing this software, under any arrangement, may sell the products without restriction. This software/information is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Your rights in the use of this software/information specifically exclude redistribution of this software to others outside of the incorporation within the product. You can distribute source code with your product; you cannot give the recipient of this source code the right to use the software/information in products created by that recipient or recipients of the recipient.
This software represents a significant investment in time and effort. My purpose is to make this software/information freely available for your use, while protecting my right to receive compensation from other developers in return for my giving them the right to use this information/software in their products. Thus, while other developers not covered by this license may use this software/information while working with you on a given product, they may not use it on products on which you are not working.
If you leave the organization responsible for the production of a product in which this software/information is used, the right to continue use of this software/information may follow the developer, or may devolve to another single developer within the organization. This is a matter to be worked out between the organization and the developer. The right does not clone, however: one or the other receives the right, and the other does not. If the right follows the developer, products already incorporating the software/information remain covered by the license: the organization still has the right to use the software within the products. I want all parties to have their rights protected: sponsoring organization, developer, and myself. Anything which detracts from this purpose violates the intent of this copyright.