~technomancy/fennel

6 3

Moving off GitHub & renaming main development branch

Details
Message ID
<BN6PR1001MB20671543CBC3BC414ADE476EAE720@BN6PR1001MB2067.namprd10.prod.outlook.com>
DKIM signature
fail
Download raw message
DKIM signature: fail
In light of GitHub's repeated refusals to divest themselves from ICE
(see [1]), i think it's past time we move language development to a
platform that does not go out of its way to support concentration
camps.

Other (much less important) reasons to move include GitHub's
acquisition by Microsoft, its lack of syntax highlighting for Fennel
code, and the fact that GitHub issues cannot be easily migrated to
another platform.

The logistics of such a move would include some of the following
concerns:

- We would need another location for the wiki. The actual data in the
  wiki is already available as a Git repo, so it can be easily
  migrated somewhere else. Hosting this under fennel-lang.org somehow
  would be ideal, but i don't know what that would entail. We might
  want to look at https://github.com/gollum/gollum, which "strives to
  be compatible with GitHub wikis". Migrating to an entirely separate
  wiki system would also be an option, since the wiki is pretty small.

- We would probably want somewhere other than the mailing list to do
  code review and bug reports. (We can still accept them from GitHub
  users, but i'd like to see us have an alternative that's usable by
  people who aren't email nerds).

- It looks like we're not currently using GitHub's "releases" or
  "actions" features.

i think we could pretty easily move most development discussion and
bug reports to another platform, while still keeping the issues open
so we still get all the bug reports we can. The question is then which
platform?

- sr.ht already hosts the mailing list and a copy of the repo, but it
  is not a particularly easy to use system for people who aren't used
  to mailing list development or bug reporting. In particular, i think
  we should have a replacement to GitHub Issues that is similarly easy
  to use.

- GitLab is an obvious alternative, but its frontend is JS-heavy
  (which is both annoying to certain users and inaccessible to others
  - for instance, users on smartphones and tablets that have trouble
  coping with GitLab's frontend).

- i haven't used Gitea or Gogs, both of which are self-hosted, but
  they are also options.

- A standalone Discourse instance could probably serve as a
  replacement for Issues if we wanted to pursue
  self-hosting that but not Git.

What other alternatives should we consider moving to? In an ideal
world, i feel like we would have everything (including the mailing
list, btw) available under fennel-lang.org rather than relying on
third-party URLs [2], but i realize that might involve a lot of time
investment from what is still a pretty small (but lovely) community.

i also suggest we adopt "main" as our primary development branch
instead of its current name. Doing both this and moving off GitHub
at the same time would be the least hassle for users, in my opinion.

- benaiah

[1]: https://github.com/drop-ice/dear-github-2.0

[2]: We could still use third-party providers for a lot of things, but
     running them thru the fennel-lang.org domain lets us change them
     out without every user having to migrate (and many of them
     inevitably choosing not to bother)
Details
Message ID
<87lfj49t0q.fsf@hagelb.org>
In-Reply-To
<BN6PR1001MB20671543CBC3BC414ADE476EAE720@BN6PR1001MB2067.namprd10.prod.outlook.com> (view parent)
DKIM signature
missing
Download raw message
Benaiah Mischenko <benaiah@mischenko.com> writes:

> In light of GitHub's repeated refusals to divest themselves from ICE
> (see [1]), i think it's past time we move language development to a
> platform that does not go out of its way to support concentration
> camps.

I would like to see this move happen, but of course I want to hear other
peoples' input as well. I think there's really four concerns we should
talk about that can mostly be considered independently:

A. the location of the canonical git repository
B. where users go to report issues
C. how we accept code contributions
D. the wiki

The first is actually really easy to change with next to no
repercussions; I already have a mirror I've been pushing to at
https://git.sr.ht/~technomancy/fennel and this would mostly involve
updating remotes, changing links in various pieces of documentation, and
pushing a notice to the github repo indicating that it is now used as a
mirror of another repo rather than being the canonical one.

One interesting point is that if the repo is considered on its own,
where it's hosted is honestly not that important, because the only thing
you would use the web UI for is when you need to share a reference to a
particular piece of code; similar to how you would use a pastebin.

The question of issues and patches are the most complex because of the
strong network effects. For a long time we've requested contributions as
patches to the mailing list but said "or you can also submit them using
github" and basically everyone so far has used github.

Maybe it's helpful to consider issues and patches separately here? I'm
honestly not sure, but I know for a lot of people, the idea of having to
create another account just pushes it into the "I can't be bothered" zone.
So I think there's a pretty strong case to be made for continuing to
accept things from github but just treating it as non-canonical. This
might mean giving up the big green merge button on PRs and handling
those pull requests as Actual Pulls, which is a very minor inconvenience.

> - sr.ht already hosts the mailing list and a copy of the repo, but it
>   is not a particularly easy to use system for people who aren't used
>   to mailing list development or bug reporting. In particular, i think
>   we should have a replacement to GitHub Issues that is similarly easy
>   to use.

Sourcehut has an issue tracker here: https://man.sr.ht/todo.sr.ht/
It is very fast and supports labels but not milestones. One interesting
thing is that there is a mention here of supporting anonymous users:
https://man.sr.ht/todo.sr.ht/

If we can accept bug reports without requiring signup, that might be a
good option. I'll see if I can find more details about the anonymous mode.

> - GitLab is an obvious alternative, but its frontend is JS-heavy
>   (which is both annoying to certain users and inaccessible to others
>   - for instance, users on smartphones and tablets that have trouble
>   coping with GitLab's frontend).

I'm going to go ahead and veto GitLab here; I have used it for many of
my own personal projects, but it is VERY SLOW. I frequently run into
situations where I'm typing a comment and the text shows up lagging
behind my typing speed.

> - i haven't used Gitea or Gogs, both of which are self-hosted, but
>   they are also options.

I've used Gitea some. As a github clone it's quite good; dramatically
faster than GitLab and just as featureful in the areas we care about. If
we're using it for issues and pull requests, it has a pretty major
strike against us in that it requires anyone contributing to create Yet
Another Account. It also won't run on the hosting which currently
handles fennel-lang.org.

> What other alternatives should we consider moving to? In an ideal
> world, i feel like we would have everything (including the mailing
> list, btw) available under fennel-lang.org rather than relying on
> third-party URLs [2], but i realize that might involve a lot of time
> investment from what is still a pretty small (but lovely) community.

I think this is a good long-term goal. Not sure it's a great goal for
right away.

> i also suggest we adopt "main" as our primary development branch
> instead of its current name. Doing both this and moving off GitHub
> at the same time would be the least hassle for users, in my opinion.

Makes sense to me!

-Phil
Details
Message ID
<61c89151-48f1-8750-ff14-f1207e8c903f@gmail.com>
In-Reply-To
<87lfj49t0q.fsf@hagelb.org> (view parent)
DKIM signature
pass
Download raw message
Hey there,

Re: Moving away from GitHub

I am happy to see the initiative to move away from GitHub with all of
the ICE issues going on.

Re: Code hosting options

I'm just throwing this option out there for people to discuss or
investigate while looking for hosting locations:

https://codeberg.org/ seems to look like a possible free/libre candidate.

Re: branch naming

I also think moving to a more ethical branch name like "main" would be a
great thing to do.

I am a happy member of the Fennel community and just wanted to put my
voice out there regarding all of this.

-- 
Jesse Laprade/m455
He/They
Details
Message ID
<20200729191051.GB44075@walden>
In-Reply-To
<87lfj49t0q.fsf@hagelb.org> (view parent)
DKIM signature
missing
Download raw message
I haven't played an active role in Fennel development and have mostly
just accidentally clogged the mailing list with unsubscribe messages
(apologies about that), but I like Fennel, so figured I'd drop in
anyway.

I also support moving off GitHub.

> the only thing you would use the web UI for is when you need to share 
> a reference to a particular piece of code

In this case it makes sense for the web UI to be as out of the way and
lightweight as possible.  It looks to be the case that sourcehut is the
most likely contender; I like it because it works well in NetSurf, Lynx, 
and various other browsers outside of the big offerings.

> The question of issues and patches are the most complex because of the
> strong network effects. For a long time we've requested contributions as
> patches to the mailing list but said "or you can also submit them using
> github" and basically everyone so far has used github.

Drew of sourcehut has been making a lot of good resources to show people 
how to use an email-driven-development model.  I personally find the
system much easier to understand, but I guess it's a personal thing -
I'm not sure how many people would stop contributing if the system
changes but I don't think it'd really be a major setback in the long
term, especially considering the people I've seen who have an interest
in Fennel.

> Sourcehut has an issue tracker [...]
> If we can accept bug reports without requiring signup, that might be a
> good option. I'll see if I can find more details about the anonymous mode.

Bug reports can be sent to <~user/repo@todo.sr.ht>, just like the patch
system works.  One concern might be moving across any issues from
GitHub; if you want a canonical location, losing discussions to the
platform isn't great.

> I'm going to go ahead and veto GitLab here; I have used it for many of
> my own personal projects, but it is VERY SLOW. 

Seconded.

-- 
noah ~ distinctly.pink
Details
Message ID
<20200729191452.GC44075@walden>
In-Reply-To
<61c89151-48f1-8750-ff14-f1207e8c903f@gmail.com> (view parent)
DKIM signature
missing
Download raw message
> https://codeberg.org/ seems to look like a possible free/libre candidate.

Codeberg is a great project, but is still just a gitea instance, and so
as far as I can tell doesn't solve the previously mentioned Yet Another
Account issue, nor unify the mailing list location with the source code.

However if this is considered, I'd also suggest looking at Notabug.org;
I don't know of a huge number of differences between the two besides the
former being gitea based and the latter being gogs based, but it could
also appeal.

--
noah ~ distinctly.pink
Details
Message ID
<874kpnada4.fsf@hagelb.org>
In-Reply-To
<20200729191452.GC44075@walden> (view parent)
DKIM signature
missing
Download raw message
Noah Swainland <noah@distinctly.pink> writes:

>> https://codeberg.org/ seems to look like a possible free/libre candidate.
>
> Codeberg is a great project, but is still just a gitea instance, and so
> as far as I can tell doesn't solve the previously mentioned Yet Another
> Account issue, nor unify the mailing list location with the source code.

I think I may have overblown the importance of the account problem; so
far everyone who has spoken up has said that it would not be an
important consideration for them.

What I really like about Codeberg is that it seems to be structured as a
non-profit.

Between Gitea and Sourcehut it seems the biggest difference is just one
of familiarity; Gitea seems to want to bring the GitHub experience and
flow but without the proprietary, corporate bits, while Sourcehut wants
to go back to the basics and rethink how to facilitate project collaboration.

> However if this is considered, I'd also suggest looking at Notabug.org;
> I don't know of a huge number of differences between the two besides the
> former being gitea based and the latter being gogs based, but it could
> also appeal.

Cool; will take a look at that as well.

-Phil
Details
Message ID
<87y2ml6uex.fsf@hagelb.org>
In-Reply-To
<874kpnada4.fsf@hagelb.org> (view parent)
DKIM signature
missing
Download raw message
Patch: +5 -39
So far I've heard a lot of support for Sourcehut from the various
discussions we've been having. The biggest blocker was not being able to
change the default branch, but that was actually just fixed last week:

    https://todo.sr.ht/~sircmpwn/git.sr.ht/228

We will leave the GitHub issues and PR submission open for the time
being, but I think the best move forward is to make the primary
repository this one on Sourcehut:

    https://git.sr.ht/~technomancy/fennel

I've switched the CI config over to Sourcehut builds; it loads much more
quickly and is a lot more streamlined than the old CI:

    https://builds.sr.ht/~technomancy/fennel

I set up a provisional issue tracker; I wouldn't count this as the
canonical one yet because I've barely used it; I've just loaded up a few
issues from GitHub into it. Let's put it thru the paces and see how we
like it:

    https://todo.sr.ht/~technomancy/fennel

Any other considerations or concerns before I apply this patch?

-Phil

Update URLs to point to SourceHut.

Remove CircleCI config as it only works with GitHub; new CI is at
https://builds.sr.ht/~technomancy/fennel
---
 .circleci/config.yml | 34 ----------------------------------
 README.md            |  6 +++---
 fennel.1             |  4 ++--
 3 files changed, 5 insertions(+), 39 deletions(-)
 delete mode 100644 .circleci/config.yml

diff --git a/.circleci/config.yml b/.circleci/config.yml
deleted file mode 100644
index 26fb596..0000000
--- a/.circleci/config.yml
@@ -1,34 +0,0 @@
version: 2.1

orbs:
  windows: circleci/windows@2.2.0

jobs:
  build:
    docker:
      - image: debian:testing
    steps:
      - checkout
      - run:
          command: |
            apt-get update -qq && apt-get install -qq cloc make git \
              luajit lua5.1 lua5.2 lua5.3 lua5.4
      - run: make ci
      # Fail the build if the above command changed the checked-in .lua files
      - run: git diff --quiet
  windows:
    executor: windows/default
    steps:
      - checkout
      - run: choco install lua53
      - run: choco install make
      - run: make test LUA=lua53

workflows:
  version: 2
  all:
    jobs:
      - build
# Something wrong with make on Windows currently:
# https://app.circleci.com/pipelines/github/bakpakin/Fennel/320/workflows/75550128-9cdc-4afe-b2c4-9aa66d379eba/jobs/1032/steps
#      - windows
diff --git a/README.md b/README.md
index 9b28524..f504bf0 100644
--- a/README.md
+++ b/README.md
@@ -53,7 +53,7 @@ haven't been released, and makes contributing to Fennel easier.

1. `cd` to a directory in which you want to download Fennel, such as
   `~/src`
2. Run `git clone https://github.com/bakpakin/Fennel`
2. Run `git clone https://git.sr.ht/~technomancy/fennel`
3. Run `cd Fennel`
4. Run `make fennel` to create a standalone script called `fennel`
5. Copy or link the `fennel` script to a directory on your `$PATH`, such as `/usr/local/bin`
@@ -105,7 +105,7 @@ Lua is much more readily-available than it is for Fennel.
* Join the `#fennel` chat [thru IRC on Freenode][9] or [on Matrix][11]
* The [mailing list][5] has slower-paced discussion and announcements
* You can browse and edit [the Wiki][7]
* Build: [![CircleCI](https://circleci.com/gh/bakpakin/Fennel.svg?style=svg)][8]
* [Build][8]

## License

@@ -119,6 +119,6 @@ Released under the [MIT license](LICENSE).
[4]: http://luajit.org/ext_ffi_tutorial.html
[5]: https://lists.sr.ht/%7Etechnomancy/fennel
[7]: https://github.com/bakpakin/Fennel/wiki
[8]: https://circleci.com/gh/bakpakin/Fennel
[8]: https://builds.sr.ht/~technomancy/fennel
[9]: https://webchat.freenode.net/
[11]: https://matrix.to/#/!rnpLWzzTijEUDhhtjW:matrix.org?via=matrix.org
diff --git a/fennel.1 b/fennel.1
index 4ce7fc4..02eec02 100644
--- a/fennel.1
+++ b/fennel.1
@@ -92,11 +92,11 @@ close to Lua, so Lua's reference manual is helpful.
.SH COMMUNITY

The mailing list is at https://lists.sr.ht/~technomancy/fennel while
the issue tracker is at https://github.com/bakpakin/Fennel/issues.
the issue tracker is at https://todo.sr.ht/~technomancy/fennel.

.SH AUTHOR
Calvin Rose and contributors:
https://github.com/bakpakin/Fennel/graphs/contributors
https://git.sr.ht/~technomancy/fennel/contributors

.SH LICENSE
Copyright © 2016-2020, Released under the MIT/X11 license
-- 
2.11.0
Export thread (mbox)