Saturday, May 26, 2007

glass, white and blue


glass, white and blue, originally uploaded by David Joyner.

This photo has gotten a lot of very kind comments recently.

Thursday, May 24, 2007

bridge pylons


bridge pylons, originally uploaded by David Joyner.

My most popular flickr photo (as of May 24, 2007).

Flickr

This is a test post from flickr, a fancy photo sharing thing.

Wednesday, May 23, 2007

Rantings on open source CAS's

The prevailing view of working mathematicians regarding mathematical software is very practical (first, determine the software which is available and has the desired functionality and then sort that set by ease-of-use). Convenience is king and issues such as proprietariness (if that is a word) is servant. This is natural from a human perspective - there are only so many hours in each day and we only have so much energy to invest in climbing the learning curve of a new system. From a mathematical, or more generally a scientific, perspective, this is not so natural. In this domain, convenience is slave to correctness and verifiability, which rule with an iron fist.


Consequently, it is not surprising that commercial systems built with proprietary code are more popular than free and open source systems. (By the way, MAGMA is technically not commercial - being "not for profit" - but for the purpose of this discussion we shall not distinguish MAGNA from Mathematica or Maple or Matlab, as they all follow a similar funding model.) The cost is based on what the market will bear and that gets leveraged into further development. As they improve, their customer base increases and solidifies.


On the other hand, the current status of many open source computer algebra systems, such as Maxima, is largely based on U.S. government funding (e.g., Dept. of Energy and NSF support) and corporations such as IBM (who developed Scratchpad to illustrate the value of its computers). These days, government finding has dried up and IBM has turned from Scratchpad to programs such as the chess-playing Deep Blue to help sell its latest line of computers.


How does the future look for open source computer algebra systems? Not good, if you think the following hypothetical scenario is reasonable. Programs such as MAGMA will become more and more popular with researchers, especially young ones at NSF-funded top-tier universities with heavy pressure to publish and a software budget to match. Systems such as Maxima will become less and less relavant. Development and maintanace will be supported by community-minded volunteers having full-time
jobs in industry or academia.


Is it healthy for scientific papers, mathematical ones in particular, to be supported by computations which cannot be verified, except by the relatively few employees of the commercial software system they use. Let's think about this for a moment.


By law, the US givernment cannot favor one commercial system over another. Is it ehical for them to favor commercial systems over non-commercial ones? It is right for the NSF or its agents to support proprietary commercial systems over open source systems? It seems to me that this is a sitation where the letter differs significantly from the spirit of the law. In spirit, competition is to be encouraged, with the idea that quality is thereby increased by competitive forces. Open source software fosters competition in the marketplace and at the same time provides a product for lower-income educational institutions. Both of these are in the spirit of the
law. However, the favoring of commercial products by the NSF is not in the spirit of the law. Indeed, in that case, the money simply goes not to the lowest bidder but the best (in the eyes of the NSF agent in charge of awarding the funds) of the commerical products. This is essentially the same as awarding a no-bid contract to the product the NSF thinks is best.


Consider the argument that the NSF shouldn't support open source systems since they (being free) undermine the capitalistic process and do not contribute to the marketplace. This is completely incorrect. Indeed, free software increases the value of the computer and operating system itself. (In fact, this is precisely why corporations such as IBM supported these free systems in the early days. They made the software free since to run it back then, you had to buy their computer.) So, as long as the free program is cross-platform, free software does contribute value to the marketplace as a whole, yet does not favor one company over another.


Finally, let us try to design a CAS based not on human behavior but on objective, logical principles. We want a CAS which is



  • open source (for verifiability and correctness),

  • easy to use and free (for greater availablity, thus fostering cooperation
    and collaboration, and greater practicality),

  • scientifically beneficial (obviously).


These are the three basic principles which are demanded by scientific requirements. Should not organizations such as the NSF and ACM support these open source systems rather than other systems?