Post Aaig9sn3g8XRFDfVEu by benny@kirche.social
 (DIR) More posts by benny@kirche.social
 (DIR) Post #AaghAPy4CPt4N1ghOa by stefano@mastodon.bsd.cafe
       2023-10-12T08:00:13Z
       
       2 likes, 3 repeats
       
       Dear Open Source software developer,First of all, let me assure you that I truly appreciate your work. Releasing software under a free license is a gift to us all. It shows that you care about the widespread adoption of your project, and that's quite commendable. However, I have a humble request – please, *pretty please*, don't release it with the statement, "compiling it is so complex and full of dependencies that the way to use my program is 'docker compose up'."By doing this, you're limiting access to your software for those who can't use Docker or those who can't/won't use Linux. It's almost like telling someone to click on 'Install.exe.' Surely, you can do better than that.I trust you'll consider my request. Thanks again for your hard work!#OpenSource #SoftwareDevelopment #UserExperience #Linux #Docker #Request #Humor #OSS #BSD
       
 (DIR) Post #AagjSquswXZH4T7LzE by stefano@mastodon.bsd.cafe
       2023-10-12T08:25:56Z
       
       0 likes, 0 repeats
       
       @neil "I agree with the fact that, being open-source products, if I wanted to use it differently, I could contribute in some way to make it more usable. The problem is that often behind a 'just launch it with a 'docker compose up'' hides the fact that 'my software is a mess, compiling it requires a ton of tweaks, so instead of cleaning it up, I prefer to create an image that works for me and will work for you too.' This is, at least in part, what I criticize - I'm not asking the developers to do (additional) free work :-)"
       
 (DIR) Post #Aagk5rurA1s9SshzHc by ben@mastodon.bentasker.co.uk
       2023-10-12T08:27:46Z
       
       0 likes, 1 repeats
       
       @neil @stefano This is a tricky one - nowadays, if I release something, I tend to recommended using the prebuilt image (I *do* try and make sure container-less isn't too complex).The thing is - every GH issue, email/DM I get from someone stuck because of an out-of-date local dep (or something conflicting etc) sucks up time - I don't mind helping, but containerisation reduces the need to do so (freeing me up to do other stuff).I agree though, that it shouldn't be the only documented option.
       
 (DIR) Post #AagkCZApF8ERMaN6I4 by toran@pkm.social
       2023-10-12T08:33:31Z
       
       0 likes, 1 repeats
       
       @stefano there are a couple of apps I'd like to try, but don't have the skill to install them as they use Docker only. 😞
       
 (DIR) Post #AagkKF1k1znRCFmZDU by Davy@c.im
       2023-10-12T08:35:21Z
       
       0 likes, 0 repeats
       
       @stefano @neil I’m confused. Why is 'docker compose up' a bad option?
       
 (DIR) Post #AagkRhbs9xD5s6Ewfw by stefano@mastodon.bsd.cafe
       2023-10-12T08:36:57Z
       
       0 likes, 0 repeats
       
       @toran I appreciate the approach employed by Uptime Kuma, for instance. If you'd like, you can initiate a Docker Compose by running 'docker compose up.' Alternatively, there's an alternative method. However, it's important to note that they mention that this setup may not work in all cases.For instance, I had to make adjustments to get it running on FreeBSD, but at least I had a starting point.
       
 (DIR) Post #AagkcLhhwg2R7K2vOy by stefano@mastodon.bsd.cafe
       2023-10-12T08:38:51Z
       
       0 likes, 0 repeats
       
       @Davy @neil because not everybody could be using docker, not everybody could be using Linux. More, a 'docker compose up' (often) involves downloading binary packages from a potentially unknown repository. It could not be the best option.
       
 (DIR) Post #AagkzZU0sghsVqiJyi by Anniiii@gts.ferreo.dev
       2023-10-12T08:42:49Z
       
       0 likes, 2 repeats
       
       @stefano As a software developer myself I agree. Having docker as an option for those who want to use it (e.g. to deploy the software with k8s) is great. But it should NEVER be the primary way to compile and run the software. You're limiting portability and encourage scuffed solutions over good ones. (and no it's not portable because I can use a bhyve vm(or equivalent) running linux and install docker inside that; running containers in a VM (and likely that VM inside another VM if you're on some bigger server host) is not a valid solution. It wastes computing resources and thereby wastes your users money)
       
 (DIR) Post #AaglGDfjE9H3n28FW4 by darshan@hachyderm.io
       2023-10-12T08:45:49Z
       
       0 likes, 1 repeats
       
       @stefano @neil I ended up working in cpp in many legacy/embedded projects. The building pipeline for a cpp project is almost always a damn mess because the language itself is not DevOps friendly. Is either "use docker" or "spend 3 hours setting up your machine".
       
 (DIR) Post #AaglXcBZL7GwjxJtoG by slink@fosstodon.org
       2023-10-12T08:48:58Z
       
       0 likes, 1 repeats
       
       @stefano a dockerfile or docker-compose yaml might actually represent the better build instructions, inho.
       
 (DIR) Post #Aagljf1ScM2b0vKsGO by stefano@mastodon.bsd.cafe
       2023-10-12T08:51:25Z
       
       0 likes, 0 repeats
       
       @slink Sometimes they are, especially when the Dockerfile is available. Sometimes the compose just pull some pre-prepared images.
       
 (DIR) Post #Aaglqcf3nMoFiYB5KC by slink@fosstodon.org
       2023-10-12T08:52:24Z
       
       0 likes, 0 repeats
       
       @stefano right, that is not helpful at all
       
 (DIR) Post #AaglyMPk5LlRe2hd5c by fast_code_r_us@floss.social
       2023-10-12T08:53:48Z
       
       1 likes, 2 repeats
       
       @stefano Isn't it usually the case that any sufficiently complex software project becomes dependent on a ton of external libraries? The build process then grows exponentially more awful with the addition of each external dependency. Complex builds are the main source of stress in my work. For my own open source projects, I focus on smaller, 100% self-contained code just to avoid this situation.
       
 (DIR) Post #AagmJpGY0iGZCxda2y by stefano@mastodon.bsd.cafe
       2023-10-12T08:57:58Z
       
       1 likes, 0 repeats
       
       @fast_code_r_us That's a great choice. Better smaller and more efficient code than fancy and full of external (insecure, complex) dependencies, when possible.
       
 (DIR) Post #AagmXE39AyJRq2l720 by Davy@c.im
       2023-10-12T08:55:14Z
       
       0 likes, 0 repeats
       
       @neil @stefano I guess I can understand ‘doesn’t want to’ and under some specific conditions ‘can’t’. Is there an install path that works on more devices than window (wsl), Linux, and Mac OS?If you want to reach a large audience docker compose up seems like a good option.
       
 (DIR) Post #AagmXEmWSGbo6lzLl2 by stefano@mastodon.bsd.cafe
       2023-10-12T09:00:22Z
       
       0 likes, 0 repeats
       
       @Davy @neil Docker Compose requires a virtualized Linux environment to function on Windows and macOS, meaning it's not native to those operating systems. On the other hand, languages like Go, Node.js, Python, etc., are (almost) platform-independent, allowing you to provide universal instructions with some attention to compatibility
       
 (DIR) Post #AagmoVJ8GUT8HlTV8i by fast_code_r_us@floss.social
       2023-10-12T09:03:13Z
       
       0 likes, 1 repeats
       
       @stefano It also leads to a lot of re-inventing of the wheel. In my case that turned out to be a good thing because I created optimized versions of a lot of slow/bulky tools that people use without thinking that they could be improved.
       
 (DIR) Post #Aagpbo7zHR2qkltp32 by Dragon@toast.dragon2611.net
       2023-10-12T09:34:30Z
       
       0 likes, 1 repeats
       
       @stefano hopefully they at least publish the dockerfile so you can see what they’re doing to build the docker container
       
 (DIR) Post #AagpjDqs2Og2YtQeES by stefano@mastodon.bsd.cafe
       2023-10-12T09:36:10Z
       
       0 likes, 0 repeats
       
       @Dragon That would be nice.
       
 (DIR) Post #AagpyBOxQhkbJ3VSYy by Dragon@toast.dragon2611.net
       2023-10-12T09:38:34Z
       
       0 likes, 1 repeats
       
       @stefano For an Open source project I'd expect it to be present in the repo, and it would be somewhat concerning if it wasn't as I'd be wondering what someone was trying to hide.
       
 (DIR) Post #Aagqlz1JjlfzNyCBRA by gisgeek@floss.social
       2023-10-12T09:47:34Z
       
       0 likes, 1 repeats
       
       @stefano and snap or flatpack or appimage, not only docker and containers. Unfortunately, the long chain of dependencies nowadays encourages people to depend on language hubs, which do not always contain seriously maintained packages. Not better than using blob images such as docker, isn't it?
       
 (DIR) Post #Aags7XPBBqd441CNnM by tseitr@mastodon.sdf.org
       2023-10-12T09:56:57Z
       
       0 likes, 1 repeats
       
       @Davy @stefano @neil standard docker installation on linux mess up my firewall rules, always been. Also, docker run as root. I much prefer to install in an lxc rootless container.
       
 (DIR) Post #Aah25Q6INP3qN5zjU0 by shuLhan@fosstodon.org
       2023-10-12T11:54:21Z
       
       0 likes, 1 repeats
       
       @stefano I agree with you wholeheartedly. Unfortunately,most, if not all, FOSS maintainers does not have luxury to have Windows and macOS machines.I don't know what the the best solution here. Probably, pick programming language that can distribute your software natively in multiple OS.
       
 (DIR) Post #AahBh409t5JOQN9I5Q by Dianora@ottawa.place
       2023-10-12T13:41:19Z
       
       0 likes, 0 repeats
       
       @shuLhan @stefano in Fortran!
       
 (DIR) Post #AahBh8OlXXN83qgzzs by stefano@mastodon.bsd.cafe
       2023-10-12T13:42:16Z
       
       0 likes, 0 repeats
       
       @Dianora @shuLhan considering it's still around, I'd say Cobol could do the trick.
       
 (DIR) Post #AahBrYYL9YsA4c8lbk by Dianora@ottawa.place
       2023-10-12T13:43:54Z
       
       0 likes, 1 repeats
       
       @stefano @shuLhan When I first started it was Fortran that was the lingua franca *not* 'C' that came a little later. ;) Fortran is still going and modernized. I have heard of people writing weird stuff in COBOL but Fortran was usually used.
       
 (DIR) Post #AahNSBOdJJuQStGdlI by ianthetechie@fosstodon.org
       2023-10-12T14:29:56Z
       
       0 likes, 1 repeats
       
       @Anniiii @stefano exactly. It’s great as an option but should never be the only / primary one.Aside: docker is great for what it is. Just like jails are great for what they are. Lightweight namespacing on a specific host OS with a shared kernel. But it’s the wrong abstraction most of the time IMHO.What we usually need are containerized apps that run everywhere in a secure sandbox. These containers are specific to an OS and arch. I eagerly await wasm, which will solve that problem at least.
       
 (DIR) Post #AahNWXtpaPIHPpwMsK by Anniiii@gts.ferreo.dev
       2023-10-12T15:12:04Z
       
       0 likes, 1 repeats
       
       @ianthetechie @stefano Correct me if I'm wrong, but as far as I know wasm in no way is a secure sandbox. Its basically the same thing sun microsystems did with the jvm, just this time its designed by W3C (and I'm not sure that's an improvement)Like I see no benefit of having an app compiled to wasm over having it compiled to jvm bytecode, at least from a security or portability standpoint. (with the caveat that browsers nowadays bundle a wasm runtime so you have that single extra target for portability I guess)
       
 (DIR) Post #AahNYW6TEdtWQMnBVw by 0x1eef@mastodon.bsd.cafe
       2023-10-12T15:49:14Z
       
       0 likes, 1 repeats
       
       @shuLhan @stefano I consider it a blessing to not have Windows and macOS machines. 😜
       
 (DIR) Post #AahOWXKHoktnaksG9Y by ThTh@mastodon.social
       2023-10-12T16:03:02Z
       
       0 likes, 1 repeats
       
       @shuLhan @stefano If you distribute the sources and an usual and portable method to compile it, it will be ported to several platforms.
       
 (DIR) Post #AahP32SRbfhbPZBj7Y by jeang3nie@social.linux.pizza
       2023-10-12T16:11:38Z
       
       0 likes, 1 repeats
       
       @stefano you could replace "docker" with "Flatpak" and the post would ring just as true, at least for me.In either case I think the root causes are similar. We have the "move fast and break things" mentality, coupled with language level package managers that actively encourage adding dependencies. It was never easy to write portable code, but modern tooling seems to take the idea of writing truly portable code and throw it out the window by default.
       
 (DIR) Post #AahVazVtewRXqnNNKq by dannypsnl@g0v.social
       2023-10-12T16:15:15Z
       
       0 likes, 1 repeats
       
       @Davy @neil @stefano As a maintainer of a big wasm runtime project, let me explain a bit. Yes, there has a lot real machines cannot work with docker, even LLVM and anything that’s too big, binary size and multiple release ways still a thing. This is also one of a big fun/trouble when developing.And I guess they’re trying to say “don’t make docker be the only choice”. Let me know if I’m misinterpreting.
       
 (DIR) Post #AahZt5prIDEYUFbGwi by ianthetechie@fosstodon.org
       2023-10-12T16:48:57Z
       
       0 likes, 1 repeats
       
       @Anniiii @stefano no sandbox is perfect but wasm doesnt have a POSIX interface and so the security boundaries are defined much more tightly.  I’d recommend @isntitvacant’s excellent series for a fuller exposition. While security isn’t the primary focus of the articles, part 3 of his series hits a number of the key points and why the component model is great: https://www.neversaw.us/2023/09/04/understanding-wasm/part3/you-are-here/. Other parts discuss other reasons why the JVM isn’t a great analogy. Though it’s also the first I reached for 😅
       
 (DIR) Post #Aahk9tdEuweZ6RLgki by damien@layer8.space
       2023-10-12T19:50:40Z
       
       0 likes, 1 repeats
       
       @ben @neil @stefano my concern with docker is you move from relying on the developer(s) of the FOSS project to have implemented and maintained their codebase to relying on them to maintain their whole stack.If there's a security issue in the server stack, I want to be able to patch it up myself rather than potentially not even realising it's buried somewhere in the stack in the first place!
       
 (DIR) Post #AahkArLEuzuEHzOA1g by ben@mastodon.bentasker.co.uk
       2023-10-12T20:04:00Z
       
       0 likes, 1 repeats
       
       @damien @neil @stefano Yep, that's an entirely reasonable concern. The other thing of course, is you can end up in the position of having an image but no way to (re)build because the app was all built in CI/CD (that's since gone away) and the dockerfile just copied the result in
       
 (DIR) Post #AaiBufHoljf0z3r2My by tara@hachyderm.io
       2023-10-13T01:19:09Z
       
       0 likes, 1 repeats
       
       @stefano ... and please, don't document your software with a YouTube video. We appreciate regular written documentation. 🙏
       
 (DIR) Post #AaiHJRn8Pt0lYEAUAC by amerika@noagendasocial.com
       2023-10-13T02:19:42Z
       
       0 likes, 1 repeats
       
       @stefano Postmodern developers are erasing the advantage of Linux in being a universal language of computing.
       
 (DIR) Post #AaiJXzoutYSr3H4CX2 by jmc@m.unix.house
       2023-10-13T02:40:06Z
       
       0 likes, 0 repeats
       
       @stefano To be honest, as a porter of software to a niche platform, at least a Dockerfile is an executable specification for the build environment the original developer was expecting.  They've been something of a boon, I feel, not to use directly but to read and crib from when porting.  Previously one would need to read maybe a prose description (if you were lucky!) of deeply variable quality and completeness with a lot of assumed knowledge.
       
 (DIR) Post #AaiUV8upilRJt6fzAe by amolith@nixnet.social
       2023-10-13T04:44:25.401914Z
       
       1 likes, 0 repeats
       
       @stefano I've been complaining about this for years :crie: I'm beginning to think the issue is mainly that they write the software _for_ Docker and they don't actually know how to run it without Docker.
       
 (DIR) Post #AaiVm4iIhJLNjSS55s by nicemicro@fosstodon.org
       2023-10-13T05:01:42Z
       
       0 likes, 0 repeats
       
       @stefano well, as far as I understand, in #FreeSoftware, if you get a software in any binary form, you should also get the source code *including build scripts*. So, if the developer intentionally lives out the info on how to build the code from source, that could be considered a violation of the user's freedom.As far as I understand it, at least.
       
 (DIR) Post #AaiY9ZTcgcOziAuzMO by justdude@mastodon.nl
       2023-10-13T04:59:13Z
       
       0 likes, 1 repeats
       
       @damien @ben @neil @stefano But see it from this angle, not everyone is capable or willing to use a build process. So a ready made solution in the form of a package or docker image is suited for the “masses”. Nevertheless I agree, if you cannot describe the build and install process? Then you are not ready for deployment to the public. I have seen github diamonds, but no comments, no install help, no response etc.
       
 (DIR) Post #AaiY9wIPqS6UU4qraK by amolith@nixnet.social
       2023-10-13T04:56:20.528469Z
       
       0 likes, 1 repeats
       
       @stefano Docker is what they use at work, so Docker is what they reach for first when writing something new. The thought to set it up _without_ Docker doesn't even cross their minds until people comment on it, but at that point, the codebase has matured such that extricating Docker becomes more work than they'd like.It's perfectly understandable and makes complete sense to mebut it's still annoying :crie:
       
 (DIR) Post #AaiYIg0llC2EaIlQKO by stefano@mastodon.bsd.cafe
       2023-10-13T05:30:19Z
       
       0 likes, 0 repeats
       
       @tara agree! A 10 minutes video to explain what could be written in half a page is a waste of time
       
 (DIR) Post #AaiZ6NSyz4HNY0exYO by adam@hax0rbana.social
       2023-10-13T05:39:00Z
       
       0 likes, 1 repeats
       
       @stefano @amolith Hi. I am an Open Source developer who has a firmware image for an embedded system (STM32, for those who are curious).The build system automatically obtains a cross compiler toolchain and makes reproducible builds.It does not use docker. It never will. I already have to manage enough complexity as it is. Piling Docker on top of everything else would just be a bridge too far.I agree 100%. Do not make Docker a requirement.
       
 (DIR) Post #AaiZofQnYK9o0QkzOC by benny@kirche.social
       2023-10-13T05:37:33Z
       
       0 likes, 0 repeats
       
       @nicemicro @stefano He could, in theory, put the install script under closed source license, then you'd have to figure out for yourself.But I guess there are so many ways to build and deploy software, that it is quite a bit of extra effort to support all kind of options. Going for something wide-spread like Docker makes sense.Also: There's also Docker for Windows and Mac.
       
 (DIR) Post #AaiZogVRYXT1L7wDGi by stefano@mastodon.bsd.cafe
       2023-10-13T05:47:14Z
       
       0 likes, 0 repeats
       
       @benny @nicemicro  docker on windows and Mac is runs in a Linux VM, so you're installing & using Linux to run that software
       
 (DIR) Post #Aaiae49dON5TS6EmbQ by wolf480pl@mstdn.io
       2023-10-13T05:56:13Z
       
       0 likes, 0 repeats
       
       @stefano > It shows that you care for widespread adoption of your projectBold of you to assume that.
       
 (DIR) Post #AaibaromtwnkHGWcIi by astrojuanlu@social.juanlu.space
       2023-10-13T06:06:54Z
       
       0 likes, 0 repeats
       
       @stefano Dear Open Source user,I owe you nothing, forks welcome ;)
       
 (DIR) Post #AaickrGPuvjrPMmCUC by exu@fosstodon.org
       2023-10-13T06:19:55Z
       
       0 likes, 0 repeats
       
       @stefano Any steps you need are visible in the Dockerfile and I'm sure the devs would appreciate you helping them put the steps into a nice guide.
       
 (DIR) Post #Aaid6UMTkQO0kUvTc0 by stefano@mastodon.bsd.cafe
       2023-10-13T06:24:08Z
       
       0 likes, 0 repeats
       
       @astrojuanlu of course 🙂
       
 (DIR) Post #AaidBaqB5Pu8I7Fem8 by stefano@mastodon.bsd.cafe
       2023-10-13T06:25:03Z
       
       0 likes, 0 repeats
       
       @exu *When* there's a Dockerfile available. Sometimes, only a docker-compose file is available, pulling images from binary repositories.
       
 (DIR) Post #Aaie5eTKlt0flrIUl6 by benny@kirche.social
       2023-10-13T06:34:54Z
       
       0 likes, 0 repeats
       
       @stefano @nicemicro Indeed. But this makes me curious: what would be the reason for someone not being able or willing to run this?Genuine question, I've never seen this. I know many people who refuse Windows or Mac, but Linux would be new to me.
       
 (DIR) Post #AaieGzspVO79MVdHbE by exu@fosstodon.org
       2023-10-13T06:36:57Z
       
       0 likes, 0 repeats
       
       @stefano All the projects I looked at had a dockerfile somewhere. The devs have to build the containers somehow.
       
 (DIR) Post #AaieTZkzxBJQ65y2gS by stefano@mastodon.bsd.cafe
       2023-10-13T06:39:31Z
       
       0 likes, 0 repeats
       
       @benny @nicemicro I have many *BSD servers around, for example. Or there could be reasons why you can't run docker on specific servers. Your mileage may vary, but, while I appreciate and implement Docker or Podman, forcing people to use it means limiting (IMHO).
       
 (DIR) Post #Aaig9sn3g8XRFDfVEu by benny@kirche.social
       2023-10-13T06:58:03Z
       
       0 likes, 0 repeats
       
       @stefano @nicemicro thanks for your answer, I get your point.Of course you are right, but offering only rpm or deb would similarly limit things, though in another direction, wouldn't it?
       
 (DIR) Post #AaigEU5KxXVA4RPcnY by stefano@mastodon.bsd.cafe
       2023-10-13T06:59:12Z
       
       0 likes, 0 repeats
       
       @benny @nicemicro Sure, it's the same, as for flatpak, etc.
       
 (DIR) Post #Aaih1o3zT9R0DoIjFw by nicemicro@fosstodon.org
       2023-10-13T07:07:50Z
       
       0 likes, 0 repeats
       
       @stefano @benny the whole reason we use Free Software is that we have the methods to make sure the software does exactly the things on our computers that we want.If you can't get the sources to be compiled by yourself because they don't tell you how, you can't make sure that the binaries you're given are the "correct" ones.
       
 (DIR) Post #Aan9MfGcccPGsg3d0S by olaf@social.secret-wg.org
       2023-10-15T10:44:09Z
       
       0 likes, 0 repeats
       
       @stefano what about a NIX derivation? (As used in NIXOS)Those seem to put the onus on a stable toolchain on the developer…
       
 (DIR) Post #Aapk35kU0JM5RBIA7c by fnwbr@chaos.social
       2023-10-13T07:32:37Z
       
       0 likes, 0 repeats
       
       @amolith @stefano I like to think of it the other way around:If someone wrote great software and they only had enough resources to provide me with a working Docker setup, there’s nothing that prevents me from inspecting the corresponding Dockerfiles & co. to contribute a Makefile to the repository.
       
 (DIR) Post #Aapk36tNki4Gz4SmdE by fnwbr@chaos.social
       2023-10-13T07:32:50Z
       
       0 likes, 0 repeats
       
       @amolith @stefano At the same time I do hear your argument about Docker abstracting away so many things, that some developers might not even -know- about what pile of tech they’re stacking on top of. But working a lot with JavaScript that’s something I’ve learned to accept & arrange with years ago. :’)
       
 (DIR) Post #Aapk37eWvPmXLIWR7Y by fnwbr@chaos.social
       2023-10-16T16:43:58Z
       
       0 likes, 1 repeats
       
       @amolith @stefano Coincidentally came across this blog post just now: Makefiles for Web Work -- including a segment only on the topic of Docker-like hermetic environments (incl. how to fix versions of dependencies) using only Makefiles:https://rosszurowski.com/log/2022/makefiles