logo

drewdevault.com

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

State-of-sway.md (5609B)


  1. ---
  2. date: 2016-12-27
  3. # vim: tw=80
  4. # Commands used to generate these stats:
  5. # LoC per author: git ls-tree -r -z --name-only HEAD -- */*.c | xargs -0 -n1 git blame --line-porcelain HEAD |grep "^author "|sort|uniq -c|sort -nr
  6. # Commits per author: git shortlog
  7. title: State of Sway December 2016 - secure your Wayland desktop, get paid to work on Sway
  8. layout: post
  9. tags: [sway]
  10. ---
  11. Earlier today I released [sway
  12. 0.11](https://github.com/SirCmpwn/sway/releases/tag/0.11), which (along with
  13. lots of the usual new features and bug fixes) introduces support for security
  14. policies that can help realize the promise of a secure Wayland desktop. We also
  15. just started a bounty program that lets you sponsor the things you want done and
  16. rewards contributors for working on them.
  17. Today sway has 19,371 lines of C (and 3,761 lines of header files) written by 70
  18. authors across 2,067 commits. These were written through 589 pull requests and
  19. 425 issues. Sway packages are available today in the official repos of Arch,
  20. Gentoo, Fedora, NixOS, openSUSE, Void Linux, and more. Sway looks like this:
  21. [![](https://sr.ht/ICd5.png)](https://sr.ht/ICd5.png)
  22. Side note: please add pretty screenshots of sway to [this wiki
  23. page](https://github.com/SirCmpwn/sway/wiki/Screenshots-of-Sway). Thanks!
  24. For those who are new to the project, [Sway](http://swaywm.org) is an
  25. i3-compatible Wayland compositor. That is, your existing [i3](http://i3wm.org/)
  26. configuration file will work as-is on Sway, and your keybindings and colors and
  27. fonts and for_window rules and so on will all be the same. It's i3, but for
  28. Wayland, plus it's got some bonus features. Here's a quick rundown of what's
  29. new since the [previous state of Sway](/2016/08/02/Sway-0.9-in-retro.html):
  30. * Security policy configuration (man sway-security)
  31. * FreeBSD support
  32. * Initial support for HiDPI among sway clients (swaybar et al)
  33. * Support for new i3 features
  34. * Clicky title bars
  35. * Lots of i3 compatability improvements
  36. * Lots of documentation improvements
  37. * Lots of bugfixes
  38. Today it seems that most of the features sway needs are implemented. Work hasn't
  39. slowed down - there's been lots of work fixing small bugs, improving
  40. documentation, fixing subtle incompatabilities with i3, and so on. However, to
  41. encourage the development of new features, I've officially put into action the
  42. new bounty program today. Here's how it works - you can donate to the features
  43. you want to see, and you can claim the donations by implementing the features
  44. and sending a pull request. To date I've received about $200 in donations
  45. towards sway, and I've matched that with a donation of my own to bring it up to
  46. $400. I've distributed these donations into various buckets of features. Not
  47. every feature is for sway - anything that improves the sway experience is
  48. eligible for a bounty, and in fact over half of the initial bounties are for
  49. features in other parts of the ecosystem. For details on the program, check out
  50. [this link](https://github.com/SirCmpwn/sway/issues/986).
  51. Here's the updated stats. First, **lines of code per author**:
  52. <table class="table">
  53. <tbody>
  54. <tr><td>3799 (+775)</td><td>Drew DeVault</td></tr>
  55. <tr><td>3489 (-1170)</td><td>Mikkel Oscar Lyderik</td></tr>
  56. <tr><td>1705 (-527)</td><td>taiyu</td></tr>
  57. <tr><td>1236 (-550)</td><td>S. Christoffer Eliesen</td></tr>
  58. <tr><td>1160 (+70)</td><td>Zandr Martin</td></tr>
  59. <tr><td>449 (-12)</td><td>minus</td></tr>
  60. <tr><td>311 (-54)</td><td>Christoph Gysin</td></tr>
  61. <tr><td>285 (+285)</td><td>D.B</td></tr>
  62. <tr><td>247 (-87)</td><td>Kevin Hamacher</td></tr>
  63. <tr><td>227 (-298)</td><td>Cole Mickens</td></tr>
  64. <tr><td>219 (+219)</td><td>David Eklov</td></tr>
  65. </tbody>
  66. </table>
  67. Finally, I'm the top contributor! I haven't been on top for over a year. Lots of
  68. the top contributors are slowly having their lines of code reduced as lots of
  69. new contributors are coming in and displacing them with refactorings and bug
  70. fixes.
  71. Here's the total **number of commits per author** for each of the top ten
  72. committers:
  73. <table class="table">
  74. <tbody>
  75. <tr><td>1009</td><td> Drew DeVault</td></tr>
  76. <tr><td>245</td><td> Mikkel Oscar Lyderik</td></tr>
  77. <tr><td>153</td><td> taiyu</td></tr>
  78. <tr><td>97</td><td> Luminarys</td></tr>
  79. <tr><td>91</td><td> S. Christoffer Eliesen</td></tr>
  80. <tr><td>68</td><td> Zandr Martin</td></tr>
  81. <tr><td>58</td><td> Christoph Gysin</td></tr>
  82. <tr><td>45</td><td> D.B</td></tr>
  83. <tr><td>33</td><td> Taiyu</td></tr>
  84. <tr><td>32</td><td> minus</td></tr>
  85. </tbody>
  86. </table>
  87. Most of what I do for Sway personally is reviewing and merging pull requests.
  88. Here's the same figures using **number of commits per author, excluding merge
  89. commits**, which changes my stats considerably:
  90. <table class="table">
  91. <tbody>
  92. <tr><td>479</td><td> Drew DeVault</td></tr>
  93. <tr><td>229</td><td> Mikkel Oscar Lyderik</td></tr>
  94. <tr><td>138</td><td> taiyu</td></tr>
  95. <tr><td>96</td><td> Luminarys</td></tr>
  96. <tr><td>91</td><td> S. Christoffer Eliesen</td></tr>
  97. <tr><td>58</td><td> Christoph Gysin</td></tr>
  98. <tr><td>56</td><td> Zandr Martin</td></tr>
  99. <tr><td>45</td><td> D.B</td></tr>
  100. <tr><td>32</td><td> Taiyu</td></tr>
  101. <tr><td>32</td><td> minus</td></tr>
  102. </tbody>
  103. </table>
  104. These stats only cover the top ten in each, but there are more - check out the
  105. [full list](https://github.com/SirCmpwn/sway/graphs/contributors).
  106. Here's looking forward to sway 1.0 in 2017!