
Sourcehut's Year in Alpha - ddevault
https://sourcehut.org/blog/2019-11-15-sourcehut-1-year-alpha/
======
mstade
I've been following this project a little bit and am very impressed with the
tenacity of its author. I'm a quite happy GitHub user, but I do want this
project to move forward and succeed so I'll be looking into moving over at
least some of my private company repos, and I signed up for the $100 / year
subscription.

I couldn't find a way to add company details however, which is a crucial
detail when expensing this sort of thing. Turns out you can add these details
when you download invoices, in a freeform textbox. So if anyone's thinking of
signing up and billing their company, make sure to add relevant details in
this box before downloading your invoice! It'd be nice if you could just save
this with the account so that when this eventually renews I can just be
emailed an invoice with the relevant details added. Another nice to have would
be the ability to assign a separate billing e-mail address.

Anyway, looking forward to making good use of this!

~~~
MisterOctober
Likewise here -- the company I'm at uses github, but I'm moving my personal /
side projects to SourceHut. I've really enjoyed the limited time I've spent
using it to date, especially the clean interface.

~~~
dkersten
Me too! I started using it after the Gitlab thing recently and I'm loving it
so far. I haven't moved everything over yet, but am slowly getting there. I do
miss some flashy features every so often, but I like what is there way more
than I miss what isn't, so I'm pretty happy overall.

------
robotmay
The most impressive thing about this for me is that Drew managed to work on
this for 2 years privately and actually get it out there. I'm lucky if I can
maintain concentration on a side-project for more than 2 weeks. To then have
it pass the first year mark of being a public alpha is a great achievement,
and it's an impressive service.

~~~
dmead
The guy has a tremendous amount of patience. Good work drew =)

------
asdkhadsj
Sidenote,

I've been focusing on a lofty personal project for some problems I'm solving
in my life, and hope to aid in solving for others. My project is primarily
focused on self-hosting, but I would like to offer hosting for those who do
not want to host.

Sourcehut is my inspiration for how to handle a FOSS + Hosted project. The
financial reporting, UI design, approach to development, all of it is stellar.

I don't currently use Sourcehut but it is a huge inspiration to me on how I
want to run my own non-profit aspirations. Thank you Drew. Really.

------
VictorSCushman
I've been a sourcehut user for about half a year now and I have to say that it
has been a breath of fresh air for me. I have used GitHub and GitLab for
years, and detest working with either. I know that both companies have a lot
of smart people behind them, but both GitHub and GitLab are horrendously slow
to use on my internet connection and packed to the brim with what I could
consider anti-features. With sourcehut I finally have a code hosting solution
that lets me focus on being productive.

~~~
jlarocco
Interesting - as much as I like sourcehut, my only complaint is that it's
noticeably slower than GitHub for me. It's not terrible, by any means, but
I've noticed it a few times when I push to both.

My guess is that I'm closer to a GitHub datacenter (or AWS region?) because
they have an office here in Boulder.

~~~
gbear605
Try again; Sourcehut just updated their pull/push logic to make it
significantly faster.

~~~
adyavanapalli
How recent was this?

~~~
ddevault
Yesterday.

~~~
izietto
First push and first pull have been slow here too (first pull was ~19s), but
now I'm getting reasonable timings (~2s)

~~~
ddevault
It's gotta warm up the cache. Glad it's working well now!

------
Nelkins
I love how snappy everything is. Sadly, I spend a not-insignificant portion of
my day waiting for Jira/Confluence to load. If this could replace that, I'd
really be so much happier.

Two suggestions I've got, just from a few minutes of browsing around:

1\. I'd like to see more screenshots/videos of features on the main page. Sure
I can explore around, but I'd prefer to just have it all laid out for me. I
thought the kind of content in the blog post would fit well on the
sourcehut.org page.

