Hacker News new | ask | show | jobs
by sneak 884 days ago
The reason I don’t use srht is because of his opinions about product development (of srht itself), not his personal opinions.

Social/collaboration features are explicitly deprioritized by design; I think this is a natural consequence of srht being built by and for lone wolf developers. GitHub and Gitea (which is basically a github clone) seem much more geared toward collaboration by groups, something most small-time f/oss developers don’t need.

Also, the emphasis on email and irc is bad, imo. The web won because it is better. A lot of the anti-web stuff is just tradition.

7 comments

Everyone has an e-mail account. That means if you want to contribute to a project on SourceHut, you don’t need to create an account there.

Also, I hate when I’m looking for useful forks of something on GitHub and have to sift through tens of useless forks that were created just to be able to submit a pull request.

Those “onetime” forms are blight on GitHub.

Sometimes useful when the main project gets nuked or deleted, if you can find them.

As someone who was there in the early days, who joined the chorus of people warning Drew about the effects of such a policy, I just want to say that Forgejo is a treat to self-host and use. Gitea is now open-core, and its future is unclear.

https://forgejo.org

This really comes down to the intended workflow. By design, SourceHut aims to provide the Linux kernel development model to a wider audience (with extra features beyond mail and Git). It is a very different collaboration model than the likes of GitHub and its peers. I summarize the comparison of the two as "to each their own"; I'm okay with both models and see the merits of both, but my preferences and willingness or ability to work with a given model won't always line up with contributors.

I also self-host Forgejo in my homelab and really enjoy it.

The only mention I can find that gitea is open core comes from forgejo. Do you have some kind of proof that there are parts of gitea that are not MIT licensed?
Gitea Ltd's stance seems to be that it does "custom development" support contracts.[0] It may be a matter of perspective whether you consider this "open-core" or "contract work."

See also their clarifications on Gitea the company[1]:

> Gitea Ltd. will be open to building special versions for special clients and will contribute any features back to the main repository when possible

This was in a followup to the original announcement.[2]

Forgejo (i.e. Codeberg, a FOSS non-profit) maintains that the project should be led by the community, not a company[3]:

> Sadly, Gitea Ltd broke that trust by a lack of transparency: its existence was kept a secret during months. After the initial announcement, Gitea Ltd published another blog post but it was still vague and there has been no other communication since. Who are the Gitea Ltd shareholders? Who, among the Gitea maintainers, are employees of Gitea Ltd?

[0] https://about.gitea.com/pricing/

[1] https://blog.gitea.com/a-message-from-lunny-on-gitea-ltd.-an...

[2] https://blog.gitea.com/open-source-sustainment/

[3] https://blog.codeberg.org/codeberg-launches-forgejo.html

That the social and communication tools they prefer are not the tools you prefer does not mean they are asocial.
That's so true, but I agree with sneak here (did I just write that?). If my code is on GitHub or GitLab or Gitea or whatever, and I want to work on it with a friend, I can invite them to join me on a website using a workflow similar to 1,000 other not-source-code-related collaboration tools. It's damn near impossible to talk someone into joining an email-based process unless that's something they've already been doing elsewhere. Look at the git-send-email docs[0] which talk about configuring SMTP auth. Followup question from the new person I'd be trying to rope in: "I dunno, my work uses Outlook. What's SMTP?"

If someone contended that SourceHut optimizes for devs who've been writing Linux kernel code for 25 years, so you weed out all the newbs and can get the hardened veterans involved in your project, I could buy that. I'd disagree that it's what I'd want for my project, but to each their own. I couldn't recommend it as an alternative to other services that require participants to know how to use a web browser.

[0]https://git-scm.com/docs/git-send-email

Once you learn the git-send-email flow, it is a lot better, especially for distributed development.

With the PR flow, people need to sign up to the website, create a fork, clone the repo, make their changes, go into a slow web ui etc. It mostly works because everyone is on Github. However, even that solution sucks if you are having a polyrepo setup and need to make changes in many places.

