Le code source de CUPS, le système d’impression utilisé par macOS et la plupart des distributions GNU/Linux, est désormais distribué selon les termes de la licence Apache version 2.0. Ce que cela changera dans votre quotidien ? Absolument rien. Mais cela change tout pour Apple, qui cherche à se débarrasser de la licence GNU GPL.
Après deux ans de développement, Michael Sweet a publié la première version de CUPS en 1999. À l’époque, il avait choisi de distribuer son code source selon les termes d’une licence GNU GPL v2 agrémentée de quelques clauses supplémentaires. Cette possibilité de « double licence » est explicitement permise par la licence GNU GPL v2, à condition que les clauses additionnelles prennent la forme de permissions plutôt que de restrictions.
Immédiatement adopté par de nombreuses distributions GNU/Linux, CUPS est devenu le serveur d’impression de macOS en 2002. Apple a embauché Michael Sweet en 2007 : il continue à travailler sur CUPS, mais essentiellement seul, et parfois à rebours des besoins du monde GNU/Linux. Pour autant, le code source de CUPS est toujours distribué selon les termes de la licence GNU GPL v2 « augmentée ». Or depuis plusieurs années, Apple abandonne tous les projets sous licence GNU GPL, même s’il s’agit de composants aussi importants que le serveur Samba ou le compilateur GCC.
La firme de Cupertino tient d’abord à éviter les mises à jour vers la licence GNU GPL v3, qui oblige la distribution de « toutes les informations et toutes les données nécessaires » à la modification du code sur les appareils (y compris les clefs et signatures protégeant les fondations de macOS), et impose la concession des « licences de brevets nécessaires à l’exercice des droits » que confère la licence (et empêche donc la commercialisation de licences FRAND). Apple tient aussi à lever toute incertitude juridique autour des doubles licences (dont l’étendue n’est pas toujours clairement définie) et des licences copyleft comme la licence GNU GPL (qui interdit le mélange de licences « incompatibles » dans un même projet).
Du point de vue d’Apple, la licence Apache est plus flexible : sans remettre en cause les quatre libertés du logiciel libre, elle prend en compte les marques déposées et les brevets, et permet de mélanger différentes licences dans un même projet. Le changement de licence de CUPS pourrait toutefois entraîner quelques instabilités dans le monde GNU/Linux : du code distribué selon les termes de la licence Apache v2 peut être combiné avec du code distribué selon les termes de la licence GNU GPL v3, mais pas avec du code distribué selon les termes de la licence GNU GPL v1 ou v2.