SOS provides support for arbitrary, user-defined, typed objects.
Fragments of a single FO are objects that enjoy mutual communication privileges. All the other mechansisms of SOS are built upon these basic abstractions. Thanks to prerequisites, migration of data may cause the migration and dynamic type-checking and linking of the corresponding code. A distributed object manager, an object storage service, a naming service, as well as a protocol toolbox and some applications, have been built as FOs. We examine both good decisions and problems.