The so-called Golden Rule, "do unto others as you would have them do unto you," is my basic ethical position. From this foundation, I derive more complex ethical positions dealing with the proper relationship between individuals and society, ethical business practices, and most important, a view of intellectual property and the issues surrounding it.

The Golden Rule requires that an individual do what he/she would want others to do. It is good for all individuals to do their best at whatever tasks they choose to do or are assigned to do by society, since all will benefit from the results. Therefore, an individual has a duty to do his/her best for society. Furthermore, an individual cannot do his/her best without skills, so his/her duty is actually to develop and use his/her skills to their full potential, which amounts to doing his/her best, and contribute the results to society for the ultimate good of all. (This is as opposed to the ultimate good of only those in positions of power. If only those in positions of power are granted the freedom to use their skills and make contributions to society, as is the case in many rigid hierarchies, they will eventually be corrupted and will then reconstruct society to serve them exclusively to the detriment of all others. This of course violates the Golden Rule, for those in positions of power will then treat themselves very differently from those not in power.) Finally and most important, an individual must be allowed to properly fulfill that duty, because if not, other individuals will not be allowed to do the same, and any benefits that could be obtained from doing the same will be denied to everyone. This means that society, in turn, has a duty not to arbitrarily block an individual's contributions to it. Hereafter, I will refer to this extended ethical position as the Skill Rule.

The extended ethical position embodied in the Skill Rule can be extended further to cover the issue of intellectual property, especially that of software, which makes up the bulk of such property in the digital realm. (Note that the same principles can also cover similar things such as hardware.) Many of the practices of proprietary software companies and/or other organizations violate both my basic ethical position, i.e, the Golden Rule, and my extended ethical position. Specifically, these violations result from their habit of not making their software solutions interoperable with those of rival companies/organizations, and from the effects of doing so. This creates problems to which they are largely immune but that affect their users significantly. In this case, they are treating their users differently from themselves, violating the Golden Rule. For example, the deliberate lack of interoperability between different systems locks users out of different systems. This lockout slows the sharing of computing resources, which hampers the ability of many users to reach their desired computing goals, which in turn leads to inferior results and ends finally being to the detriment of all users. In these cases, some people are denied the ability to use their skills to the fullest extent, while others get that chance but are artificially blocked from making contributions based on their own skills, violating the Skill Rule. After this point, I will refer to this further-extended ethical position as the Interoperability Rule.

An example of a situation in which these ethical positions would apply is that of the Pine program from the University of Washington1. Pine is the Program for Internet News and Email, designed for "reading, sending, and managing electronic messages." Included with it, among other things, is Pico, the Pine Composer, which can run either as part of Pine or as a separate text editor. The ethical issue here deals with the license held on an earlier version of Pine (and, by extension, on all of its components, including Pico). Version 3.91, released in 1994, included the following language2: "Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee to the University of Washington is hereby granted . . ." Similarly, one of MIT's licenses contains this language3: "Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee . . ."

Neither of these permission granting clauses directly states whether the distribution of modified (i.e, derivative) works falls within their scope, although it could be argued that distribution falls under the "modify and distribute" section. MIT has followed this idea; its code under this and similar licenses has been incorporated into other projects, such as AudioFile Audio Server, without legal problems.

Given MIT's action as precedent, the Free Software Foundation believed that the earlier license was essentially the MIT license, and started a project derived from Pine 3.91 known as GNU Mana4. GNU Mini, included with Mana, was derived from the version of Pico packaged with Pine 3.91 and licensed under the GNU General Public License, version 2, hereafter referred to simply as the GPL.

(Before I continue, note that the GPL follows the principle of the Golden Rule and by extension, the Skill and Interoperability Rules. You are allowed to use, copy, modify, distribute, and distribute derivative works based on a publicly released GPLed program as long as you allow others to do the same by licensing your modified and derivative works under the GPL. The freedoms the GPL grants you allow you to use your coding skills to their full extent and to improve GPLed programs to the best of your ability, increasing not just interoperability but overall code quality. Note, also, that there are also other licenses besides the GPL that promote those freedoms; they should be regarded in a similar light.)

The University of Washington, learning of the GNU Mana project, asserted that the Pine license had always required the permission of the University to distribute derivative works of Pine or its components, even though the license for Pine 3.91 did not so state1, and the University of Washington threatened to sue the Free Software Foundation5.

In the interest of avoiding a lawsuit, all work on GNU Mana was stopped and the project died at version 4.0-beta on March 12, 1996. To prevent a problem like this from occurring in the future, the University of Washington changed its license to explicitly state its intent1, explaining on its site that the clarification was needed because "some people tried to pervert the meaning of . . . [the] sentence . . . "Freedom to use, copy, modify, and distribute this software . . . is hereby granted" . . . to include derivative works of 'this software'."

