Developing in the Open

We use plenty of open source tools at Slack and we’ve benefited immensely from the wider Android, Kotlin, and Gradle communities. We also try to be good citizens by giving back. This includes things like sponsoring the Kotlin Lang Slack, contributions to projects we use like Anvil and Insetter, sharing projects of our own like…

Zac Sweers
4 min readintermediate
--
View Original

Overview

The article discusses Slack's commitment to open-source development, highlighting the benefits of sharing tools and libraries with the community. It emphasizes the importance of public repositories for knowledge sharing, community feedback, and enhancing the open-source exposure for Slack employees.

What You'll Learn

1

How to contribute to open-source projects effectively

2

Why developing tools in the open can enhance community engagement

3

When to create public repositories for internal tooling issues

Key Questions Answered

What are the goals of developing in the open at Slack?
The goals include creating public repositories to reproduce internal tooling bugs, enhancing knowledge sharing within the community, receiving feedback from experts, and increasing open-source exposure for Slack employees. This approach aims to leverage community insights while contributing back to the open-source ecosystem.
What new open-source projects has Slack released?
Slack has released two new open-source projects: 'slack-lints', a repository of common lint checks for their codebase, and 'auto-value-kotlin', an extension to convert AutoValue classes to Kotlin data classes. These projects aim to streamline development processes and improve code quality.

Technologies & Tools

Some links below are affiliate links. We may earn a commission if you make a purchase.

Programming Language
Kotlin
Used in the development of Android applications and tools at Slack.
Build Automation
Gradle
Utilized for building and managing dependencies in Slack's Android projects.

Key Actionable Insights

1
Consider creating public repositories for internal tools to facilitate bug reporting and community feedback.
By making internal tools public, teams can reproduce bugs more easily and receive valuable insights from the community, which can lead to faster resolutions and improved tooling.
2
Engage with the open-source community by sharing your projects and participating in discussions.
Active participation in the community not only helps in gaining feedback but also fosters collaboration, which can enhance the quality of your projects and build relationships with other developers.

Common Pitfalls

1
Failing to engage with the community can lead to missed opportunities for feedback and improvement.
Without community interaction, teams may continue to face the same issues without realizing that external insights could provide solutions or improvements.

Related Concepts

Open-source Development Practices
Community Engagement Strategies
Internal Tooling And Bug Reporting