There has been a steady stream of improvements and refinements since then, with the source being subject to wide review by the user community. Wide user base. A particular algebra system is often chosen for a given calculation because of its widespread use in a particular application area, with existing packages and templates being used to speed up problem solving. A large number of special purpose packages are available in support of this, with many contributed by users. Full source code availability.
Many users do in fact effectively modify the source code for their own purposes.
One advantage of making all code accessible to the user is that it is relatively easy to incorporate patches to correct small problems or extend the applicability of existing code to new problem areas. An electronic mail service and gopher and World Wide Web servers allow users to get such updates and complete new packages as they become available, without having to wait for a formal system release. Its simplification strategy, using a combination of efficient polynomial manipulation and flexible pattern matching is focussed on giving users as natural a result as possible without excessive programming. This has led to significant user communities throughout the world. As a result, users can have confidence that their calculations will not behave differently if they move them to a different machine.