As a result of this legal threat and its repercussions, all of the improvements of GNU Mana over Pine were lost. Some of them have been implemented by the University of Washington in newer versions of Pine (at the time of writing, the current version of Pine is 4.50), but many, such as full support for the Linux console, foreign language support and translations via GNU gettext, etc.4, have not been developed. Therefore, the University of Washington has hampered interoperability with Linux-based systems, with computer users whose native language is not English, and with others who could benefit from the features that GNU Mana has and Pine lacks. This action violates the Interoperability Rule.

Furthermore, due to the one-sided license of Pine and its components, users who could use their skills to improve it are denied their ability to do so if those improvements are not approved by the University. This arbitrary denial violates both the Skill Rule and the Golden Rule. If the University is going to allow its members the ability to freely distribute modified versions of Pine and its components, it should allow others to use their skills to do so as well for the sake of improving Pine and its components for all users. This two-way freedom is especially needed in the event that the University decides to stop working on Pine and its components, because if there are bugs in the final version, it will be illegal for anyone else to fix or otherwise improve that version and distribute the new and better version that results. Pine and its components are the intellectual property of the University of Washington, so it legally has the right to put it under whatever license it wishes, but the terms and/or intent of the license it has chosen are ethically wrong. The same position holds true for all software under similar one-sided licenses and with similar institutional legal practices (e.g, asserting a license means one thing when it says another).

Another area covered by my ethical position is the issue of reverse engineering intellectual property to duplicate its functionality without improperly taking it from its rightful owners. First, there is the example of the Tip project, later renamed Nano and still later turned into a GNU project. It is a GPLed clone of Pico written from scratch. It uses no code from Pico and even includes extra features and enhancements7 (including the two cited above for GNU Mana) that Pico lacks, thus allowing more interoperability. In the realm of quality, this software is also not subject to some of Pico's bugs, although it is not, and is not intended ever to be, part of a mail program as is Pico. Also, its being licensed under the GPL is in accordance with the Skill Rule and Golden Rule as well as the Interoperability Rule, as explained above.

Reverse engineering takes more forms than simply application software cloning, however. Another example, even though it is not entirely compliant with my ethical position for reasons explained below, would be that of the IBM PC BIOS, which was reverse engineered by Phoenix Technologies Ltd., a division of Compaq, in the mid-1980's8. To avoid any charges of intellectual property theft, with the specific intellectual property being defined as the code making up the BIOS, Phoenix did a so-called clean-room implementation. Specifically, one group of Phoenix engineers "studied the IBM BIOS . . . and described everything it did as completely as possible without using or referencing any actual code." Then another group that knew nothing about the IBM BIOS (hence the term "clean-room implementation") was given the description and the task of writing code that behaved just as the description specified. When that was accomplished, Phoenix sold the resulting BIOS to other manufacturers who wanted to produce IBM PC clones, resulting in the vast market for IBM PC clones that exists today. The practice of reverse engineering, of course, obviously follows the Interoperability Rule, as all the IBM clones can interoperate with themselves and the original IBM PC, but it also fits the Skill Rule in that the highest skills of the Phoenix programmers were needed and were allowed full use when converting the description to working code. Furthermore, the Golden Rule applies here too, because with the BIOS reverse engineered, IBM can no longer be the sole distributor of software that works on its machines; others are able to do so now. In effect, the IBM PC market is no longer one-sided. It should be noted, however, that Phoenix and the companies who bought the Phoenix BIOS have kept it proprietary themselves, not allowing others the freedom to make fixes or improvements to it just as IBM did, and this practice violates my ethical position. A GPLed BIOS for all machines, which fully complies with my ethical position, is being worked on by the OpenBIOS project9. As with the University of Washington, IBM, Phoenix, and the companies using the Phoenix BIOS have the legal right to do what they want with their intellectual property, but their practice of making that property proprietary, whether it was reverse engineered or not, is ethically wrong.

Yet another example would be that of reverse engineering the Microsoft Office file formats. In this case, the reverse engineered code is incomplete, i.e, in most cases it functions the way Microsoft's code does, but in some small cases it functions differently. The wvWare project, a GPLed library designed to properly interpret Microsoft Word files10, is an example of reverse engineered code that supports a Microsoft Office file format to a large extent.

In the most recent antitrust trial against Microsoft Corp., one of the suggested remedies for its anticompetitive behavior was that Microsoft should be forced to "license its Office business software so that it could be sold on competing operating systems [i.e, operating systems other than Microsoft Windows]" to allow those other platforms to properly read Office formats. However, Microsoft has asserted that since Office and its formats are its intellectual property, it should not be forced to open them in this way11. Following this procedure, though, locks out all non-Windows users from reading Microsoft Office formats 100% reliably, at least until the reverse engineering is completed, but that will take time. This lockout, of course, violates all three of my ethical positions, just as IBM did when it decided to keep its BIOS proprietary. In fact, the whole idea of keeping intellectual property proprietary (hence unimprovable by those with skills, hence one-sided by virtue of its giving rights to the owner that the user does not have) in the first place violates all three of these ethical positions.

