Open source

Open standards, open systems and open source

Open Source

Ericsson has for a long time been promoting open standards and open systems. In the same spirit Ericsson also contributes to the open source community. For many years we have been an active participant in several open source communities as well as contributing whole projects to the communities. We do this because we se a benefit for us, our customers and our technology.

Here you will find some of our major contributions and ongoing activities as of today.

Feldspar

The Feldspar language (Functional Embedded Language for DSP and PARallelism) is the result of a joint effort between Ericsson, Chalmers University (Gothenburg, Sweden) and ELTE University (Budapest, Hungary). It is a domain specific language with associated C code generator mainly targeting software for DSP processors.

Feldspar is a functional, implicitly parallel language that offers dramatic increase in productivity, while securing a high degree of portability of DSP-targeted software.

The language is under continuous development and the project is welcoming contributions from the open source community.

SIP container – Sailfin

Sailfin is an open source Java Communications Application Server community project initiated by Ericsson and Sun. It is the first and so far only open source server that can provide both Sip Servlets and Java EE.

The Sailfin project, adds SIP Servlets technology extension to Glassfish providing performance, high availability, clustering features and integrating with the existing services. SailFin will be the source of all SIP related development for GlassFish.

The source code originates from the Ericsson Application Server. It has been used as a platform for various IMS and Multimedia products. Ericsson has been part of the JSR-116 defining the initial Sip Servlet standard that is now followed up by the JSR-289 version.

Ericsson adds engineering investments to the open source community in working towards achieving JSR-289 compatibility and adding telecoms properties to Java EE.

Learn More at their website under "Related links"

OpenSAF – Open Service Availability Framework

OpenSAF is an open source project that implements a high availability base platform middleware consistent with Service Availability™ Forum (SA Forum™) specifications. Ericsson is an initial supporter and sponsor and has contributed User Mode Linux (UML) support in OpenSAF.

Ericsson is today working with contributing implementation of three SA Forum™ services: Information Model Management (IMM), Notification (NTF) and Log.

These services constitute management infrastructure and, together with existing high availability services, provide complete base platform middleware. With these contributions Ericsson supports creation of COTS ecosystem for the telecommunications industry that will lower cost and improve service availability, enabling Ericsson to focus on value-added products and applications.

Learn More at their website under "Related links"

Transparent Inter-Process Communication (TIPC)

The Transparent Inter-Process Communication (TIPC) protocol is specially designed for intra-cluster communication and has been used in Ericsson products for many years.

The protocol provides a number of features that make it highly suitable for communication in carrier-grade cluster platforms and applications.

These features include full location transparency, lightweight connections, reliable message delivery, a subscription service and high performance.

TIPC was originally developed as part of the Ericsson telecom server platform running on a proprietary operating-system kernel. It was later ported to Linux and turned into an open-source project and has since been ported to several other operating systems.

Today the protocol is part of the standard Linux kernel. TIPC in the Linux kernel is the de-facto reference implementation and the code base where Ericsson is actively taking part in the TIPC development.

Learn More at their website under "Related links"

Erlang

Erlang is a general-purpose programming language and runtime environment with built-in support for concurrency, distribution, fault tolerance and incremental code loading. Erlang is currently used in several Ericsson telecom infrastructure products.

Interest in Open Source Erlang is continually growing and there are now many commercial products built using it.

Examples of products from other vendors are: E-business solutions, Mobile positioning systems, Bank systems, Telephony Call Handling, Telephony signaling systems, Operation and Maintenance systems.

Learn More at their website under "Related links"

Webkit

WebKit is an open source browser engine. It is the core component of several popular browsers for personal computers and mobile devices. The WebKit project has its roots in KHTML, a related open source project started in 1998, and has been organized in its current form as WebKit since 2002.

WebKit continuously evolves as a state-of-the-art implementation of HTML5, and Ericsson recognizes its value as a key platform for future web-based services. Ericsson WebKit contributors have introduced HTML5 features such as server-sent events and iframe sandboxing, as well as other enhancements, to WebKit in collaboration with ongoing standardization efforts. Currently a contribution introducing the experimental device element is in progress.

Eclipse

Eclipse focuses on building an open development platform comprised of extensible frameworks, tools and runtimes for building, deploying and managing software across the lifecycle.

The Eclipse project was started in 2001, in February 2004, Ericsson was one of the 8 original companies who founded the not-for-profit Eclipse corporation.

As Eclipse is the tool integration technology preferred for all Ericsson R&D tools Ericsson recognize the need to participate in the community, share and contribute. Ericsson Eclipse committers are contributing code to the Eclipse C/C++ Development Tooling and Linux Tools to integrate advanced features of GDB and LTTng projects to enable de-facto standard such as multi-core tracing and debugging, and tracing of live systems. Ericsson committers are also contributing code to improve software review tools in the Mylyn project to create de-facto integration and features for performing peer software reviews and inspections.

GDB

GDB, the GNU Project debugger, allows understanding what is going on inside a program while it executes or what a program was doing at the moment it crashed.

GDB was first started by Richard Stallman in 1986, it is now the ubiquitous debugger for C/C++ systems. With its wide availability on all sorts of systems ranging from small bare metal to very large enterprise servers, GDB has a large eco-system of end users and developers.

Ericsson contributes directly and via funding with patches and the implementation of major features such as multi-process, nonstop debugging, tracepoint, global breakpoint and multi-operating systems.

LTTng

LTTng, the Linux Trace Toolkit Next Generation, is a highly efficient full system tracing solution to allow tracing of bare metal, kernel, user space, trace viewing, analysis and streaming. Tracing is used to understand what is going on in a system when the overhead of other tools e.g. debuggers, would make the program fail or when gigabytes of events needs to be recorded.

With it’s usefulness to understand hard to find bugs only happening under heavy load or to monitor live systems, LTTng has a broad range of end-users and contributors from consumer electronics companies, to IT, to the military.

Ericsson is contributing and funding code to the user space tracing component as well as LTTng infrastructure.