Computing - Open source

Open source

The following was written in 1999, in virtual complete ignorance of earlier similar ideas at the open source organization, although I had obviously heard of the name and the concept.

Added in 2012: See also the Free Software Foundation. (*)

Also, there are some differences with what is on that site, to which there is a link above, and that is well worth checking out, in that I am more concerned with mathematics and science, and less with hacking. 

For a little more see my notes on Squeak.

    (*) I improved the formatting of this file in June 2012, and used the
         opportunity to add the link, that should have been there long ago.

Capitalism, Communism and Computing

I was raised in a genuine communist family, in a real capitalist country - the 50-ies of Holland. My parents were far from average people, heroes of the anti-fascist Dutch resistance of WW II, and true believers in communism. They were also kind-hearted, very moral, intelligent, honest and fair persons, the more so when one compares them with the sort of people who in Holland, unlike my parents, did make careers, largely because these successful careerists lacked the intellectual talents of my parents or lacked their moral restraint.

After I had been almost kicked out of the German Democratic Republic in 1964, having publicly declared - at age 14! - that to me the socialism of German Democratic Republic was "fascist bullshit" ("fascistische Schweinerei!", for those who read and appreciate German), socialism didn't appear to me any more as it did to my parents, and not much later I gave up Marxism and started my own philosophical search for truth and moral norms.

Even if communism and socialism as political ideals have been perverted (by and large because the average human heart is not by far as noble and kind as it likes to believe, just as the average human understanding is not by far as smart or informed as it likes to think), they do contain interesting principles - which happen to be practiced world-wide within normal families.

These interesting principles come down to fair sharing of available resources, and to cooperation for mutual benefit.

These principles are practiced to a considerable extent even in the families of capitalist tycoons - who amassed millions by deceit, intrigue and competition, and by insistence on individual property-rights, but who lived and acted within their families on quite other principles than they practiced to rise in society.

Now it seems to me that - as human beings are, on average - any sensible society should provide outlets for both competition and cooperation.

And indeed, the reason capitalism outlived socialism is that it is better suited to the average talents and inclinations of people, who like to share and cooperate with their families and friends and who like to struggle and compete with outsiders, and generally don't mind telling comparative strangers lies in order to sell all manner of stuff they would be ashamed to tell or sell their family.

What does all this have to do with computing? The following seven facts, that seems highly interesting to me:

1. The enormous explosion in the information technology by computing of the last 20 years or so is firmly based on a kind of communism of information - people share programs, give away software, publish the source code on which they have been sweating themselves for months, and generally are willing to do a lot of unpaid work simply for the fun of it, or because they believe it to be important for others.

This is simply a matter of fact anybody who has been working with computers since the 1980ies knows for a fact. (How many of the programs you used did you pay? Be honest!)

It is in large part due to the fact that any software can be copied in principle, but there are also a considerable altruistic and egoistic components involved: Why buy what you can get for free, and why sell what you can give away for nothing - especially if you know that what you buy or give away will be outdated in a few years at most, and in fact will be really used and appreciated by few?

Finally, there is a considerable amount of common sense involved: Only real millionaires could conceivably pay the requested prices of much of the software they used, at least in the 1980ies.

2. Next, the related fact is that very much of what happens in computing was and is based on cooperation and sharing of private individuals, from the Unix, Ascii, the internet and html to shareware and freeware of all kinds - and would simply not have been possible to develop if a majority of the people developing had insisted on "fair capitalist payment for services rendered".

This also simply is a matter of fact: From a conventional business's point of view nearly everything that was happening in the 1980ies in computing was mostly madness: Clever individuals hacking away like mad for months on end without any reasonable expectation of payment - and working on products that could be copied easily by any fairly smart competitor.

Still, nearly everything related to computing was done in capitalist countries, and indeed the whole explosion in private computing was based on solid capitalist principle - as concerned the hardware, which cannot be copied as mere bits and bytes can be copied.

3. Here the third fact enters: Developing as it did under capitalism, computing and computers were taken up and developed by capitalist firms as soon as it was tolerably obvious computing and computers could be marketed and sold for profit.

Capitalism thrives on competition, and the prices of hardware have been as steeply declining as the powers of the hardware have been increasing. By and large the competition about hardware was in everybody's interests, especially because it achieved what probably could not have been achieved otherwise: a very rapid development.

4. But matters are different when we turn from hardware to software, and there are three fundamental differences, of which the third and most important is related to a fourth:

(1) Hardware is not mere stored information, and so cannot be copied like software, and
(2) hardware is considerably simpler, being mostly the solid and developed parts of earlier software that is hardwired, and finally and most importantly
(3) software is in fact mere information, of a specific kind: applied mathematics.

Commercially and legally speaking, the first of these points is most important: Capitalism historically requires transferable individual commodities that cannot be identically copied for a fraction of its production cost - and hardware is such a transferable individual commodity.

