A Tour Around The Community: 20+ Tools To Run An Open-Source Project

8 min read Original article ↗

KusionStack

In the heart of software world, finding the right set of tools is essential like a cup of coffee on a Monday morning. As participants of the open source community, we too are on a constant journey to look for some of the best and brightest tools, ensuring our project rolls forward while remain transparent, organized, and well-communicated.

We are a small team with 7 people running the open source project KusionStack, but we try to juggle with an arsenal of community tools to help make it possible. They range from Git, which keeps our code as organized as a cat herder’s dream, to Slack and WeChat, the digital equivalent of a water cooler for real-time banter and brainstorming. Let’s take a tour!

Press enter or click to view image in full size

Tools used in running our open source project

Research and Development

GitHub — Source Code Management

GitHub is home to the world’s largest open-source community and without doubt the de-facto choice to host your source code. The rich toolset in its ecosystem is also extremely powerful, which we will cover later in this article.

GitHub Actions — CI/CD

Before 2018, if your GitHub repo needed a CI/CD pipeline, you might have to go with third-party services like Travis CI or Circle CI. However, since the inception of GitHub Actions, it has become quite the obvious choice. GitHub Actions can do quite a lot; we use it to set up automated pipelines for all KusionStack projects, covering code scanning, unit testing, E2E testing, compliance checks, security scans, builds & releases, and much more. GitHub Actions is also free for public repositories.

Press enter or click to view image in full size

CI Pipeline

GitHub Projects — Project Management

GitHub Projects is a project management tool to help teams better organize, track, and collaborate. For small teams that revolve around GitHub, using GitHub Projects is a natural choice for project management. We’ve established an iterative Agile workflow based on it: Discover requirements -> Create issues -> Associate with projects -> Estimate efforts -> Work on the issues -> Review & schedule work within 2 week iterations. A very simple yet effective loop.

Press enter or click to view image in full size

Our Q1 Board

Docusaurus — Website building

Press enter or click to view image in full size

kusionstack.io homepage

Algolia — Documentation Search

Algolia provides professional document search, and enabling it in Docusaurus is as simple as adding a block of configuration.

Press enter or click to view image in full size

Vercel — Website Hosting

Our website is hosted on Vercel. We’ve started with GitHub Pages, but the connectivity from China was not satisfactory most of the time. We then went for Vercel which provides a better experience overall. Vercel offers a free tier for hosting static sites. During deployment, it detects the framework and loads the corresponding configuration accordingly. Deployment took less than 3 minutes and it’s quite seamless.

Get KusionStack’s stories in your inbox

Join Medium for free to get updates from this writer.

There are two GitOps features that we fancy the most (As a platform engineering product, we are shooting for the same kind of smooth experience for developers):

  1. When a PR is initiated, Vercel generates a preview link and adds it as a comment to the PR, allowing you to inspect the changes preemptively.
  2. After the PR is merged, Vercel automatically initiates a deployment with the latest version on the main branch, presenting a true GitOps experience.

Press enter or click to view image in full size

A generated preview link in the PR comment

Analysis and Insights

Google Analytics — Traffic Analysis

Docusaurus supports integration with Google Analytics with a plugin. Once enabled, we can have access to the comprehensive reports in Google Analytics to track and analyze metrics for our website. This includes counting PV/UVs, tracking traffic sources, analyzing geographical patterns, collecting user satisfaction rates, etc. These metrics equipped us with better decision-making and the ability to locate areas of improvement based on real user feedback.

Press enter or click to view image in full size

Google Analytics for kusionstack.io

Github Insight — Repository stats

GitHub has built-in repository statistics, including metrics such as clone count, visitors, referring sites, and other simple indicators.

Press enter or click to view image in full size

GitHub Insight for kusionstack.io

OSS Insight — In-depth Developement Insights and Intelligence

OSS Insight is a well-known open-source insight tool by PingCap, providing comprehensive and rich metrics include GitHub star analysis, issue & pull request analysis, contributor analysis, and much more.

Press enter or click to view image in full size

OSS Insight for the KusionStack org in Github

DingTalk & GitHub Webhook — Notification and Alerts

We use DingTalk bot to subscribe to GitHub Webhook for the real-time updates of development activities such as PR and issue openings, comments, CI statuses, approvals and merges, etc.

Press enter or click to view image in full size

A sample of the notifications triggered by GitHub events

Qii404/gra.caldis.me/grev — Artifact download details

We have also used a few small open-source tools to monitor artifact download details and track download counts for each version. Here are the couple ones we’ve tried:

Press enter or click to view image in full size

Using grev to analyze download stats for the kusion repo

Feedback-widget — User Satisfaction Metrics

After a major product change last year, we were wondering whether our updated documentations were actually helpful for the users. So we’ve turned our head to a simple “thumbs-up-thumbs-down” widget. Docusaurus does not have built-in support for this, but luckily it’s flexible enough. We wrote a plugin in a bit of React code with the icing on the cake that each article can be individually tracked and reflected in Google Analytics. When users click the “Like” or “Dislike” buttons at the bottom of the doc, these events are tracked and can be seen later in the Google Analytics console.

Press enter or click to view image in full size

The feedback widget

Press enter or click to view image in full size

User stats in Google Analytics

Community Engagement and More…

Medium — Blogging

If you are wondering where that is, you are in the right place! We publish updates of KusionStack here on a regular basis. The “Blog” button on kusionstack.io also redirects to this Medium profile.

Reddit — Community engagement

We sometimes find interesting and insightful exchange of ideas on Reddit that are fairly technical. Some of the most active subreddits we post in are r/kubernetes, r/cloud, r/platformengineering and r/devops.

Press enter or click to view image in full size

Posting in r/kubernetes

Hacker News — Community engagement

Hacker News is another well-known technical forum in the community. Despite its simple and old-fashioned appearance reminiscent of the Bulletin Board System from the old times, it is filled with hardcore and insightful content. We are also actively participating in those discussions.

Wechat — IM and Blogging

The most widely used IM tool (and much more than that!) in China is WeChat. We are managing a number of WeChat groups to actively communicate with users and contributors of KusionStack. We also post Chinese version of our blogs to the media platform on Wechat.

Slack — IM and Discussions

Slack is another IM tool we use to keep in touch with the International users and participants of the KusionStack community. We also maintain connections with several relevant communities, like the Platform Engineering community, the CNCF community, etc.

DingTalk — IM and Internal Meetings

Internal team communication and meetings are done using DingTalk.

Tencent Meeting — Community Meetings

Bi-weekly community meetings are done using Tencent Meeting.

Stable Diffusion XL — Design

We have also experimented with generative AI to help design our mascot. Even though we didn’t eventually adopt it, inspired us a great deal and let those of us without artistic talents to experience some joy of creation. We iterated based the SDXL generated images and fine-tuned the details, adjusting colors, changing expressions, even adding some unique elements. There’s even a cool coral on a motorcycle wearing sunglasses!

Here are some of the design SDXL came up with:

Press enter or click to view image in full size

Cute, isn’t it?

Press enter or click to view image in full size

A cool coral on a motorcycle wearing sunglasses

ChatGPT — Coding, Design, Translation, and Everything Else

The unleashed power of ChatGPT is no longer a secret. We’ve used it for administrative tasks like writing unit tests, code optimizations, internationalization of documents/articles and such. We have also experimented with using LogoCreator from GPTs to design a logo(we didn’t use it eventually). Even the thumbnail of this article is generated with DALL·E. We are continuing to explore more possibilities to extract more productivity using AI.

Here’s one of the logos it created using the LogoCreator:

Press enter or click to view image in full size

One of the design attempts