logo

drewdevault.com

[mirror] blog and personal website of Drew DeVault git clone https://hacktivis.me/git/mirror/drewdevault.com.git

HDCP-in-Weston.md (7508B)


  1. ---
  2. date: 2019-10-07
  3. layout: post
  4. title: Why Collabora really added Digital Restrictions Management to Weston
  5. tags: [wayland, drm, philosophy]
  6. ---
  7. A recent article from Collabora, [Why HDCP support in Weston is a good
  8. thing][collabora article], proports to offer a lot of insight into why
  9. [HDCP][hdcp] - a Digital Restrictions Management (DRM) related technology - was
  10. added to [Weston][weston] - a well known basic Wayland compositor which was once
  11. the reference compositor for Wayland. But this article is gaslighting you.
  12. There is one reason and one reason alone that explains why HDCP support landed
  13. in Weston.
  14. [collabora article]: https://www.collabora.com/news-and-blog/blog/2019/10/03/why-hdcp-support-in-weston-is-a-good-thing/
  15. [hdcp]: https://en.wikipedia.org/wiki/High-bandwidth_Digital_Content_Protection
  16. [weston]: https://gitlab.freedesktop.org/wayland/weston
  17. Q: Why was HDCP added to Weston?
  18. A: \$\$\$\$\$
  19. Why does Collabora want you to *believe* that HDCP support in Weston is a good
  20. thing? Let's look into this in more detail. First: *is* HDCP a bad thing?
  21. DRM (Digital Restrictions Management) is the collective term for software which
  22. attempts to restrict the rights of users attempting to access digital media.
  23. It's mostly unrelated to Direct Rendering Manager, an important Linux subsystem
  24. for graphics which is closely related to Wayland. Digital Restrictions
  25. Management is software used by media owners to prevent you from enjoying their
  26. content except in specific, pre-prescribed ways.
  27. There is universal agreement among the software community that DRM is
  28. ineffective. Ultimately, these systems are defeated by the simple fact that no
  29. amount of DRM can stop you from pointing your camera at your screen and pushing
  30. record. But in practice, we don't even need to resort to that - these systems
  31. are far too weak to demand such measures. [Here's a $100 device on Amazon which
  32. can break HDCP][amazon]. DRM is shown to be impossible even in *theory*, as the
  33. decryption keys have to live somewhere in your house in order to watch movies
  34. there. Exfiltrating them is just a matter of putting forth the effort. For most
  35. users, it hardly requires any effort to bypass DRM - they can just punch "watch
  36. [name of movie] for free" into Google. It's well-understood and rather obvious
  37. that DRM systems completely and entirely fail at their stated goal.
  38. [amazon]: https://www.amazon.com/HSV321/dp/B07C6KCBYB
  39. No reasonable engineer would knowingly agree to adding a broken system like that
  40. to their system, and trust me - the entire engineering community has been made
  41. well-aware of these faults. Any other system with these obvious flaws would be
  42. discarded immediately, and if the media industry hadn't had their hands firmly
  43. clapped over their ears, screaming "la la la", and throwing money at the
  44. problem, it would have been. But, just adding a broken system isn't necessarily
  45. going to hurt much. The problem is that, in its failure to achieve its stated
  46. goals, DRM brings with it some serious side-effects. DRM is closely tied to
  47. nonfree software - the RIAA mafia wants to keep their garbage a secret, after
  48. all. Moreover, DRM takes away the freedom to play your media when and where you
  49. want. Why should you have to have an internet connection? Why can't you watch it
  50. on your ancient iPod running Rockbox? DRM exists to restrict users from doing
  51. what they want. More sinisterly, it exists to further the industry's push to
  52. end consumer ownership of its products - preferring to steal from you monthly
  53. subscription fees and lease the media to you. Free software maintainers are
  54. responsible for protecting their users from this kind of abuse, and putting DRM
  55. into our software betrays them.
  56. The authors are of the opinion that HDCP support in Weston does not take away
  57. any rights from users. It doesn't *stop* you from doing anything. This is true,
  58. in the same way that killing environmental regulations doesn't harm the
  59. environment. Adding HDCP support is handing a bottle of whiskey to an abusive
  60. husband. And the resulting system - and DRM as a whole - is known to be
  61. inherently broken and ineffective, a fact that they even acknowledge in their
  62. article. This feature *enables* media companies to abuse *your* users. Enough
  63. cash might help some devs to doublethink their way out of it, but it's true all
  64. the same. They added these features to help abusive companies abuse their users,
  65. in the hopes that they'll send back more money or more patches. They say as much
  66. in the article, it's no secret.
  67. Or, let's give them the benefit of the doubt: perhaps their bosses forced them
  68. to add this[^1]. There have been other developers on this ledge, and I've talked
  69. them down. Here's the thing: it worked. Their organizations didn't pursue DRM
  70. any further. You are not the lowly code monkey you may think you are. Engineers
  71. have real power in the organization. You can say "no" and it's your
  72. responsibility to say "no" when someone asks you to write unethical code.
  73. [^1]: This is just for the sake of argument. I've spoken 1-on-1 with some of the developers responsible and they stand by their statements as their personal opinions.
  74. Some of the people I've spoken to about HDCP for Wayland, particularly for
  75. Weston, are of the opinion that "a protocol for it exists, therefore we will
  76. implement it". This is reckless and stupid. We already know what happens when
  77. you bend the knee to our DRM overlords: look at Firefox. In 2014, Mozilla
  78. added DRM to Firefox after a year of fighting against its standardization in the
  79. W3C (a [captured][capture] organization which governs[^2] web standards). They
  80. capitulated, and it did absolutely nothing to stop them from being steamrolled
  81. by Chrome's growing popularity. Their market-share freefall didn't even slow
  82. down in 2014, or in any year since[^3]. Collabora went down without a fight in
  83. the first place.
  84. [capture]: https://en.wikipedia.org/wiki/Regulatory_capture
  85. [^2]: Or at least attempts to govern.
  86. [^3]: [Source: StatCounter](https://en.wikipedia.org/wiki/File:StatCounter-browser-ww-monthly-200901-201905.png). Measuring browser market-share is hard, collect your grain of salt [here](https://en.wikipedia.org/wiki/Usage_share_of_web_browsers).
  87. Anyone who doesn't recognize that self-interested organizations with a great
  88. deal of resources are working against *our* interests as a free software
  89. community is an idiot. We are at war with the bad actors pushing these systems,
  90. and they are to be [given no quarter](https://en.wikipedia.org/wiki/No_quarter).
  91. Anyone who realizes this and turns a blind eye to it is a coward. Anyone who
  92. doesn't stand up to their boss, sits down, implements it in our free software
  93. ecosystem, and cashes their check the next Friday - is not only a coward, but a
  94. traitor to their users, their peers, and to society as a whole.
  95. "HDCP support in Weston is a good thing"? It's a good thing for *you*, maybe.
  96. It's a good thing for media conglomerates which want our ecosystem crushed
  97. underfoot. It's a bad thing for your users, and you know it, Collabora. Shame on
  98. you for gaslighting us.
  99. However... the person who *reverts* these changes is a hero, even in the face of
  100. past mistakes. Weston, Collabora, you still have a chance to repent. Do what you
  101. know is right and stand by those principles in the future.
  102. ---
  103. P.S. To make sure I'm not writing downers all the time, rest assured that the
  104. next article will bring good news - RaptorCS has been working hard to correct
  105. the issues I raised in my last article.