Contributing to the WriteFreely Swift Package

Releasing something as a “Developer Preview” has always given me a bit of anxiety, and not just for the usual “they're going to laugh at my code” impostor-syndrome stuff.

Well, okay, that's a big part of it, but it's also because there's a lot to do to get the project ready. It's never enough to just say, “here's the code, have fun!”

How do people use your project? Do you have a good README and documentation?

The WriteFreely Swift package has a README, and public methods on the WriteFreelyClient are thoroughly commented for Xcode's inline-documentation feature, but it's lacking any easy-to-read public documentation.

How can people use your project? Is there a license?

A license of some type is important for open-source projects. The WriteFreely Swift package uses the BSD 3-clause license, which is pretty permissive, but does set a condition that the name of the project or its contributors can't be used to promote whatever apps or services use the project without written permission.

In other words, you can totally build a WriteFreely client app with this project, but you can't call it, for example, “WriteFreely” without getting permission.

How can people contribute to your project? Are there guidelines?

From the start, the package adopted a version WriteFreely's CONTRIBUTING.md file, which lays out the coding/design guidelines when submitting changes. We agreed to go beyond technical guidelines, and include cultural guidelines as well: to make WriteFreely to be the best place for people to write, all members of the community need to feel safe.

I'm proud to say that the first change merged into the codebase is the inclusion of the Contributor Covenant as a code of conduct, stipulating the expectations for interacting with the WriteFreely community.

(Should it have been there from the start, along with the README and LICENSE files? Yes. That's my fault — my own projects usually adopt it at the same time as my usual template CONTRIBUTING doc, and using a different one kinda threw me.)

What's next?

Tomorrow, I'm going to work on public documentation for WriteFreelyClient's public API, and I'll share my learnings about that work here.

After that… well, here's the list of current GitHub issues! Let me know in the forum if you'd like to help out. 🙂


Enter your email to subscribe to updates:

You can also subscribe via RSS or follow @angelo@write.as on Mastodon.