November 14th, 2019

Attendance

API breakage checker

  • @tanner0101 will look into integrating into postgres-nio

Connection Pooling

  • Check in on connection pooling
  • @johannesweiss will open conversation in the forums about current options
  • gRPC: resource pool, async-http-client: pool, vapor/async-kit: connection pool

Governance Model SwiftNIO

  • @tomerd will continue working on this document

TSAN / thread-safe on swift-log / swift-metrics:

  • @tomerd will follow up on TSAN bug

Remove sponsor from swift.org server section

  • Tom did this

LLDB on Linux

  • SwiftPM now ships debug symbols for LLDB to work on Linux
  • The latest dot release version of SwiftPM now lets you debug on Linux
  • Interested in people to test this
  • For people developing on Linux or running their apps in Docker

async-http-client copyright holder:

  • Contributors all hold copyright but now Apple holds the copyright instead of SSWG since SSWG is not a legal entity.

Distroless:

  • @timburks introduce Ian and Tomer to GoogleContainerTools/distroless

OpenAPI:

MySQL / SQLite:

  • @tanner0101 will put up small pitch about SQLite and MySQL

Place for realtime communication:

  • SwiftPM slack
  • ServerSide.swift conference slack
  • Make a new Swift Slack? Ask Ted or Allen
  • @tomerd will follow up on possibilities
  • Swift Server Slack from Helge
  • SSWG is open to ideas here
3 Likes

Thanks for the notes here, @tanner0101.

Regarding the realtime communication note, I am assuming you're talking about realtime communication for anyone and not just SSWG core members. If that's the case, I would humbly suggest the idea of a SSS Discord channel. With Slack we may possibly run into the same problem that the Vapor community faced over a year ago with content being eaten up by the paywall. Discord is great when it comes to this and I've found it to be much nicer to work with regarding roles and members.

Just my two cents :slight_smile:

+1 to discord. Slack comes with problems as the community grows.

Also +1 to Discord over Slack here since there is no paywall that could be limiting in the future. Though any kind of central place to communicate about all things Swift Server would be amazing!

So out of the back of some discussions we had at the conference (and on the podcast!) I'd like to propose an alternative - using the ServerSide.swift conference Slack.

Pros:

  • there's already an established community of Swift server developers on there
  • there's already a number of people who maintain the workspace (and no single point of failure)
  • it fits well with the aims of ethos of the conference - to become the single point for everything server-side Swift.
  • growing one helps grow the other

Cons:

  • noise between mixing conference and general SSWG chatter
  • an implicit bias to the conference. Yes we're non-profit and (currently) the only conference focused on SSS but by choosing the conference as the home then it could provide an unfair advantage to the conference (one for the workgroup to discuss). This could of course work out for both by growing both, making both more 'official' etc but probably not a conversation I can take part in :sweat_smile:

Happy to discuss further and see what people say. As for the Slack vs Discord discussion, I'm easy either way. Discord has some better code support and we can have full history, on the other hand it's easier to get Slack into companies and installed on machines and Slack is more focused on messaging and less on gaming :slightly_smiling_face:

1 Like

Those are good points. I like the idea of helping grow one to grow the other. That being said, I would still say that anything other than Discord would be a poor solution for a large community-based network. Sure, the group may not have the size of audience at first that would require unlimited storage and better role management/permissions but I'd rather start in one place than have to go through the process of moving everything over once that possibility becomes reality.

There are actually quite a few very large code communities that already exist on Discord. Off the top of my head:

  1. Vapor (obviously :wink:)
  2. Reactiflux
  3. Jest
  4. Yarn
  5. Vue JS
1 Like

I agree here 100%. I think Discord is far better for OSS communities. These are some of the reasons I've cited multiple times:

  • No paywall, free message history and file upload.
  • No signup required, you can just pick a name to join. This lowers the barrier of entry to getting help!
  • Syntax highlighting is supported using traditional Markdown syntax.
  • Roles: Users can be assigned different roles like Core, Member, etc
  • Channel categories: Multiple channels can be put into a category making it easier to organize lots of channels.
  • Voice chat
  • Last but not least, Discord :heart: open source: Open Source Projects | Discord

I've been trying to get the SSWG to move to Discord and already created a group: Swift Server. I just don't wanna be the only one pushing so hard for it if no one else wants it haha.


Another option is that we could recommend more than one place. Vapor's sswg channel could be one and ServerSide.swift's slack another for example.

Discord is an unintelligible mess once more than one conversation starts in a single channel. Are there other options?

2 Likes

Mozilla is going through a similar journey in trying to replace IRC for their chatting needs. Last I heard they, among others, rejected Discord:

Discord’s terms of service, particularly with respect to the rights they assert over participants’ data, are expansive and very grabby, effectively giving them unlimited rights to do anything they want with anything we put into their service. Coupling that with their active hostility towards interoperability and alternative clients has disqualified them as a community platform.

Expanding on the last sentence, their love of open source seems to be restricted to publishing small components and expanding their user base with open-source communities. Any kind of open-source client at least seems to be out of the question, even if it were just a heavily modded official client.

Sadly I don't really have a better alternative to recommend (except the one a few friends and me are surely going to write any day now :wink:), but I don't like the idea of moving to yet another closed-source, vc-funded startup's ecosystem.

Maybe "the next big thing" in free software chat-/voice-communication could be a good proving ground for server-side Swift (plus a wasm client?) :D Not very relevant for now, but one can dream :sleeping:

4 Likes

Here is the invite link for the swift-server Slack I setup in case you want to try before you buy: Slack
It already features a channel for async-http-client created by @tomerd, feel free to add more.

Using the conference Slack isn't the worst idea either.

Does someone know a Slack employee? There are rumors that they can sponsor community Slacks :wink:

I agree with @ahti that Discord is a no-go for all the reasons outlined.
If you'd want to do proper OpenSource, Riot/Matrix and Mattermost are both sound options.

1 Like

Server / WebClient / Eliza bot: https://github.com/NozeIO/swift-nio-irc-server/tree/develop/Sources/miniircd.

Oh, and a live demo is sometimes running on: https://irc.noze.io.

You are welcome!

1 Like

This is pretty cool, but IRC doesn't keep history, and you have to be connected to receive messages.

Why being so negative, focus on the possibilities! ;-) This stuff was hacked up in about two weeks' sparetime or so.
Not that I was serious about this, but there is something called IRC bouncers since forever. And it would be easy to add persistence, e.g. by storing messages in Redi/S.

Im not trying to be negative, but if were disregarding current chat options based on legal rights they obtain (a negative), I think I should be allowed to post negatives about IRC.

1 Like

In general I’d agree with Tanner: Slack’s focus is on business/enterprise, and something like Discord is going to have a heavier focus on community which likely makes it a better choice.

swiftserver also exists on Keybase, which is a free, encryption platform that includes teams, git, chat, file sharing. Just doesn't have video/audio yet.

Let's also do Matrix.org to cover them all, here is the channel link: You're invited to talk on Matrix

(AFAIK Keybase doesn't have an API for the chat, which makes it the perfect silo, probably not a good idea to use it)

1 Like