The ethical positions that I have expressed here may seem to be against the traditional view of hierarchies in business practices, but they work in the computing field due to the unique nature of the digital realm. The main point is that some wider degree of freedom is required to fulfill my ethical positions. A much less stringently controlled system is required to an extent if the best software is to be created, and this is now possible with the Internet and its ability to allow people all over the world to communicate information almost instantly12.

Put differently, "the Internet . . . [makes] it possible to aggregate collections of programmers far larger than any commercial manufacturer . . . [can] afford." Given the skills of all the sufficiently talented programmers in that collection, and assuming that the code is under a free license such as the GPL, the best code will be produced. With too rigid a hierarchy, talented programmers will not be able to fully exercise their skills, offer their contributions, and have them accepted by society, thus violating the Skill Rule. With no hierarchy, talented programmers will be able to fully exercise their skills and offer their contributions, but there will be no structure in which the contributions can be accepted, and hence there will be little, if any, interoperability between program code based on different programmers' contributions, thus violating the Interoperability Rule.

The solution is a major loosening, but not elimination, of hierarchies, i.e, the setting up a project leader to decide what should go in a given project. If others do not agree with the project leader, they can create their own version of the project containing the code they want, and which may be kept compatible with the original as much as possible. This fulfills both the Interoperability Rule and the Skill Rule, and the common rights to the code granted by the free code license fulfill the Golden Rule. The reason for this is to avoid corruption and its effects as stated above, to promote quality, and to eliminate or vastly reduce the problems inherent to the conventional view of intellectual property as something to be hoarded and locked away. Instead of one continent of authority, with one or a few at the top and all others at various levels below and denied full use of their skills to improve a project locked away from outside improvement, there should be many small islands of authority which work on their own projects open for outside improvement and which try to be as compatible as possible with other similarly open projects. Those islands can share resources if they need to, but with their being divided and with their constituents free to start their own islands in the event of disagreement, the islands' ability to abuse their power and tendency toward corruption is much more limited than it would be otherwise. Essentially, when united, the corrupt stand, mostly inaccessible, and answer to few; when divided, they fall, mostly accessible, and answer to many.

The openness for improvement solves the problem of intellectual property theft, since if there is no locking away of intellectual property from others who could improve it, there is no theft of it as such. It also helps competition of different products utilizing intellectual property, since they can quickly and simply adapt the best features of each others' products without having to spend a lot of time reverse engineering them. It also helps quality of products utilizing intellectual property, for with the equalization of the playing field, so to speak, the best products can continue to be developed while the worst products can have their best features adapted for other products and their worst features discarded. Also, if intellectual property is kept proprietary and is not reverse engineered, then when the proprietor stops working on it, the property dies of neglect; whereas if it is open for improvement, others who wish to see the property continue to thrive can take over maintenance of it and keep it alive. In short, freedom is the key to creating the best intellectual property and/or maintaining it for the longest amount of time feasible.

The freedom to improve intellectual property is also compatible with the ability to get paid for work on that property, even though it may not seem so at first. For example, the port of Linux, a GPLed clone of Unix, to Intel's IA-64 chip is intellectual property. When the chip was still a prototype, Intel hired many Linux distributors and programmers to help do the port13. Those distributors/programmers were paid for their work, the port was finished much faster than it would have been if Intel had done it all on its own, and all those people who later used the chip were able to successfully run Linux on it. The last of these, of course, complies with the Interoperability Rule, except in that information about the prototype versions was kept proprietary through non-disclosure agreements.

Another example of this compatibility between freedom and payment is that set by the Red Hat Linux distribution. You can either buy the Red Hat Linux installation CD from Red Hat, or freely download an ISO image of that CD. However, you will only be eligible for technical support from Red Hat if you do the former14. This financial requirement still complies with the Interoperability Rule, because Red Hat is denying users unpaid access to their technical support resources, which are not their intellectual property.

The idea in both these cases is that people should be paid for the work they do on intellectual property and/or for the services they provide for intellectual property, but not paid just because they own intellectual property. I say this because intellectual property is not always owned by its creators and/or contributors. It can be purchased or otherwise legitimately taken by the corrupt, who will then own it and can then misuse it to serve themselves to the detriment of others. As stated above, this violates the Golden Rule.

The basic ethical position I hold is diametrically opposed to the position that one should always do what is in one's own best interest. There is no direct solution to this conflict, but the closest equivalent of one is that the result of following my position is often in one's and everyone else's best interest.