All Rights Reversed: Tally is Now Open Source!

All Rights Reversed: Tally is Now Open Source!

TL;DR

  • The Tally extension is now open source!
  • We’re using GPLv3, a license that puts public goods before corporate profit
  • You can find all extension code + contribution info here on GitHub

Motivation

With Tally, we set out to build a free, open source, and community owned wallet. That’s why, ahead of the wallet’s official release, we’re proud to release our code under the GNU General Public License v3. Software freedom underpins community ownership, and GPLv3 is the strongest statement we can make about our commitment to free software. You can find Tally’s software license here.

A community-owned wallet for the open internet
Tally is a community owned and operated Web3 wallet, building off the road the early MetaMask team paved for the Ethereum community.

The GNU General Public License is the definitive ‘copyleft’ license (as opposed to ‘copyright’ 🥁😬), and includes the strongest protections under law to ensure that Tally—and all the code we write as a community—remains free.

Here’s what this means for you:

  • Tally will always be open source. Choosing to license the wallet as GPLv3 ensures that Tally will stay free and open source — whether or not that’s convenient for development teams. Open source projects have a history of changing their minds when a developer’s interests conflict with users' interests... and as an open source project and growing community, we reject that users should “just trust us.”
  • Tally will remain composable. Composability has been a a key ingredient to the success of DeFi and Web3. We believe users’ rights to compose and remix their wallet should be irreversibly guaranteed. You, the community, will always be able to poke around, build, and use any part of the Tally source code to make the wallet better for everyone, period.
  • Any project that uses Tally’s codebase must also be open source. If another wallet forks Tally or uses Tally’s code, that wallet can’t have a closed license—it needs to be open source. This guarantees that Tally’s solutions are always part of an open source context and others can’t steal the value that is created by our community. Everything built with Tally inherits our commitment to open source software and community ownership.
  • The upcoming Tally DAO will have a say. Because the GPLv3 is incompatible with certain software distribution channels like the iOS App Store, additions to the license will allow the DAO  to relax the GPL’s distribution restrictions. This means the DAO — not developers under pressure to show profits — will decide who may deploy the wallet to major outlets.

Why does this matter?

👉 If you’re a developer who contributes to Tally, your work will benefit the whole world and remain free ... rather than being exploited by for-profit software companies. This is important because, sadly, large corporations regularly take from the open source community without giving back.

Imagine being a contributor to an open source project... only to have your work switched to a “tiered proprietary license” with the “entire codebase [being] owned by ConsenSys.” Or consider the experience of former Goldman Sachs programmer Sergey Aleynikov, who was *twice* prosecuted and *twice* acquitted for copying “proprietary” Goldman code:

“He discovered, to his surprise, that Goldman had a one-way relationship with open source. They took huge amounts of free software off the Web, but they did not return it after he had modified it, even when his modifications were very slight ... Later, at his trial, his lawyer flashed two pages of computer code: the original, with its open source license on top, and a replica, with the open source license stripped off and replaced by the Goldman Sachs license.” (Michael Lewis, 2014)

Our license means this can’t happen with Tally. Goldman or JP Morgan will have to go fork someone else.

Build With Us

First things first: Tally is currently in pre-alpha!

We are getting the Tally extension code into your hands ASAP.

Naturally, this means the code is still early. If you build Tally locally, know that it is definitely not ready to store live funds. Got it?—okay, moving on.

Here are the repos we’re opening:

  • tally-extension - The entire Tally browser extension
  • hd-keyring - Code involved in generating, storing, and managing key material

In the weeks and months ahead, we’ll be sharing more detailed information about the community’s roadmap. Keep your eyes peeled for items like hardware wallet integration, Layer 2 support, gas optimizations, and other features.

As our engineers sprint towards a first release, we’ll be accepting bug fixes but will be largely staying focused on our remaining TODOs until early 2022. We’ll keep track of any larger contributions from the community so we can discuss them once we have the wallet in everyone’s hands!

🤓 If you're a developer - Feel free to jump in! Check out our CONTRIBUTING guide for info on how to get started. If you’re not already in the shadowy-super-doggos room in our Discord, you’ll definitely want to join there as well 🕵️ 🐶.

👀 If you're a dapp or have a knack for hardware wallets - Drop us a line on  Discord! We'd love to learn more and introduce you on a community call (our last had over 600 attendees!).

👋 Not a developer? Not to worry! You can join Discord, hop in feature-requests, and tell us how we can build your favorite Web 3 wallet together.

And stayed tuned! We'll have more exciting community developments in the weeks ahead.