2\. On the subdomains, clicking "sourcehut" brings me back to the subdomain
page. I'd prefer if clicking "sourcehut" brought me to sourcehut.org, and
clicking the subdomain part brought me to the main subdomain page (so clicking
"git" would bring me to [https://git.sr.ht/](https://git.sr.ht/)). Just my
opinion of course, but it was a tad frustrating that once you click into a
subdomain, there's nothing to click to bring you back to sourcehut.org.

Great work! Looking forward to seeing this develop even more.

~~~
ddevault
Thanks for the feedback!

------
pm215
I'm amused that the example screenshot for lists.sr.ht is an email thread from
qemu-devel, because we had to ask the person who'd been gatewaying that list
to sr.ht to stop doing so: sr.ht bounces HTML email where qemu-devel does not,
so people posting to qemu-devel were getting complaining emails from sr.ht and
getting confused by them. A "no HTML" policy is fine if the list is hosted
directly there, but it doesn't really work if the sr.ht "list" has just been
subscribed to some other mailing list hosted elsewhere...

~~~
ddevault
Haha, yeah, sorry about that. I'd been working on first-class support for
mirrored mailing lists, but this guy just set this up on his own. I found it
because I was poking through the database for interesting patchsets to demo
the UI with. Didn't realize until later that it was causing you guys
headaches. Hope that all's well now.

~~~
pm215
Yeah, it wasn't a big deal at all; just struck me funny that that was the
example you ended up with. It might be interesting to see how qemu-devel looks
if/when you do get mirrored-mailing-list support. At the moment we use patchew
for that sort of 'web view of patches':
[https://patchew.org/QEMU/](https://patchew.org/QEMU/)

------
yjftsjthsd-h
One angle that I'm not sure sourcehut even _intends_ to address but am curious
how to idiomatically handle: artifacts. Right now I can (and do) host code in
(git|hg).sr.ht and make sure that it compiles with builds.sr.ht, but there
isn't an artifacts.sr.ht (and I understand not _intending_ there to be, unless
you charge by use and maybe not even then), but it would be nice if I could
have the full CI/CD pipeline on sourcehut, including building and publishing
final packages. So is the right way to do this to post artifacts to a third-
party store (ex. S3) and just stick required authentication in using the
secrets support in builds.sr.ht?

~~~
ddevault
This is actually planned to be supported soon. I recently provisioned a 64TB
NAS for the purpose of object storage. It'll support things like release
binaries, builds.sr.ht artifacts & build caches, a github pages-esque feature,
etc. I just need to figure out how the heck Ceph works.

~~~
rossmohax
Another way of doing it is to run minio federation , might be a worthy
alternative to Ceph, which has a reputation of hard to run product.

~~~
somacert
I thought ceph had a reputation of easy to run, at least compared to it's
rivals in the distributed storage space. (gluster, lustre, et al)

~~~
Operyl
Sure, but when you’re running a service you kind of want to know what you’re
running. I’m sure Drew is able to figure out the beginning rather easy, but
you kind of want to be able to see pitfalls and common misconfigurations etc.
It takes a bit of tinkering :).

------
juped
Sourcehut needs a graphical history view (akin to gitk or git log --graph; not
sure what the mercurial equivalent is, definitely NOT ANYTHING LIKE that
"network graph" github has) to be feature complete. I'd contribute but I have
more free money than free time; is there some kind of bounty program?

~~~
mikepurvis
Bitbucket's version of this is still my favourite. I love that it's just right
there in the all commits view:

[https://bitbucket.org/osrf/gazebo/commits/all](https://bitbucket.org/osrf/gazebo/commits/all)

Vs Github and GitLab where you have to go to a special separate network/graph
page to see it, eg:

[https://gitlab.com/gitlab-
org/gitter/sidecar/-/network/devel...](https://gitlab.com/gitlab-
org/gitter/sidecar/-/network/develop)

~~~
juped
Yeah, Bitbucket's view is just gitk on the web, which is exactly how I like
it.

~~~
Boulth
Wow, really beautiful! I wonder how do they do these graphs...

~~~
zokier
Here is one exploration of commit graph drawing:
[https://pvigier.github.io/2019/05/06/commit-graph-drawing-
al...](https://pvigier.github.io/2019/05/06/commit-graph-drawing-
algorithms.html)

discussion
[https://news.ycombinator.com/item?id=21079643](https://news.ycombinator.com/item?id=21079643)

~~~
juped
That repository maintainer should've octopus merged those commits in the
example...

------
aidenn0
I've been trialing src.ht off-and-on for the past year and it's been a joy to
see its steady progress from "git hosting I don't hate" towards something more
full-featured. Sometimes I feel like a curmudgeon for liking simple orthogonal
tools, since they are often unpolished and user-hostile, but sourcehut is
doing a lot to make something more polished and user-friendly without losing
the essence of what I like about these tools.

------
tyeager
As a new GitLab product manager, I was glad to see among the Updates that
dispatch.sr.ht can now build GitLab commits. And we are looking at the
mentioned GitLab bug ([https://gitlab.com/gitlab-
org/gitlab/issues/16491](https://gitlab.com/gitlab-org/gitlab/issues/16491))
to assess efforts to resolve; and unblock the ability to run build.sr.ht for
GitLab merge requests.

------
umvi
I read the landing page, but I'm still not quite sure what the product is. Is
it a GitLab competitor? That's what it seems to be seeing as it supports
hosted git repositories, CI, code review, etc.

I'm not sure what "Composable Unix-style mini-services" means.

~~~
ddevault
The mini-services part refers to the fact that each high-level feature - git &
hg repos, CI, bug trackers, etc - is implemented as its own standalone web
application. The composable part is that you can freely use them in concert
with each other to whatever extent is appropriate for your project. Consider
that on GitHub, GitLab, etc, one project == one git repo == one bug tracker ==
one path for merge requests == one wiki == etc. SourceHut's upstream codebase,
on the contrary, has several git repos, one mailing list, several CI configs,
N bugtrackers where N != nrepos, and so on.

------
jszymborski
Are there any plans to have a web interface for "git by email" contributions?
I think it's really cool to keep contribution decentralised, but it's also
nice to have a record on the web of the review process.

~~~
ddevault
Yep, this is planned and in-progress. You can now prepare patchsets on the web
for submission via email (check out the video near the top of TA), and code
review threads are parsed and shown on the web as well (see the screenshot
under the video). The plan is to keep improving this so that you can perform
code reviews on the web, which become emails under the covers, which will make
for a decentralized, email-based code review system which you can interact
with on the web in a fashion similar to GitHub or GitLab PRs/MRs.

~~~
jammygit
One of the things stopping me from using sourcehut is that people I’ve
partnered with recently for projects are intimidated by the email system. I
haven’t gotten a chance to try that flow yet because of that

I use it for a few solo projects though

~~~
namewasmypw
For what it's worth, you probably don't want to be working with people who are
intimidated by email.

~~~
sfink
It's not people intimidated by email. It's people intimidated by configuring
their system to programmatically send email.

Residential ISPs, for example, usually block smtp ports. You can send via
gmail, but that still requires some fiddly configuration. And at least the way
I figured out how to do it, it involves a cleartext password sitting on my
filesystem, which I'm not too happy about. (It's a password limited to sending
email as me, but that's kind of a big deal.)

I would much prefer to push patches to people's projects via my revision
control system. It's ok with me if that requires some sort of push-only
account.

~~~
u801e
> And at least the way I figured out how to do it, it involves a cleartext
> password sitting on my filesystem

git credential allows for programs to query it for credentials based on the
server you're connecting to and store it for a configurable period of time in
memory. So you don't have to store your password in the config file. You would
enter it on the command line when you invoke git send-email and if you run the
same command within the configured time period, you won't have to re-enter
your password.

------
mouldysammich
Setup builds.sr.ht for ci on a university project (unfortunately we have to
use github for the source hosting). It has been an absolute delight to work
with and for everyone on my to work with!

------
nbe
Happy birthday Sourcehut!

I'm curious about the builds API. I'm currently writing a terminal client
that, given a git repository, will list recent builds across multiple CI
providers, give access to build logs, etc. I'm interested in integrating with
Sourcehut.

Most CI providers have a REST API that allows listing the builds related to a
repository. The API reference for builds.sr.ht [1] does not list such a
functionality, however the website offers it (e.g. [2]). Did I miss something,
or is this not possible via the API? Are there plans to add this feature?

[1]
[https://man.sr.ht/builds.sr.ht/api.md](https://man.sr.ht/builds.sr.ht/api.md)

[2]
[https://builds.sr.ht/~sircmpwn/builds.sr.ht](https://builds.sr.ht/~sircmpwn/builds.sr.ht)

~~~
ddevault
Looks like there's no "list jobs" endpoint, seems to have been an oversight.
Can you file a ticket?

[https://todo.sr.ht/~sircmpwn/builds.sr.ht](https://todo.sr.ht/~sircmpwn/builds.sr.ht)

~~~
nbe
Sure, done:
[https://todo.sr.ht/~sircmpwn/builds.sr.ht/251](https://todo.sr.ht/~sircmpwn/builds.sr.ht/251)

------
evgeniysharapov
I couldn't find any place to send in the issues with SourceHut. I like the UI,
but can't use web-site at all, if i go anywhere outside of my profile it
brings in - register or log-in button and link and if I click log-in it says:

> Error logging in > Error occured retrieving account info. Try again.

~~~
ddevault
Can you reach out to sir@cmpwn.com? This sounds like your account confirmation
email was never acted upon.

~~~
evgeniysharapov
You were right! What a rapid response!

------
xvilka
It would be nice also to show the languages the repository is written in, like
in GitHub. Also, I hope to see more Go code and less Python. Certainly it will
reduce the servers load and less runtime surprises.

~~~
yjftsjthsd-h
Maybe the generic way to do that is supporting tags on repos? So a repo could
be tagged "lang:python3 lang:c license:gpl2+ license:mit" (that's: repo
contains Python 3 and C code, dual-licensed under GPL2+ and MIT) or something.
Granted, that would _probably_ be manually-tagged, not GitHub's automatic
guessing approach.

------
nathcd
I'm excited for names.sr.ht! Relatedly, a long time ago on an early lobste.rs
post [1] about sourcehut, it was mentioned that it'd be sweet to point one's
own domain at sourcehut to be able to host your stuff under your own domain.
It'd be extra cool if this worked with mailing lists too. Drew, any chances
something like this might come along with names.sr.ht?

[1]
[https://lobste.rs/s/z0sqez/sr_ht_sircmpwn_s_github_alternati...](https://lobste.rs/s/z0sqez/sr_ht_sircmpwn_s_github_alternative)

~~~
ddevault
Possibly!

------
meddlepal
SourceHut is a really inspiring project.

------
xixixao
The first 4 and last 2 screenshots on homepage are blurry on a retina iPhone,
but the one in between them is sharp. Some resolution issue?

