<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hello,</p>
<p>I recently saw your GiveUpGithub page and wanted to share some of
my thoughts/experiences and contribute an idea that, at least for
me and my repositories, would be a very large encouraging factor
in favor of abandoning GitHub.</p>
<p><b>Some background:</b> I have been a GitHub user for pretty much
the entire time I have been developing software and am definitely
not a fan of the direction that things seem to be heading. In
addition to the many reasons on the site, I would also like to add
that while on the site the other day, I <i></i>recently noticed
that they had a blog post
(<a class="moz-txt-link-freetext" href="https://github.blog/changelog/2022-06-28-transitioning-from-mapbox-to-azure-maps">https://github.blog/changelog/2022-06-28-transitioning-from-mapbox-to-azure-maps</a>)
discussing a change they were making on behalf of all their users
(except their Enterprise Cloud customers) that would replace Map
Box maps with Azure maps. While not as egregious as other actions
they have taken, this in particular put a bit of a sour taste in
my mouth as this appears to me to be a strong signal that they are
no longer the community-supporting organization and are instead
turning their octopus tentacles inwards to put up barriers around
their platform.</p>
<p>I have considered switching to other platforms in the past,
particularly when GitHub was acquired, but I hesitated a bit too
long and never went through with it. I had some secondary concerns
relating to the time and effort it would take to migrate not only
the repository (issues, project boards, repository descriptions
.etc) but also the projects themselves (updating README's,
re-releasing libraries to update the URL and README's there .etc)
as well as various communities associated with them (i.e. GitHub
pages hosted sites without a custom domain). Thankfully these
concerns are less of an issue as many of my projects are
comparatively small.</p>
<p>My primary concern with switching was repository discoverability.
As GitHub is the biggest code-hosting platform, I have almost
always deferred to it as a way to find open source alternatives to
software since a search on their site was the most likely to bring
me what I wanted. I imagine this usecase for GitHub search is not
unique among GitHub users. With what i can only imagine is a
pretty huge number of people relying on the GitHub search box,
simply being on GitHub gives you a far better chance of being
caught up in someones search than any other code hosting platform
(as far as I'm aware, please prove me wrong here).<br>
</p>
<p><br>
</p>
<p><b>The idea:</b></p>
<p>Based on my experience, I believe the best way to encourage
people to switch is to:</p>
<ol>
<li>create a FOSS (obviously) universal search service covering as
many of the free public facing source-hosting providers/forges
out there as possible</li>
<li>provide these forges with the means/tools to create simple,
1-click migration options. Maybe this is tools that work with
GitHub's API to extract data not stored in a repo (like
descriptions, issues, discussions, and project cards) or maybe
its a tool to help you update the URL's in your repository, or
sync your repo with GitHub to ease the transition. In any case,
I am considering this out of scope for the sake of the length of
this email.</li>
</ol>
<p>In discussing with some groups I'm in, I believe there may
already be some prior art on the topic of #1. If you know of
anything else, I'd love to hear about it:</p>
<ul>
<li><a class="moz-txt-link-freetext" href="https://grep.app/">https://grep.app/</a> - appears to be an alternative GitHub search
tool and pretty much spot on as far as the idea in my head. No
apparent source is available though</li>
<li><a class="moz-txt-link-freetext" href="https://github.com/hound-search/hound">https://github.com/hound-search/hound</a> - a search service - I
don't know much about this but it could be good as a candidate
for the "engine" that actually does the search</li>
<li><a class="moz-txt-link-freetext" href="https://github.com/livegrep/livegrep">https://github.com/livegrep/livegrep</a> - another "engine"
candidate</li>
</ul>
<p><br>
</p>
<p>While fundamentally different from the core idea, I have also
seen platforms that aim to surface projects in some particular
category. This can vary based on the platforms goals, but includes
things like:</p>
<ul>
<li><a class="moz-txt-link-freetext" href="https://ovio.org/">https://ovio.org/</a> - aims to promote projects that are in need
of contributors</li>
<li><a class="moz-txt-link-freetext" href="https://civictech.guide/">https://civictech.guide/</a> - "the world’s biggest collection of
projects using tech for the common good"<br>
</li>
<li>pretty much any of the "awesome lists" and similar curated
projects that exist, see <a class="moz-txt-link-freetext" href="https://project-awesome.org/">https://project-awesome.org/</a> for a
bunch of them. Things like <a class="moz-txt-link-freetext" href="http://arewelearningyet.com/">http://arewelearningyet.com/</a> also
fall into this group</li>
</ul>
<p>There are probably many others like this as well. I think these
sites can also be useful data sources, but will need
(comparatively) a lot more work to ensure that only projects with
source code available (or strictly FOSS if you prefer) make it to
the site.<br>
</p>
<p>Overall I would be very interested in building what is
essentially a web-crawling-and-indexing system for Open source
and/or FOSS projects to allow people to maintain (or better yet
improve) the discoverability of their project and make it easier
to find other peoples work to build on top of.<br>
<br>
So far this is just an idea, and at this point here are some of
the questions on my mind:<br>
</p>
<ol>
<li>What is the goal of this project? Is it to provide a good
non-github search? to provide the best cross-platform repository
indexing service? to be a search engine for FOSS projects?</li>
<li>How connected to the GiveUpGithub effort should the project
be?<br>
</li>
<li>Given the answer to #1, since GitHub is itself a code
forge/hosting platform, should GitHub repositories be indexed?</li>
<li>If GitHub repositories are indexed, could there be measures
taken that also preserve the mission of GiveUpGithub? like
de-prioritizing GitHub repos over others, or allowing
self-hosters to customize the results their instance serves?<br>
</li>
<li>If GitHub repositories are not indexed, would this action be
unfairly detrimental to users who host their projects on GitHub
or to users who dont care about the ideas behind GiveUpGithub
and just want to find repositories? <br>
</li>
<li>Would it be better to design the site in a centralized (i.e.
search engine) or decentralized (federation of some kind idk)
way? <br>
</li>
<ul>
<li>would a federated design make it harder for users if many
instances exist with differing result quality?</li>
<li>could a federated design give instances the power to
essentially access the same global set of results, but allow
them to filter it how they want (i.e. if one instance wants to
search everything, and another wants only FOSS or only source
available repositories)</li>
</ul>
<li>What are the moderation needs of such a platform? how can this
be dealt with sustainably?</li>
<li>How can this entire project be sustainable as far as hosting
costs, compensating contributors .etc?<br>
</li>
</ol>
<p>While the initial concept of the project is based on the premise
of allowing people to give up GitHub, I believe staying
open-minded and thinking of all use cases, even those of people
who don't agree with GiveUpGitHub, is the best way to approach,
regardless of the specific outcomes of these decisions.</p>
<p>Being able to build on top of the work of others is pretty
fundamental to the world of open source and has saved me so much
time that I would have spent reinventing the wheel had I not found
someone else who had done it (or something similar) before me. I
would dearly love to live in a world of near-perfect code
discoverability where anyone who can benefit from my code (or the
code of others) is able to find it and use/build upon it instead
of starting from scratch.<br>
</p>
<p>While I don't have the time to single-handedly develop my
interpretation of what something like this might look like, I'd
love to contribute what I can to a group effort of some kind to
help make something similar to this happen. <br>
</p>
<p>Hope this email wasn't too long or incoherent,<br>
Adrian<br>
</p>
<p><br>
</p>
<p><br>
</p>
</body>
</html>