Appwrite Loves Open Source: Why I Chose To Support Lazygit & Lazydocker
Tags: opensource, appwrite, docker, lazydocker
Published: 2021-06-23 17:29:52

Open-source is at the ❤️ of everything we do at Appwrite, and we want to enable and foster the open-source community that helped us grow to nearly 10,000 stars on [GitHub](https://github.com/appwrite/appwrite). Open-source projects, though, require a great deal of effort to maintain and grow. We use open-source tools every day to build Appwrite, and we want to help our community. To give back, each Appwrite engineer gets to pick an open-source project for Appwrite to sponsor for one year. 

> We're building Appwrite, an open-source Backend-as-a-Service (BaaS), packaged as a set of Docker microservices, to give developers of any background the tools necessary to build modern apps quickly and securely. Come chat with us on Discord.

## Git and Docker Are Hard

I like terminal apps for the same reason I prefer Vim in a `tmux` session over VSCode: I need a simple, fast interface to complete my job quickly. [Docker](https://www.docker.com/) 🐋 and [Git](https://git-scm.com/) are ubiquitous in the development world, but just like Vim, take a lot of effort to learn all of the power they offer. In short, `git` and `docker` are _hard_. 🤕 [What’s a rebase?](https://stackoverflow.com/questions/804115/when-do-you-use-git-rebase-instead-of-git-merge) [What’s that command to shell into a container?](https://stackoverflow.com/questions/30172605/how-do-i-get-into-a-docker-containers-shell) [How do I resolve a merge conflict?](https://stackoverflow.com/questions/161813/how-to-resolve-merge-conflicts-in-git-repository) If StackOverflow is any indication, these tools are _confusing_ at least. 

Docker and Git are wonderfully powerful CLI tools, but I have to _remember which command to use_. 🤔 Even more, I only have access to the information I specifically request, which slows my workflow. To assist in development, I reach for the wonderful [`lazygit`](https://github.com/jesseduffield/lazygit) and [`lazydocker`](https://github.com/jesseduffield/lazydocker), both developed by Jesse Duffield. They’re both written in Go and each provide a mouse-friendly terminal interface 🖥️ to work with `git` repositories and `docker` environments. They’re most impressive in action:

### Lazygit
![Lazygit](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/osvuvnsbhzyaleozcclu.png)

### Lazydocker
![Lazydocker](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k0xerndeaqq2aadqm8qh.png)

Both of these products have helped me save loads of time ⌛ and effort while traveling my path as a developer. If you're new to `git` or `docker`, or are just a bit lazy like I am, check out these products for yourself. 

## Open-source Software (OSS) Is Hard

Since Appwrite is open-source, we understand the challenges that OSS projects face. If you fall in love ❤️ with an open-source project (like we have), consider checking out ways to contribute. Most OSS projects happily accept contributions in their own way, whether they be in the form of commits, bug 🐛 reports, advocacy, or even monetary 💰 support. If you love `lazygit` and/or `lazydocker`, consider joining us as a [GitHub Sponsor](https://github.com/sponsors/jesseduffield). Or, if you're interested in contributing to Appwrite, check out our [contribution guide](https://github.com/appwrite/appwrite/blob/master/CONTRIBUTING.md).

## Learn more about Appwrite

Check out Appwrite as the backend for your next [web](https://appwrite.io/docs/getting-started-for-web), [Flutter](https://appwrite.io/docs/getting-started-for-flutter), or [server-side](https://appwrite.io/docs/getting-started-for-server) application. Here are some handy links for more information:

- [Appwrite Contribution Guide](https://github.com/appwrite/appwrite/blob/master/CONTRIBUTING.md)
- [Appwrite Discord](https://appwrite.io/discord)
- [Appwrite Github](https://github.com/appwrite)
- [Appwrite Documentation](https://appwrite.io/docs)