A share package is the way to make software written by (groups of) GAP users available to the computational community together with GAP.
A share package extends the functionality of GAP as defined by the GAP kernel, the GAP library and the various data libraries. Some share packages are written entirely in the GAP language, while others include one or more standalone programs written in C or some other language which either perfom tasks that are not available in GAP or work particularly fast.
The responsibility and copyright of a share package remains with the original author while the responsibility of the rest of GAP lies with the GAP developer team.
A share package undergoes a formal refereeing process before it becomes part of the GAP distribution. This process is in many ways similar to the refereeing process of a paper submitted to a journal. It assesses the quality and usefulness of the submitted package, it makes sure that it can be started and runs smoothly together with GAP and it ensures that binary parts are portable to other architectures. Share packages should be submitted to the chairman of the GAP Council, Prof. Charles Wright. See the GAP Web site (see Getting GAP) for more details and addresses.
While much effort has been spent on making GAP available on as many platforms as possible, the same is not always true for share packages. Share packages that consist entirely of GAP code can be used on any platform where GAP runs. However, share packages that contain standalone programs often run only in a UNIX environment.
GAP 4 manual