Morally and intellectually, the third of these points is by far the most important, and has to do with the development of science, to which I turn now.

5. As a matter of simple historical fact, nearly all of science was originally thought of and developed by clever oddballs, who did not take much interest in business, capitalism, profits, or renown amongst CEOs of companies or business-tycoons of any kind (who they generally considered not unfairly as grossly materialistic dummies with little or no real intellectual acumen).

Also, again as a simple historical fact, nearly all of science was developed - researched, written down, published, discussed - in very small groups of bright individuals, who generally only profited from their work through achieving status as "an academic", but who did almost never market their research or ideas. Indeed, the difference between technology and science is largely that technology is applied science that provably works, while science itself is speculation and empirical research that tries to find new knowledge.

Now it seems a fact that you cannot do science - applied or pure mathematics, physics, chemistry or what have you - on a solid capitalist basis.

This has little to do with idealism or morals, and a lot with the reality of markets, which are profit-oriented and rapidly changing: You simply cannot start thinking about the General Theory of Relativity or the possible string-theoretical foundations of Quantum Mechanics - for example - if it is absolutely essential that your balance-sheet in three months shows a profit (or the bank will withhold its loans, and you'll be bankrupted).

6. A related fact has cropped up in computing: Whereas Bill Gates and other tycoons much like to pretend that private firms should have the copyright on software and do all its development, marketing and selling, all in the best traditions of venture capitalism, it turned out that in actual fact locking up a handful of programmers to write a commercial program for a commercial firm may be very good for the owners of the firm but is certainly very bad for everybody else.

It would be like carving up pure mathematics into commercially exploitable fields - say: cryptology, algorithms, biophysical maths etc. etc.; then sell these fields to the highest commercial bidder; and finally prohibit all creative mathematics in these fields unless one is a paid employee of the the highest commercial bidder.

Again: Bill Gates and his likes would probably love such a notion, since in fact they got very rich cashing in on the intellectual work of many thousands of scientists far more clever than they are, without ever paying them one cent.

This is why Bill Gates and his likes like to pretend that a handful of programmers tied hand and feet to MicroSoft can do much better than a world full of programmers mostly interested in bringing forward the field of computing by freely distributing software and source code: It pays them a lot, at the cost of everybody else, and being human this is what they like.

7. Enter the "Open Source" model: The most useful and sensible way is probably some sort of compromise between capitalism and communism in the interest of computing and civilization:

On the one hand, everybody living under capitalism has a vested interest in private companies competing for profits and thereby keeping prices low for everyone while developing ever better products; on the other hand everybody living under capitalism has a vested interest in maintaining the growth of science, especially such an important science as software engineering turned out to be, OUT of the hands of venture capitalists, who would just love to smother any science for private profit, just as they would sell their grandmother to a whorehouse for profit.

Consequently, I am much interested in the Open Source movement, and believe that this is the only sensible way forward.

But to go forward a number of issues have to be faced in computing, and these are mostly legal and moral issues related to capitalism and communism that may be reduced to one question:

Should applied mathematics become a privately owned source of profit with little development, but of great profit to a few individuals like Bill Gates - or should applied mathematics remain a science developed by all the best and brightest in the whole world who like to contribute, but with little of a main chance for venture capitalists to become stinking rich?

It seems to me that we should keep science and scientific development in the hands of the public - and therefore it seems to me that source code should be either free or cost very little, and be available within 5 years of its writing, simply to help everybody else to develop it, and perhaps make a profit in the coming 5 years with his or her original ideas.

Likewise, it seems to me that algorithms should be as little copyrighted as is pure mathematics: They are truths of mathematics found by some bright human mind, and should be as little anybody's private property as are the calculus or algebra.

Finally, to sum up:

Some 10 years ago I reasoned that it would be the best if large software houses would put their programs of a few years past on the market for free, simply to further the progress of computing and to give anybody a fair chance of participating.

At present, this practice is widely happening, and especially Borland/Inprise has made (nearly) freely available copies of most or all of its excellent compilers of a few years ago. I am much in favor of it, just as I am much in favor of public libraries for books - to which the same principle applies (and which the Bill Gates's of book publishing would love to see forbidden).

It seems to me the very same thing should happen with source code: By and large - for there are exceptions - everybody but Bill Gates and his likes is most helped by freely distributing the source code of any program after say five years, simply to improve it on a worldwide scale, by anybody concerned and interested, and for everyone's interests.

This is happening to a considerable extent with Linux, Free Pascal, and a considerable amount of freeware and shareware. It should be happening with almost all programming code, at least after a short while of say 5 years at most:

This is mathematics and this is science, and no mathematics and no science can be developed decently, fairly, reasonably or rationally within the context of speculative private capitalist ownership.