From LibrePlanet
Revision as of 20:34, 29 January 2014 by Ciaran (talk | contribs) (GCC and GPLv3: typo)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Software patents

Lobbying legislators and courts

Aggressive use (in court or by threats)

Participation in aggressive coalitions

Digital Restrictions Management (DRM)

Lobbying legislators and courts

Implementing and promoting it


Projects contributed to

(list copied from third-party, no verification done or measurement of how much they contributed)

Mac OS X uses their own kernel and userspace, but with some system software from FreeBSD. To FreeBSD they've contributed (still copying from unverified source) to the USB stack, SMP code that removed the giant kernel lock, filesystem journaling came from darwin, superpages, dtrace support, ARM support, support for more than 16TB of ram, pure 64 bit support.

Public statements (FUD or support)

GCC and GPLv3

Apple stopped contributing to GCC (specifically the Objective-C compiler) when GCC migrated to GPLv3. The problem was that getting software into Apple's app store requires making an agreement that's incompatible with GPLv3 section 6. Below are the licence sections, with comment by John Sullivan:[1]

"Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.
"If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information."

In other words, users must be able to exercise their freedom to install and run modified versions of any GPLv3-covered program distributed on the iPhone. Systems that use cryptographic keys could be fine — but the user needs to have access to any such keys along with the code.

However, in order to write software for the iPhone and have that software distributed, a developer has to agree to the Apple's iPhone Developer Program License Agreement (in addition to several other licenses). Section 5 of this agreement says:

"You further represent and warrant to Apple that the licensing terms governing Your Application, or governing any third party code or FOSS included in Your Application, will be consistent with and not conflict with the digital signing or content protection aspects of the Program or any of the terms, conditions or requirements of the Program or this Agreement. In particular, such licensing terms will not purport to require Apple (or its agents) to disclose or make available any of the keys, authorization codes, methods, procedures, data or other information related to the Security Solution, digital signing or digital rights management mechanisms utilized as part of the Program."

These two licenses are incompatible. Apple's license says that to write and distribute software for the iPhone, developers have to agree that any freedom users should have to modify and share their software is secondary to the paramount requirement of observing and protecting Apple's DRM system.