Subject: Re: CCL:quantum chemistry interfaces

From: [email-masked] (David E. Bernholdt)
Date: Wed, 31 May 1995 09:17:05 -0700

I don't think the announcement has been made on this list before, so I
enclose the introductory message when the list was first created.  You
haven't missed anything yet if you're not subscribed, but hopefully
we'll get some discussion going soon.

--
Date: Mon, 20 Mar 1995 14:57:43 -0500
From: Erik Deumens <[email-masked]>
Subject: Discussion Session on Software Sharing at the Sanibel Symposium 1995
To: [email-masked]
Message-Id: <9503201957.AA01454@visi7>

                                                       Mar 20, 1995

Dear coleagues:

  Enclosed is the summary of the discussion session "Software Sharing
for Quantum Chemistry and Material Science" that was held as part of
the 35th Sanibel Symposium on March 2, 1995 from 3:00 to 4:15 pm.

  Forty-five people participated in a very lively discussion chaired by
George Purvis from CAChe Scientific.

At the meeting, we agreed to continue the discussion on an e-mail
list. This e-mail is the opening message of that continuing
discussion and an announcement of the availability of the list.

          To send a message to the entire list, send e-mail to:
                      [email-masked]

          To be added to the mailing list, or for any other 
          administrative question, send e-mail to:
                   [email-masked]

We hope the discussion will be useful and lively.

Thank you for your participation,

                  Erik Deumens and Sam Trickey,
                  for the organizers of the Sanibel Symposium.

---------------------------- Summary ---------------------------

    SOFTWARE SHARING FOR QUANTUM CHEMISTRY AND MATERIAL SCIENCE

                        Discussion Session

                     Thursday, March 2, 1995

                      35th Sanibel Symposium

                         ****************
                         * INTRODUCTION *
                         ****************

Participants in the discussion session were given a handout that
George Purvis III used to lead the discussion. This handout is
reproduced below with annotations reflecting the comments and remarks
made by the group. The purpose of the session was to poll the software
sharing needs of the computational chemistry community and our
preferences for meeting those needs.  The chair led a brief discussion
of selected problems, benefits, requirements and implementation
alternatives.  New contributions were introduced from the floor by the
participants.  The preferences of the group were identified by a
show-of-hands balloting on each topic.

Four topics were discussed:
1. Problems to be solved by software sharing,
2. Benefits derived from solving these problems,
3. Requirements to be met by the solution(s),
4. Preferred method for implementation of any solution(s).

Many of the concepts and problems involved were introduced by the
three speakers of Monday morning's session on "Structured Software for
Quantum Chemistry". The speakers were, Roland Lindh (University of
Lund), Dave Bernholdt (Pacific Northwest Lab) and Benny Johnson
(Q-Chem). 

                           ***********
                           * SUMMARY *
                           ***********

In respect to topic 1, participants identified two top priority
problems that software sharing should address.  First, it should
remedy current problems with file incompatibilities and communication
between software packages.  Secondly, participants felt that
development of computational chemistry software was too time consuming
and that software sharing should speed up development of new
computational chemistry software.

No vote was taken on topic 2 as everyone agreed on the benefits.

The discussion and votes on topic 3 established that the solution to
the previously discussed urgent problems should be constructed with
mostly the computational chemistry software develepers in mind and not
primarily the computational chemistry end user.  Furthermore, a
software repository of object-oriented objects or modules is
considered desirable and any standards formulated should be
public. Any solution should be generally useable by the whole
community that includes authors writing in FORTRAN and C as well as
those writing in C++.  There was discussion on whether source code
should be public doamin or copyrighted. The discussion did not
converge, and no vote was taken.

In regards to implementation (topic 4), the participants preferred the
request-for-comment (the RFC method used in establishing internet
protocols) method for developing and reaching consensus on the
specification for software sharing. E-mail and committee were 
favored alternatives.

                          ******************
                          * THE DISCUSSION *
                          ******************

[Annotations are the lines beginning with #.]

# A vote was taken on which problem was perceived as the most
# important. Each participant had four votes to pick the four most 
# important problems. When a topic as noted as "not discussed" the
# issue was time, not significance.

PROBLEMS TO BE SOLVED:

Establish files for transfer of information between applications
#         25 votes
Establish message protocol for transferring information between programs
#         16 votes
Module environment or libraries for rapid development of new QC software
#         28 votes
Platform dependence --- PC's, Mac's, Unix
#          8 votes
#
#
# The issue of portability versus maximum performance was discussed,
# the consensus was that both are important and should play equally
# important roles, but in the end performance dominates.
# Two solutions exist: 1. same code on all platforms
#                      2. different implementation on each platform
#                         with same functionality
#        A separate vote on what platform should be supported gave:
#                PC's         3
#                Mac's        2
#                UNIX         all the rest
Duplicated work
#          6 votes
Lengthy program development
#          9 votes
#
# The discussion added the following problems:
# Performance                      
#          10 votes
# Leveraging commercial software   
#          15 votes
# Simplify education and dissimination              
#          18 votes

BENEFITS:

Elimination of duplicated work

Rapid incorporation of new algorithms

# Education was added as a benefit. It was suggested (v. Ortiz)
# that the process of standardization could start with programs for
# education. Though primarily capable of doing toy problems,
# one could build on the toy programs to get performance.

REQUIREMENTS:

Targeted audience:
computational researchers
#       30 votes
all software package users
#        3 votes

Software repository:
library of modules
#       31 votes for "object oriented" or modular approach
of subroutines (too fine)
#	 0 votes
of packages or programs (too coarse)
#	 0 votes

# A point was added to distinguish the specifications of standards
# from the source code of any implementation.
# 30 votes wanted the standards to be public.

Module interface:
# Not discussed
     standard format?
     protocol to set up communication?
     leave unspecified?

Source code:
# No vote was taken, but the discussion was very lively. D. Bernholdt
# argued (and seemed to get a lot of support for) distinguishing
# between a standard (which should be public) and a specific
# implementation (which should be copyrighted).
     public domain?
     copyleft? (like Free Software Foundation)
     copyright?

Documentation format:
# Not discussed

Conceptual agreement on what is a useful module:
# Not discussed

Outline of design principles to be followed when making a module:
# Not discussed
         strict rules?
         loose rules?

IMPLEMENTATION:
Communication by E-mail list
# E-mail was considered a good communication medium, with a WWW 
# repository for archive of the discussion.

Possible alternatives for sharing
# Not discussed
   CPC
   QCPE
   anonymous ftp
   WWW
   National Lab
   University 
   Private Company
   New Company

Discussion and adoption of practices by
   Committee
#      8 votes
   RFC (request for comment)
#      12 votes
   E-mail discussion
#      10 votes
   ANSI standard
#       0 votes
   ASTM standard
#       0 votes

Mechanism for giving credit to authors:
# Not discussed
      copyright
      sale of products built with the module

Catalogue what is out there:
# Not discussed

Choice of language: all, F77, C, C++, F90:
# Not discussed

Use object oriented design and programming:
# Not discussed

Platforms: Unix, PC, Mac:
# Not discussed

-- 
David E. Bernholdt                          | Email: [email-masked]
Environmental Molecular Sciences Laboratory | Phone: 509 375 4387
Pacific Northwest Laboratory, MSIN K1-90    | Fax:   509 375 6631
P.O.B 999, Richland, WA  99352-0999         |