For bazaar style development where you accept contributions from anyone and don't use Github, the email flow is so much faster and simpler. Yes, you need to set it up once. But the other day I contributed to a open source project that was self-hosted, and it's amazing that I just can clone the repo, make my changes, commit and then git-send-email, bam done. Had I needed to sign up and create an account, set up a fork, I probably wouldn't have bothered because it was a small contribution. However no need to register to a website, no need to click through a slow ui, no need to create a fork, it reduces the ritual to make contributions by quite a lot, given that you've set it up.

There is also https://git-send-email.io/ which provides a nice tutorial for people.

I am glad that there is a good alternative that supports this flow, because I think it is superior. There are a ton of alternatives if you want the PR flow (Gitlab, Gitea, Github, Codeberg).

I’ve done the email workflow for a bit. I’ll say this much: it might be comparable to configuring a power editor vs. using some powerful and ready-to-go IDE. You can set up things how you like and the preferences of everyone else doesn’t really matter. You can also just edit anything because it’s fast and there is probably a good enough configuration for all kinds of languages and modes.

But in some ways it isn’t. Like any fool (like me) can just get some Emacs configuration for free from others. There doesn’t seem to be that kind of sharing for all the fiddly little things you need to do with git-send-email and the rest. All I’ve heard so far is that, oh yeah I usually deal with this specific issue by running some Perl scripts that I wrote eight years ago and that I’ve been nurturing ever since. But it wouldn’t be very useful for you because it’s very, very idiosyncratic. Might not even work outside Debian and my Apt state...

> But in some ways it isn’t. Like any fool (like me) can just get some Emacs configuration for free from others.

To be clear though: there are programs and tools beyond the git(1) tools themselves that help you with email workflows. Like b4 which is for the Linux workflow.

https://github.com/mricon/b4

A few plugins to allow git-send-email to work without much configuration by using your existing Outlook or Gmail or Thunderbird setup (basically, a git plugin for outlook) would be very desirable.
That might be intractable. Some clients will rewrite/corrupt (whatever you want to call it) messages before sending. Like maybe it reflows paragraphs and ruins your inlined diff. Or it helpfully replaces tabs with spaces (the project requires tabs).

So what can you do with that? Doesn’t seem like you can do anything.

Outlook seems especially bad. [Here] is some HN hearsay about how even Microsoft had to run Linux machines in order to contribute to the Linux project.

[Here]: https://news.ycombinator.com/item?id=12621135

> Social/collaboration features are explicitly deprioritized by design; I think this is a natural consequence of srht being built by and for lone wolf developers.

It's not the case that SourceHut treats collaboration features as out-of-scope. Drew seems to draw a bright line between social and collaboration features, and intends for SourceHut to offer solid collaboration features, but without any hint of trying to be a social network.

From an old comment of Drew's: (edit: I now see Drew's comment was replying to you yourself)

> SourceHut is designed to facilitate collaboration, of course, but it's done differently from platforms like GitHub and those that seek to emulate it. And of course it is more than a git frontend, providing tools specifically to facilitate collaboration such as mailing lists and bug trackers. SourceHut is an engineering tool, not a social network. It is designed to get your work done and then get out of your way.

> GitHub is explicitly designed like a social network, and this is a design that we reject.

(From https://news.ycombinator.com/item?id=31963467)

> I think this is a natural consequence of srht being built by and for lone wolf developers

Built by lone wolf developers, plural?

I adore Gitea. 99% of the stuff I keep there is private code, where Gitea is basically an SSH-able Git remote. However, I occasionally want to share a project with a friend, and then it's trivially easy to invite them to collaborate with me using the same infrastructure I was already using.

Minus that last part, I'd just stick with plain Git. It's everything I need for my own personal, only-for-me projects.

Are they deprioritized (spelling dunno)? Or are they just different in a way which you judge as being not-conducive to collaboration? (I mean you mention mailing lists.)

There’s not really much need for a “forge” without collaboration. I wouldn’t pay the price of SourceHut just so that I can fetch and whatever between my machines. That’s like a pricey sneaker net.

Per my reply to sneak's comment, collaboration features are part of SourceHut's goals, but its approach is very different from that of GitHub.

If all you want is a lightweight web UI for a git repository, git's official GitWeb project offers this. SourceHut isn't just an alternative to GitWeb.

https://git-scm.com/book/en/v2/Git-on-the-Server-GitWeb

LOL! That something wins because it's better almost never happens. Your example included.