0 users browsing Programming. | 6 bots  
    Main » Programming » sr.ht, a new software forge
    Pages: 1
    Posted on 18-11-16, 01:40
    Full mod

    Post: #40 of 443
    Since: 10-30-18

    Last post: 1101 days
    Last view: 172 days
    The first unified open-source hosting service was SourceForge, which provided a hosted versioning system, issue tracker, mailing list and downloads, and it was advertising supported and turned out to be kind of terrible. More recently we've had Google Code (supported at Google's whim, and unsurprisingly shut down without recourse), GitHub (proprietary and paid for by enterprise customers) and GitLab (AGPL "community edition", proprietary "enterprise edition", and paid for by enterprise customers). All of those sites have one thing in common: the actual end users don't and can't pay for the services they use, so they don't have any control or influence beyond trying to kick up a stink on social media when something goes wrong.

    https://sr.ht/ is a new software forge that brings some new ideas:

    - Pure AGPL, no "enterprise edition"
    - not a monolithic "do everything" service, but a cluster of related single-purpose services that can integrate with each other and with anything else
    - All functionality is free for now, but when the alpha period is over, hosting content will require a monthly fee. Free accounts will be able to contribute to existing projects, but not create new projects, and contributing to the sr.ht project itself can earn credits for paid access.

    I'm pretty happy with GitLab myself, but I'm under no illusions that I could ever contribute to or influence its development. sr.ht is a much riskier proposition right now, since (as the billing FAQ says) it's currently operating at a loss and is comparatively unknown, but I really like the idea of services being directly supported by the people that use them. I also like the looser coupling of services: GitLab's CI system has a config file per repository, so it's not practical to build a thing from multiple repositories. sr.ht's CI system has a config file per build, and you can automatically submit the config file from a repository when you update that repository, but you can also submit config files at other times, or config files that point to repositories on other services. Also, sr.ht's CI system uses virtual machines, not Docker containers, so you can build and test on operating systems that aren't Linux.

    I don't really have an excuse to try it out right now today, but I'll definitely be keeping an eye on it.

    The ending of the words is ALMSIVI.
    Posted on 18-11-16, 13:48
    Dinosaur

    Post: #32 of 1315
    Since: 10-30-18

    Last post: 58 days
    Last view: 14 hours
    Be aware that at the end of the day, you're still hosting your code at Other People's Computers™, and if said people don't find ways to make the service profitable to cover operating costs (said computers are not free, same for moving electrons across power or data wires, and even your precious freon [or whatever RoHS-compliant gas they use nowadays] for keeping those electrons cool isn't cheap either), well, hope you don't rely on those sites for keeping your sole backup.

    Licensed Pirate® since 2006, 100% Buttcoin™-free, enemy of All Things JavaScript™
    Posted on 18-11-16, 14:50

    Post: #15 of 456
    Since: 10-29-18

    Last post: 44 days
    Last view: 1 day
    There's also BitBucket, almost the same as github.

    My current setup: Super Famicom ("2/1/3" SNS-CPU-1CHIP-02) → SCART → OSSC → StarTech USB3HDCAP → AmaRecTV 3.10
    Posted on 18-11-17, 02:44
    Full mod

    Post: #41 of 443
    Since: 10-30-18

    Last post: 1101 days
    Last view: 172 days
    Posted by tomman
    Be aware that at the end of the day, you're still hosting your code at Other People's Computers™, and if said people don't find ways to make the service profitable to cover operating costs...


    Technically the service is self-hostable, but like any software designed to scale up to a public internet service, it doesn't scale down very well. The installation instructions mention PostgreSQL, Redis, NGINX, a mail server and a cron server, which is probably not unreasonable for the kind of service we're talking with, but if you're not willing to hire a system administrator to run the thing, maybe you should look at other options.

    The "make the service profitable" part is actually the part I'm really interested in. As the billing FAQ describes, there are three tiers of payment plans. Every tier gets exactly the same access to exactly the same features, but if you really want to help make the service profitable, you can pay more. That kind of business model usually stumbles because it's really hard to bump people up from the free tier to paying anything at all, but in this case there is no free tier, so I'm feeling optimistic about it.

    The ending of the words is ALMSIVI.
    Posted on 19-01-26, 14:46
    Stirrer of Shit
    Post: #1 of 717
    Since: 01-26-19

    Last post: 1763 days
    Last view: 1761 days
    Posted by Screwtape

    Technically the service is self-hostable, but like any software designed to scale up to a public internet service, it doesn't scale down very well. The installation instructions mention PostgreSQL, Redis, NGINX, a mail server and a cron server, which is probably not unreasonable for the kind of service we're talking with, but if you're not willing to hire a system administrator to run the thing, maybe you should look at other options.

    I agree. We already have tons of GitHub clones. What would be interesting to me is a lightweight GitHub clone without any dependencies, that's small enough that you could run it yourself as a hidden service.

    I mean, there's already mailing lists. That's about as minimal as they come, and you could replace it with some forum software (in my opinion, Tinyboard would be the best option). But you would want an issue tracker as well, and mailing lists do need some effort to set up unless you're exposing everyone's e-mail address.

    I had this idea that you would modify an imageboard to work as an issue tracker. It's perfect for the purpose. It would be possible to do it by just putting the repository under the www root and installing forum software, but it wouldn't scale very well. Some minor alterations would have to be made to make it production-grade.

    * port TinyIB to C, removing dependencies on PHP
    * integrate SQLite and a web server (I'm thinking OpenBSD httpd), removing the need to set up a web server
    * add in support for "flair" to mark threads as issue/discussion/commit, like a fancier way of renaming your threads to "[SOLVED]"
    * integrate git, removing the dependency on it
    (this increases the binary size by about 2MB, which is a great tragedy, but nothing can be done about it)
    * some scripting so that commits can be merged without having to SSH into the machine
    * (optional) an SMTP or SSH server to integrate it with the git command line
    (otherwise, just attach the commit as a file)

    The end result would be a binary that takes two arguments, port and path to SQLite database, and hosts your issue tracker. It would run literally everywhere and require no dependencies, not even the standard library.

    I considered writing something like it, but quickly gave up since the tools available for writing webapps in C were either rudimentary, poorly documented, or proprietary.

    I did however find girocco, which is somewhat similar to what I want and more lightweight than the other options.

    Anyone here know of any projects like I describe? That is, modifying forum software to use as a source code host, or small self-contained source code hosting software?

    There was a certain photograph about which you had a hallucination. You believed that you had actually held it in your hands. It was a photograph something like this.
    Posted on 19-01-27, 10:58
    Full mod

    Post: #96 of 443
    Since: 10-30-18

    Last post: 1101 days
    Last view: 172 days
    Posted by sureanem

    I considered writing something like it, but quickly gave up since the tools available for writing webapps in C were either rudimentary, poorly documented, or proprietary.

    To be fair, the tools available for writing anything in C are rudimentary, or poorly documented. It's not really a language designed for computers with more than four megabytes of memory.

    I did however find girocco, which is somewhat similar to what I want and more lightweight than the other options.

    Isn't that basically just the git-web service that comes with git?

    Anyone here know of any projects like I describe? That is, modifying forum software to use as a source code host, or small self-contained source code hosting software?


    The smallest and most self-contained Git service I've heard of is probably Gogs, although I haven't actually tried it myself. If you don't strictly-speaking need to use Git, Fossil is a DVCS from the people who make SQLite, that incorporates a bug-tracker, a wiki, and a forum (all of which, I believe, are distributed, not just the version control). The repository format is, of course, a single SQLite database.

    The ending of the words is ALMSIVI.
    Posted on 19-01-28, 21:10 (revision 1)
    Stirrer of Shit
    Post: #6 of 717
    Since: 01-26-19

    Last post: 1763 days
    Last view: 1761 days
    Posted by Screwtape
    Posted by sureanem

    I considered writing something like it, but quickly gave up since the tools available for writing webapps in C were either rudimentary, poorly documented, or proprietary.

    To be fair, the tools available for writing anything in C are rudimentary, or poorly documented. It's not really a language designed for computers with more than four megabytes of memory.

    I don't want to get into any language wars, but what I mean is that there weren't much in the way of libraries available, so you'd have to re-implement most of it yourself. What the language furnishes unto itself is a different story, and I think we'd have to agree to disagree here, but I personally would say that C is adequate for writing web software.

    You do have FastCGI, nxweb, and G-WAN. FastCGI doesn't do much in the way of handling POST requests, which is what I'd like to abstract away, nxweb is poorly documented but I can't find anything about it, and G-WAN has similarly dubious documentation. It is also proprietary software.

    If you know of anything else that takes care of all the HTTP weirdness and exposes a regular C API, please tell me.

    Posted by Screwtape
    Posted by sureanem

    I did however find girocco, which is somewhat similar to what I want and more lightweight than the other options.

    Isn't that basically just the git-web service that comes with git?

    Yes, in addition to some other stuff:


    Girocco itself comprises of a terse documentation, somewhat customized gitweb instance, CGI scripts for user and project management, and several management scripts for the hosting site maintenance.


    for some reason, keeping this quoted "breaks the board layout"

    Screwtape:
    >sureanem:
    >>Anyone here know of any projects like I describe? That is, modifying forum software to use as a source code host, or small self-contained source code hosting software?
    >
    >The smallest and most self-contained Git service I've heard of is probably Gogs, although I haven't actually tried it myself. If you don't strictly-speaking need to use Git, Fossil is a DVCS from the people who make SQLite, that incorporates a bug-tracker, a wiki, and a forum (all of which, I believe, are distributed, not just the version control). The repository format is, of course, a single SQLite database.

    Gogs is very similar to what I want in spirit, but it has some issues in practice.

    * requires extensive configuration and for git to be installed
    * heavily bloated
    * no support for anonymous contributions (?)
    * developers are Chinese (?)
    * not a single binary
    * single-user use case not supported in default configuration

    I want something that I could put in the same directory as one or more git repositories, double-click on, and it'd do the rest of the work for me. If I put in more parameters, I get more configuration, but it should work without having to configure it. I mean, it's not exactly rocket science to find all git repositories under ".", nor to guess which ports it should use (do the numbers 21, 22, 80, and 443 mean anything to you?).

    Perhaps the best way would just be to take TinyIB/phpBB, add git binary patches to the list of supported attachment formats, and tell people to sort the administration out themselves. It still has the issue of requiring PHP which makes it painful to use, but from a functionality perspective it would be okay.

    Fossil does seem very nice and designed by people with a healthy dose of common sense, but I do want Git. Fossil doesn't work in the way that I want it to work. While you can post anonymously on the forum, there doesn't seem to be any way to commit anonymously for instance. It seems to be a very well-designed system, but geared towards another kind of development:

    Fossil and Git promote different development styles. Git promotes a "bazaar" development style in which numerous anonymous developers make small and sometimes haphazard contributions. Fossil promotes a "cathedral" development model in which the project is closely supervised by an highly engaged architect and implemented by a clique of developers.

    Nota Bene: This is not to say that Git cannot be used for cathedral-style development or that Fossil cannot be used for bazaar-style development. They can be. But those modes are not their design intent nor their low-friction path.

    Git encourages a style in which individual developers work in relative isolation, maintaining their own branches and occasionally rebasing and pushing selected changes up to the main repository. Developers using Git often have their own private branches that nobody else ever sees. Work becomes siloed. This is exactly what one wants when doing bazaar-style development.

    Fossil, in contrast, strives to keep all changes from all contributors mirrored in the main repository (in separate branches) at all times. Work in progress from one developer is readily visible to all other developers and to the project leader, well before the code is ready to integrate. Fossil places a lot of emphasis on reporting the state of the project, and the changes underway by all developers, so that all developers and especially the project leader can maintain a better mental picture of what is happening, and better situational awareness.


    There was a certain photograph about which you had a hallucination. You believed that you had actually held it in your hands. It was a photograph something like this.
    Pages: 1
      Main » Programming » sr.ht, a new software forge
      This does not actually go there and I regret nothing.