State of Sway December 2016 - secure your Wayland desktop, get paid to work on Sway

Published 2016-12-27 on Drew DeVault's blog

Earlier today I released sway 0.11, which (along with lots of the usual new features and bug fixes) introduces support for security policies that can help realize the promise of a secure Wayland desktop. We also just started a bounty program that lets you sponsor the things you want done and rewards contributors for working on them.

Today sway has 19,371 lines of C (and 3,761 lines of header files) written by 70 authors across 2,067 commits. These were written through 589 pull requests and 425 issues. Sway packages are available today in the official repos of Arch, Gentoo, Fedora, NixOS, openSUSE, Void Linux, and more. Sway looks like this:

Side note: please add pretty screenshots of sway to this wiki page. Thanks!

For those who are new to the project, Sway is an i3-compatible Wayland compositor. That is, your existing i3 configuration file will work as-is on Sway, and your keybindings and colors and fonts and for_window rules and so on will all be the same. It’s i3, but for Wayland, plus it’s got some bonus features. Here’s a quick rundown of what’s new since the previous state of Sway:

  • Security policy configuration (man sway-security)
  • FreeBSD support
  • Initial support for HiDPI among sway clients (swaybar et al)
  • Support for new i3 features
  • Clicky title bars
  • Lots of i3 compatability improvements
  • Lots of documentation improvements
  • Lots of bugfixes

Today it seems that most of the features sway needs are implemented. Work hasn’t slowed down - there’s been lots of work fixing small bugs, improving documentation, fixing subtle incompatabilities with i3, and so on. However, to encourage the development of new features, I’ve officially put into action the new bounty program today. Here’s how it works - you can donate to the features you want to see, and you can claim the donations by implementing the features and sending a pull request. To date I’ve received about $200 in donations towards sway, and I’ve matched that with a donation of my own to bring it up to $400. I’ve distributed these donations into various buckets of features. Not every feature is for sway - anything that improves the sway experience is eligible for a bounty, and in fact over half of the initial bounties are for features in other parts of the ecosystem. For details on the program, check out this link.

Here’s the updated stats. First, lines of code per author:

3799 (+775)Drew DeVault
3489 (-1170)Mikkel Oscar Lyderik
1705 (-527)taiyu
1236 (-550)S. Christoffer Eliesen
1160 (+70)Zandr Martin
449 (-12)minus
311 (-54)Christoph Gysin
285 (+285)D.B
247 (-87)Kevin Hamacher
227 (-298)Cole Mickens
219 (+219)David Eklov

Finally, I’m the top contributor! I haven’t been on top for over a year. Lots of the top contributors are slowly having their lines of code reduced as lots of new contributors are coming in and displacing them with refactorings and bug fixes.

Here’s the total number of commits per author for each of the top ten committers:

1009 Drew DeVault
245 Mikkel Oscar Lyderik
153 taiyu
97 Luminarys
91 S. Christoffer Eliesen
68 Zandr Martin
58 Christoph Gysin
45 D.B
33 Taiyu
32 minus

Most of what I do for Sway personally is reviewing and merging pull requests. Here’s the same figures using number of commits per author, excluding merge commits, which changes my stats considerably:

479 Drew DeVault
229 Mikkel Oscar Lyderik
138 taiyu
96 Luminarys
91 S. Christoffer Eliesen
58 Christoph Gysin
56 Zandr Martin
45 D.B
32 Taiyu
32 minus

These stats only cover the top ten in each, but there are more - check out the full list.

Here’s looking forward to sway 1.0 in 2017!