Full-time Free/Libre and Open Source Software (FLOSS) developer Drew DeVault has written a blog post about why he chose Flask for his version control system, sr.ht. sr.ht is similar to GitLab and GitHub but is 100% FLOSS and somewhat decentralized. People are both able and encouraged to host on their own machines. The web pages for the web interface average less that 10 KiB and contain neither tracking nor JavaScript.
sr.ht is a large, production-scale suite of web applications (I call them "mini-services", as they strike a balance between microservices and monolithic applications) which are built in Python with Flask. David Lord, one of the maintainers of Flask, reached out to me when he heard about sr.ht and saw that it was built with Flask. At his urging, I'd like to share the rationale behind the decision and how it's turned out in the long run.
The whole of sr.ht is now in public alpha.
Related Stories
Software engineer Miguel Grinberg is getting a jump on the new year and has already published the Flask Mega-Tutorial, 2024 Edition. As he introduces its 23 chapters,
Back in 2012, I decided to start this software development blog. Because I am a do-it-yourselfer at heart, instead of using Blogger or WordPress, I sat down and wrote my own blog engine, using a then little known web framework called Flask. I knew I wanted to code it in Python, and I first tried Django, which was the most popular Python web framework at the time. But unfortunately Django seemed too big and too structured for my needs. I've found that Flask gave me as much power, while being small, unopinionated and unobtrusive.
Writing my own blog engine was an awesome experience that left me with a lot of ideas for topics I wanted to blog about. Instead of writing individual articles about all these topics, I decided to write a long, overarching tutorial that Python beginners can use to learn web development. And just like that, the Flask Mega-Tutorial was born!
Previously:
(2023) Python 3.12: Faster, Leaner, More Future-proof
(2022) Top Programming Languages 2022 (According to IEEE)
(2019) Why I Chose Flask to Build sr.ht's Mini-Services
(Score: 2) by Freeman on Thursday January 31 2019, @04:46PM (3 children)
Pretty sure "decantralized" should read "decentralized".
Joshua 1:9 "Be strong and of a good courage; be not afraid, neither be thou dismayed: for the Lord thy God is with thee"
(Score: 3, Funny) by Anonymous Coward on Thursday January 31 2019, @04:53PM
Not when you drink from a Flask™
(Score: 3, Funny) by takyon on Thursday January 31 2019, @05:02PM (1 child)
fixed, decanted
[SIG] 10/28/2017: Soylent Upgrade v14 [soylentnews.org]
(Score: 0) by Anonymous Coward on Thursday January 31 2019, @07:13PM
How did the bank robber plan the bank robbery?
He s/Drew DeDvault/Drew DeVault/
(Score: 2) by Rosco P. Coltrane on Thursday January 31 2019, @05:20PM (1 child)
Why I chose SoylentNews to promote my pet project.
(Score: 4, Funny) by RamiK on Thursday January 31 2019, @05:48PM
FTFY
compiling...
(Score: 2, Interesting) by progo on Thursday January 31 2019, @05:36PM
And pages load FAST! This is an excellent example of what web based applications should look like. Fossil SCM is another interesting project in this space with a similar no-nonsense approach to web forms. It's a complete DVCS with built-in issue tracking and wiki pages with a web front-end all in one executable.
(Score: 2, Funny) by Anonymous Coward on Thursday January 31 2019, @06:15PM (1 child)
If it's open source, where's the github with the actualy source code?
(Score: 0) by Anonymous Coward on Thursday January 31 2019, @07:17PM
https://git.sr.ht/%7Esircmpwn/ [git.sr.ht]
(Score: 4, Funny) by DeathMonkey on Thursday January 31 2019, @06:16PM (1 child)
Who will win in the epic battle of Syntactic Whitespace vs. Codes of Conduct!
(Score: 2) by fyngyrz on Thursday January 31 2019, @09:06PM
Yeah. I'm tired of being pilloried for suggesting tabs instead of spaces in the hotel elevator. It was just a suggestion. There was no good reason to feel threatened. People can use braces for all I care!
Sheesh.
--
Sex on television won't hurt you.
As long as you don't fall off.
(Score: 5, Informative) by Thexalon on Thursday January 31 2019, @08:40PM (5 children)
Git the software isn't the same thing as Gitlab/Github the websites and businesses. Git the software was designed from its beginning to be easily hosted by just about anybody.
Setting up your own git repo server is quite doable, taking up something like an hour or two at most of a mediocre admin's (i.e. me) time. I'd recommend doing that for anything you intend to keep private, under a NDA, etc. And the best part of that is that if your repo fails for some reason, your local checkout is sufficient to regenerate the repo from scratch again. If for some reason you can't put it on a server, you can of course also use git purely locally with no repository whatsoever.
As for FLOSS, the source code for git [kernel.org] is free for the asking and GPL'd last time I looked at it.
So I'm now really wondering why this person is so excited about reinventing the wheel.
"Think of how stupid the average person is. Then realize half of 'em are stupider than that." - George Carlin
(Score: 2, Funny) by Anonymous Coward on Thursday January 31 2019, @08:51PM (3 children)
I can tell you why. Because "sr.ht" is so much easier to pronounce than "git."
(Score: 1) by Ethanol-fueled on Thursday January 31 2019, @10:21PM (1 child)
And because "sr.ht" looks and sounds so much like "shit," perhaps the creator had better hire somebody without autism to provide some naming conventions.
(Score: 3, Insightful) by RamiK on Thursday January 31 2019, @11:04PM
See now in this particular context and contest... [wikipedia.org]
compiling...
(Score: 0) by Anonymous Coward on Friday February 01 2019, @04:08AM
Perhaps it is my background, but I totally want to pronounce that Señor Hat.
(Score: 3, Informative) by NPC-131072 on Thursday January 31 2019, @10:13PM
Hello fren,
I think you need a local repository.
It's project management [meta.sr.ht] using git for source control.
(Score: 0) by Anonymous Coward on Friday February 01 2019, @07:39AM (1 child)
Seems to be a GUI for git rather than a version control system per se.
I like and will probably use it, but it's just another frontend to git.
(Score: 2) by janrinok on Saturday February 02 2019, @08:11AM
Which is exactly what he said it was. It is not a replacement for git, it is a local replacement for github or gitlab.
[nostyle RIP 06 May 2025]
(Score: 3, Informative) by canopic jug on Friday February 08 2019, @08:01AM
The project has changed names to sourcehut.org [lists.sr.ht]:
Money is not free speech. Elections should not be auctions.