Mer/Documentation/Vendor Social Contract

Contents

Social contract for hardware vendors

No tivoization

Tivoization is the creation of a system that incorporates software under the terms of a copyleft software license, but uses hardware to prevent users from running modified versions of the software on that hardware.

A user of your device, running Mer, should always be able to replace the OS image on your device with one of their own making with ease. This can be fulfilled by:

  • Avoiding bootloaders and firmware replacement software requiring firmwares to be signed.
  • Publishing information on bootloader, firmware format and methods of firmware replacement.

Be aware that Mer uses GPLv3-licensed software, so tivoization may already be forbidden.

Open source kernel modules

We ask that kernel modules used for your device is open source. In 5 years, it should still be possible to get a modern kernel running on your device. In contrast, closed-source kernel modules are linked to specific kernel versions, hence hindering future development of Mer for your device.

The advantage for you is that community members can help resolve lingering software issues, beta-test potential improvements, and even continue development for unsupported devices. Open source software allows the development team to keep your drivers up to date, whenever Mer framework changes require driver modifications.

Redistribution of firmware and differentiation

We ask that you seek to allow the Mer community to distribute binary copies of any closed-source firmware that is needed to support your device. The Mer community can organize a procedure such that the firmware is only distributable to users of your device, behind EULA, identified with their serial number, or MAC address, etc.

If you choose to differentiate your device through closed-source bundled software, we ask that you allow same distribution rights for this.

The advantage is that a user of your device can at any point in the future build a fresh Mer OS image without losing any functionality in software or hardware that he had when he had the original firmware.