Monero Observer – CT-005: Contributing to Monero anonymously

Monero Observer – CT-005: Contributing to Monero anonymously

Monero
November 15, 2022 by keithhill530
136
[ad_1] 14 Nov 2022 [CT] [guides] This is the 5th report in the new Cypherpunk Transmission series. Motivation Anyone can anonymously contribute code to the Monero software. Although the project’s centralized Git repository is currently hosted on Github, an account is not required to submit a patch. Git is a distributed version control system and
ct-005-contribute-monero-anonymously.png

[ad_1]

14 Nov 2022

[CT]

[guides]

This is the 5th report in the new Cypherpunk Transmission series.

Motivation

Anyone can anonymously contribute code to the Monero software. Although the project’s centralized Git repository is currently hosted on Github, an account is not required to submit a patch.

Git is a distributed version control system and its design allows development to continue uninterrupted by any Github outages, errors and potential bans.

This is not a version control or C++ programming guide. Instead, it should serve as a reminder that Git is not Github, and anonymous contributions to Monero are indeed possible and welcome.

Assumptions

  • git is installed on your system
  • you already have a copy of the latest monero software on your system (CT-002)
  • basic terminal, git knowledge

1. Configure Git identity

Let’s first set up your well-known alias (the name and email) that will be baked into your commits.

Open up a terminal in your local monero repository directory and type in:

git config user.name "Anon5589"
git config user.email "anon5589@inter.net"

Note: replace name and email accordingly; optionally use the --global flag if you want to set up a global identity, for all projects.

A quick git config --list should now output:

user.name=Anon5589
user.email=anon5589@inter.net

The settings are saved in .git/config.

2. Make a change

Assuming you have updated the copyright year in README.md, you can add the modified file to the index and create a new commit:

git add README.md
git commit -m "README: update copyright year"

Note: display the commit logs with git log.

3. Prepare the patch

git format-patch HEAD -1 --stdout > new-update.patch

cat new-update.patch to see the formatted patch for the last commit. Output should be similar to this:

From 13f5aff0990a61cba2381e11d6fa7dd351b1290c Mon Sep 17 00:00:00 2001
From: Anon5589 <anon5589@inter.net>
Date: Mon, 14 Nov 2022 14:12:00 -0700
Subject: [PATCH] README: update copyright year

---
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README.md b/README.md
index 0ab1a8f31..dd02c2e10 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
 # Monero

-Copyright (c) 2014-2022 The Monero Project.
+Copyright (c) 2014-2023 The Monero Project.

 ## Table of Contents
-- 
2.38.0

4. Send the patch

Post the patch to any pastebin site that is JS-free and select a long timeout/expiration date.

While you could send the patch via email, it is recommended to share the pastebin link in the #monero-dev chatroom to avoid delays.

All you have to do now is to wait for feedback from the community.

Observations

  • patches should be self contained (one patch per separate issue, feature, or logical change)
  • use descriptive commit messages
  • squash (merge) related patches whenever possible
  • it is recommended to PGP sign commits
  • read CONTRIBUTING.md to learn more about the process
  • adapt this to your own threat model/workflow (ie. use tor to download source, share patch;)

That’s it. You can now start contributing to Monero anonymously, without a Github account.


Feedback

Let me know if you find this helpful and, depending on interest, I will do my best to post a new Cypherpunk Transmission report every (other?) Monday.

Questions, edits and suggestions are always appreciated @ /about/.

-3RA

Credit goes to gnuteardrops from monero.graphics for the amazing xkcd graphic. Work and xkcd Script font licensed under CC BY-NC 3.0.


[ad_2]

Source link

Add a comment

You have not selected any currencies to display