Giving Back Through Public Development
Slack has long relied on open source software across its Android, Kotlin, and Gradle stacks, and has contributed back through sponsorships, bug reports, and projects like Keeper and EitherNet. The company now plans to go further by developing more of its general-purpose tooling in public repositories. Not every internal project will be released—many repos will remain internal-only—but the ones that are published can serve dual duty as both community resources and practical internal infrastructure.
The stated rationale is straightforward: there is little cost to keeping development public, but clear benefits in several areas.
- Easier bug reproduction. Bugs in build tooling often surface only within Slack's complex internal setup. Public repos give engineers a natural place to craft minimal repro cases when filing issues with external maintainers.
- Simpler knowledge sharing. Slack engineers frequently discuss their Gradle infrastructure and Android tooling in community channels and at conferences. Public code makes those conversations more concrete and useful.
- Maintainer feedback. The biggest wins from OSS participation have come from regular code reviews by external maintainers of the tools Slack depends on. Opening up more projects invites that same expert scrutiny internally.
- Broader OSS participation. Most Slack contributions so far have been code reviews rather than feature work. Making common projects public normalizes open source work as part of everyday engineering, rather than a special activity.
Two New Releases
The initiative launches with two projects now available on GitHub.
slack-lints
slack-lints is a collection of custom lint checks that run against Slack's Android codebase on every pull request. The checks span Android conventions, Moshi usage, inclusive naming, and other internal standards.
auto-value-kotlin
auto-value-kotlin provides an AutoValue extension and annotation processor that converts AutoValue classes into Kotlin data classes. It includes hooks for other tools Slack relies on, such as Moshi and Parcelize. The project does not aim to be fully automated for every codebase—the maintainers estimate it handles the tedious 95% of the conversion while leaving the final 5% for manual adjustment. It will be published as a versioned library on Maven Central.
More to Follow
These initial releases are intended as the start of an ongoing effort rather than a one-time announcement. Slack plans to publish additional projects when it makes sense, and the broader message is an encouragement for other teams to adopt similar practices. Shared visibility into how general-use tools are developed can help the entire ecosystem avoid duplicated effort. Slack is also hiring engineers interested in doing this kind of public development work.



