Here are some links to other resources
The specification of the repository API: JSR 170: Content Repository for Java{tm} technology API.
The main purpose of Sling is to develop a content-centric Web Application framework for Java Content Repository (JCR) based data stores. Sling is implemented - with the notable exception of JCR Node Type management - purely in terms of the JCR API and as such may use any JCR compliant repository. The default implementation for Apache Jackrabbit is provided out of the box. This is also the reference implementation of the Content Repository for Java (JCR) Specification.
The OSGi Alliance is the specification body defining the OSGi specifications, namely the Core, Compendium, Enterprise and IoT specifications. These specifications are at the center of making Sling possible. Sling is implemented as a series of OSGi modules (called bundles) and makes extensive use of the OSGi functionality, such as lifecycle management and the service layer. In addition, Sling requires several OSGi compendium services to be available, such as the Log Service, Http Service, Configuration Admin Service, Metatype Service, and Declarative Services.
While Sling does not require a specific OSGi framework implementation to run in, Sling is being developed using Apache Felix as the OSGi framework implementation. It has not been tested yet, but it is expected that Sling also operates perfectly inside other OSGi frameworks such as Equinox and Knopflerfish.