← Back to team overview

fenics team mailing list archive

Re: Re: FEniCS

 


I do not think that we today should worry too much about "selling" FEniCS,
or the different components of FEniCS.


Let me offer a counterpoint to this. We must be careful about what we mean by "standard" if we want to "set a new standard in Computational Mathematical Modeling." (quoted from www.fenics.org) Perhaps this will generate discussion on certain sociological ideas that we haven't considered yet. Matt has commented on related questions with "why do people pick a software package." The thesis for debate, which I invite any/all to confirm/refute in a civilized manner, is:

"In order to set a new standard in computational mathematical modeling, the FEniCS project must be actively involved in the broader scientific computing community, getting this community to adopt both particular components and assembled systems as they emerge."

1.) There are standards like the XHTML standard, ANSI C, BLAS etc. These are useful if they have large buy-in from a community. If we want to set the "standard" in this sense, then we need to sell the idea and fix a interfaces (and reference implementations) in conjunction with lots of people. Everybody except Micro$oft seems to think such standards are very useful.

2.) There are standards like "this is the standard to beat". If you want to play this game, you have to jump at least this high. If I had some good idea about how to write a parallel solver library, I would have a big problem facing me. There are already really good ones like PETSc and Trilinos. To be taken seriously, I would first have to show a dramatic improvement over the existing "standards" and be as complete as they are. Being taken seriously is a prerequisite to setting a new standard in this sense. Setting those packages aside and writing one that is not as good is a bad career move. But perhaps somebody will take the plunge, and come up with something better. It takes huevos, but rejecting current paradigms is sometimes necessary to make qualitative advances in science.

3.) My final point is the time factor -- a "standard" is something that everybody uses because everybody has been using it and has time, energy, code-base, and know-how invested in it (FORTRAN is an example of something that is a standard in multiple senses). Inertia prevents scientists from scrapping existing scientific/engineering code in favor of better ones -- the present code runs and gets results. Today, we are seeing people willing to take a leap with PDE codes and jump into these new-fangled automated things. However, if we wait some n years to start selling FEniCS components or an integrated FEniCS system, then we have to overcome the inertia of people having already invested in other systems (e.g. FreeFEM, Deal) and being hesitant to change. The sell becomes not "you should use an automated system" but "you should scrap your current automated system in favor of mine". I claim the latter will be a harder sell -- the technical merit of a system matters more when people are confronted with two new products (I don't have a car, I think I'll buy one -- what's the best one out there that I can afford?) and told to choose one than it does when they have a working product are asked to scrap it for the latest/greatest (I have a Ford, do I really need to upgrade to a Volvo? Sure, it may be great, but I can get where I'm going just fine without spending any more money or time looking for a new car)

The thing I'm trying to avoid here is irrelevance to the broader world of scientific computing. Even if we have the best system in the world but we can't sell it to plasma physicists or geologists or whoever, we have not set a new standard in computational mathematical modeling. If our would-be clients are already committed to other projects, we have not set a new standard in computational mathematical modeling. If we develop a system that is not as good as others, we have not set a new standard in computational mathematical modeling.


Rob Kirby

"Mathematical software should be mathematical."






Follow ups

References