4 ms·
> but I've never actually found a single piece of software, FOSS or not, that is anywhere close to "utopian" (or barely even "functioning"). Probably because o
by okamiueru 5y ago
> but I've never actually found a single piece of software, FOSS or not, that is anywhere close to "utopian" (or barely even "functioning").
Probably because of which fields you work in. But in software development, I'd say it is almost exclusively the case all over the board.
If you work in digital arts, then Blender is probably the best end-user application example I can think of.
- throw10920 5y agoCan you specify some specific pieces of software-development software that you consider to be "utopian"? I'm a software developer and have used the following pieces of software that were very non-utopian: gcc gdb sbcl vim emacs vscode atom tmux bash fish make cmake automake autotools m4 cpython pip mypy pyinstaller firefox gradle ant sbt chisel npm qmk (that is - everything I've touched). I also know that virtually everything related to webdev is just straight-up awful. I've also used Blender and can testify from personal experience that it's bad. What else is there?
- okamiueru 5y agoTo clarify, when you say these are "non-utopian", it would help to know what that means to you. I honestly think blender is a technical marvel that in many cases is better than its proprietary counterparts. The bar is quite high for these kinds of specialised and very expensive software. So, if blender is "bad", then perhaps the bar is set so high, that I don't think I can give a satisfactory answer. "Utopian" in that there is nothing that could be better or improved is a higher bar than what I had in mind. But, just "better or equal than its proprietary counterparts", I do feel there are examples. Linux itself being a very clear one. There is a reason why it's the most used operating system by a mile (something like 90-98%). More contentiously I would also include it for desktop use. Hmm, perhaps AOSP also. Out of the many tools you've mentioned, I've used most of them as well, and I don't consider any of them particularly great. But, what are the closed source alternatives that are better? Perhaps also fish, as I cannot think of a better proprietary shell. Powershell and its windows integration is uaf. Maybe some of my examples are skewed by the value I place on it not being controlled by corporate interests. That my usage isn't profiled, that I'm not exposed to dark patterns for KPIs at some board meeting.
- throw10920 5y ago> To clarify, when you say these are "non-utopian", it would help to know what that means to you. I'm using the dictionary definition of "utopian", which is "Of, relating to, describing or having the characteristics of a Utopia." where "utopia" means "An ideally perfect place, especially in its social, political, and moral aspects." - that is, perfect software. Sorry if that wasn't clear - maybe I should have started by clarifying that first. Now, even allowing for some very small resource cost (I think that it's unrealistic to expect even perfect software to consume no CPU, memory, or disk space), "ideally perfect" software is: low-resource-use, responsive, high-throughput, easy-to-setup, easy-to-learn, easy-to-use, easy-to-understand, ergonomic (efficient from a UI perspective), backward-compatible, forward-compatible, stable, well-documented, extensible (containing a powerful extension language and development environment for that language, and a large API that extensions/scripts can use), introspective, good error messages, easy to compile and develop, robust against internal and external errors, high skill cap, has all of the features that you need, and the largest force-multiplier possible without resorting to AI. Given that definition, I hope you can see why I don't categorize any programs as being "utopian". As for Blender - I don't use it frequently (I've just done some hobbyist modeling), but I can still name a few issues: can't open multiple blend-files at once, can't do real-time collaboration on a blend-file, no blend-file versioning, API in Python (which is not a great language, either by itself or for an extension system), no IDE for development of Python extensions in Blender, cmake build system for Blender itself, bad integration of operators into scripting (for decent integration, see Emacs' interactive functions, described more generally at [1]), no hot-patching of Blender code (emacs can hot-patch elisp code as it runs, and elisp makes up the majority of the tool, including almost all of the text-editing functionality - the same applies to Atom and JavaScript), no introspective facilities for Blender itself. > Linux itself being a very clear one. I don't believe that this is clearly the case. Linux is only the most used kernel (not OS/userspace) because of its inclusion into Android, and we have little reason to believe that the Android company chose Linux based on its technical merits and not because the only other alternative (Windows NT) required expensive licensing. On the desktop, Windows has a 95% market-share - does that mean that it's a technically superior desktop operating system? In fact, in the server realm, we also don't have any reason to believe that it was chosen for any reason other than the fact that it's free. > But, what are the closed source alternatives that are better? In most cases, you're right, there are none. (with a few exceptions: Visual Studio, PyCharm, PowerShell (I don't know what "uaf" means, but I do know that PowerShell's typed nature makes it infinitely better than untyped bash), Allegro/LispWorks, Sublime Text) But, I wasn't trying to say that open-source programs aren't better on average than proprietary programs - just that (a) there are exceptions and (b) everything is bad. That is - "bad", rather than "better" - relative vs. absolutely measurements. When you used "utopian", that's universally accepted to be an absolute standard of measurement, and given the common definition of it (listed above), I don't think that it applies to the vast majority of software. [1] https://breckyunits.com/user-methods.html https://breckyunits.com/user-methods.html