7 open source projects made in Apple

Less extensive than that of other GAFAMs, Apple’s open source portfolio still includes some references.

In L’open-source, Is Apple the least involved of the GAFAM? Judging by the number of “significant” projects launched, the answer is yes. However, the American group has a few references on display. Here are seven.

FoundationDB

This database had emerged in 2009 with the objective of combining NoSQL and ACID transactions. It particularly appealed to Snowflake, which adopted it in 2014 and still uses it today for metadata management.

FoundationDB Snowflake

Snowflake originally used a commercial version. And for good reason: FoundationDB is not open-source only since 2018… three years after its acquisition by Apple.

The heart of the project is based on a strict serialization key-value store. It has no native SQL API. However, modules can be added to it to provide compatibility layers (there is one for MongoDB, for example), data schemas, or even frameworks.

FoundationDB architecture
The central (“controller”) node is the entry point to the cluster for all processes. The “coordinator” nodes elect it by majority vote.

Password Manager Resources

Launched in 2020 under the MIT license, this project does not host so much code as configuration elements (quirks). Intended for integration into password managers, they are of four types:

– Rules for defining passwords on certain websites
– Indications on the back end shared between domains (atlassian.com/trello.com, fnac.com/fnacspectacles.com, etc.)
– Information on password reset URLs
– List of sites that require multi-factor authentication

ResearchKit and CareKit

Launched in 2015 and 2016 respectively. These “software frameworks” make it possible to develop iOS applications for collecting medical data and monitoring health.

ResearchKit logoResearchKit includes three main modules: consent collection, questionnaire and activities based on sensors integrated into Apple devices. The applications born on this basis come for many from the academic sphere. For example, mPower from the University of Rochester (to study Parkinson’s disease), VascTrac from Stanford (arteritis), MS Mosaic from Duke (multiple sclerosis) and EpiWatch from Johns-Hopkins (epilepsy).

From Stanford have also emerged applications based on CareKit. Among other things, for monitoring childhood heart problems. The Californian hospital group Sharp HealthCare has used it for the management of before and after cataract surgery.

CareKit card types

Hello

Hello Apple open sourceTwenty years ago, Apple released the first version of this networking protocol. Bonjour implements the IETF’s Zeroconf (Zero-configuration) technology. Among its capabilities:

– Dynamic IP address allocation without DHCP server
– Name and IP address resolution without a DNS server
– Search for services without a directory
– Traversal of NAT gateways

Originally named Rendezvous, it was first released under the ASPL license. Before moving, in 2006, to Apache 2.0.

WebKit

This rendering engine now supports the Safari browser and various Apple applications (iTunes, Mail, News, App Store, etc.). Originally there is a forked KHTML and KJS libraries from the KDE desktop environment. A process initiated in 2001. Four years later, WebKit was to become open source. Partly under BSD license, and in LGPL for its two main bricks: WebCore and JavaScript Core.

Google first adopted WebKit to power Chrome. Before finally creating, in 2013, a derivative of WebCore: Blink, which completed its in-house JavaScript engine (V8).

Sony has implemented WebKit on the last three generations of its PlayStation console. Samsung has also used it on its OS Tizen; Nokia, on Symbian; Amazon, on Kindles.

Swift

Will Swift replace Objective-C? The question still arises today, eight years after the presentation of this programming language. Published at the end of 2015 under the Apache 2.0 license, it uses a simplified syntax and manages memory protection.

At the functional core, Apple has added various libraries (localization, network, unit tests, etc.). The project eventually expanded into server development. A compatibility layer with C++ is under development. As well as reimplementations of frameworks Apple (like Foundation, UIKit, and AppKit) with no Objective-C runtime dependency.

Swift new open source
(Click to enlarge.)

Main illustration © larsomat / CC BY-NC-SA 2.0

Leave a Comment