Skip to main content


This entry was edited (2 weeks ago)

reshared this

in reply to David Chisnall (*Now with 50% more sarcasm!*)

I don't do much coding these days so I probably shouldn't comment, but I'd willing to take a crack at reimplementing a systemd component if I had to - the protocols etc seem relatively simple. Absolutely not with anything graphics-y, though :(
in reply to David Chisnall (*Now with 50% more sarcasm!*)

that would mean to flip open source development into protocol standardization ??

like in "protocols, no platforms" ???

in reply to ceyusa

@ceyusa Text and pipes were an effective and popular protocol for a long time.
in reply to Kat S

@KatS @ceyusa Consider daemontools. It's not *quite* systemd and could use some attention from this decade, but it lets you build a reasonably comparable thing from text and pipes (technically).
in reply to David Chisnall (*Now with 50% more sarcasm!*)

I could not agree more. Linux won, but it is pyrrhic victory. As someone who came to Linux as a teen, the UNIX philosophy was truly empowering. You could take apart every part of the system and adapt it or replace it. And with open-source for each component this was truly enabling. Over the last decades, Linux is evolving away from this and nowadays I often need much more time to adapt some aspect (or just revert something upstream changed to my disliking) than I can afford.
in reply to David Chisnall (*Now with 50% more sarcasm!*)

First OS I ever used I wrote in two days using machine language. I next wrote a simple ed like editor, and then an assembler. That was back in the mid 1970s.

I've watched systems get more and more complex and layered over the decades. I expect Evolving Intelligent systems will take over coding and user interface. It will take a couple decades to get them right. At that point, it won't be coding, but the knowledge of how to specify that will matter.

in reply to David Chisnall (*Now with 50% more sarcasm!*)

To be fair, this is a direct consequence of how a large part of software in general is developed over time: by aggregation, meaning that a project that starts small and maintainable at the beginning aggregates features that increase complexity, but this does not lead to a redesign to reduce this complexity, because that would make the current users and developers unhappy and that splitting functionality into small loosely coupled parts is hard even when done from the beginning.
in reply to David Chisnall (*Now with 50% more sarcasm!*)

This describes perfectly how I feel about those projects, I was just never able to put it that succinctly. Thank you!
in reply to David Chisnall (*Now with 50% more sarcasm!*)

> To me, that really highlights the failure of the Free Software movement.

I missed anything that would lead me to agree with the idea FOSS has "failed", as read your claims on the FOSS mastodon, and write this reply on a 100% FOSS system on wayland + systemd. It all appears to be doing great?

Even the complaint this stuff others spend their time on the planet on for you to use for free is "hard" may start to buckle since you can ask your AI buddy to do the change for you.

in reply to David Chisnall (*Now with 50% more sarcasm!*)

I agree with you on the following points:
- there are open source projects which do not prioritize good system and software architecture enough
- there are open source projects that do not prioritize (and sometimes do not care one single bit) about customer value
I do not agree on the general notion or what I understand. #systemd and #wayland are not something chosen regularly by end-users but by engineers from distributors.
in reply to David Chisnall (*Now with 50% more sarcasm!*)

That just sounds like "Not Invented Here". The thing is easy to fix as long as it is somebody else that does the fixing for us.

It is also minimizing the hard work of some of the most brilliant minds of our time.

This entry was edited (2 weeks ago)
in reply to David Chisnall (*Now with 50% more sarcasm!*)

These components are large monolithic entities. Even systemd, which is made of a bunch of coopretating daemons, has so much tight coupling between them that you can’t replace one of them...


Unfortunately, making things small, discrete and easily composable into different configurations, was never part of the free software or open source definitions.

That was part of the UNIX philosophy which OFTEN was hitched the the FLOSS train, but was always technically distinct.

AND I suspect what we're seeing now is that the rest of the FLOSS train is finally unhitching itself from that train car.

EDIT: There are some major projects which will probably NEVER forget their UNIX roots such as the BSDs or some very traditional or unique linux distros. BUT big linux infrastructure projects have been signaling for a while that one better move over to them; or learn to like the direction linux is going.

This entry was edited (2 weeks ago)
in reply to trashHeap

@trashheap

Free Software is defined by four freedoms:

  • The freedom to run the program as you wish, for any purpose (freedom 0).
  • The freedom to study how the program works, and change it to make it do what you wish (freedom 1).
  • The freedom to redistribute copies so you can help others (freedom 2).
  • The freedom to distribute copies of your modified versions to others (freedom 3).

I would argue that freedom 1 is pretty much dependent on software architecture that makes it easy both to change the software and maintain a modified version that pulls in changes from upstream. As is Freedom 3.

Very few people take advantage of anything other than freedoms 0 and (less often 2) in most 'successful' Free Software projects. If at least 10% of your users aren't taking advantage of freedom 1, I'd claim that you've failed to build a Free Software system, you've built a freeware system with a complicated license.

Graham Perrin reshared this.

in reply to David Chisnall (*Now with 50% more sarcasm!*)

@trashheap

> Very few people take advantage of anything other than freedoms 0 and (less often 2) in most 'successful' Free Software projects. If at least 10% of your users aren't taking advantage of freedom 1, I'd claim that you've failed to build a Free Software system, you've built a freeware system with a complicated license.

Preach! This really struck a cord with me! I know a few projects that I have occasionally made code contributions to that I wouldn't do again

in reply to David Chisnall (*Now with 50% more sarcasm!*)

I would argue that freedom 1 is pretty much dependent on software architecture that makes it easy both to change the software and maintain a modified version that pulls in changes from upstream. As is Freedom 3.


Im sympathetic to that view, but in terms of the HISTORY of Free Software; you have to admit that a pretty novel interpretation of those freedoms, with few historical precedents.

This is why for example none of the "tests" Debian typically employs to test if a new software license is a free software license would snag on unnecessary vertical integration or complexity or lack of modularity or standard interfaces.

( See the Debian Free Software Guidelines FAQ Question 8 ) tango.isti.cnr.it/docs/dfsg-fa…

This entry was edited (2 weeks ago)
in reply to trashHeap

OR to put it differently; if the Free Software Definition required modular composable replaceable software architecture; for large pieces of infrastructure. Then the linux kernel itself would look a lot more like Minix or HURD than itself, today. OR it would fail to fit the definition.
This entry was edited (2 weeks ago)
in reply to trashHeap

@trashheap Personally I am of the understanding that those freedoms are more in the sense that you're legally allowed to do it (i.e freedom from getting sued), but of course whether it's *practical* to exercise it is something else entirely...
in reply to Sun Microdevil Pte Ltd

@koakuma @trashheap

And yet GPLv2 has explicit clauses about things like obfuscating the code or shipping without the necessary bits of the build system. So there clearly was an intent that users would actually exercise these freedoms rather than having them as pure hypotheticals (there’s a different philosophical question about whether you actually have a freedom if you have no mechanism to exercise that freedom, about which many books have been written).

Part of the problem was that the original end-user demographic for the GPL was ‘people in the MIT AI lab’. And it mostly does empower that kind of user: C programmers, including the kind of people who write compilers and operating systems for fun. And then the movement treated being like those people as an in-group test, rather than trying to empower a broader set of users. And then wondered why no one outside that group cared about the difference between Free Software and freeware.

in reply to David Chisnall (*Now with 50% more sarcasm!*)

@trashheap
> If at least 10% of your users aren't taking advantage of freedom 1, I'd claim that you've failed to build a Free Software system, you've built a freeware system with a complicated license.

That would imply that to have a Free Software system to begin with, it must never be used by any significant number of people who aren't developers. I'm quite sure that was never the idea.

I get where you're coming from but I think the crux of the argument is that there's no such thing as The Free Software Movement. Some people involved with FS spend literally decades thinking about how to make their stuff tinker friendly and we end up with the Hurd or Perl 6. Others just plow ahead and Get Stuff Done™; their products tend to get used more but also to be more opaque.

in reply to David Chisnall (*Now with 50% more sarcasm!*)

Here, I fixed it for you: distrowatch.com/search-mobile.…

Now seriously, I get where you're headed and agree that some software is aggregating too much, but those maybe are not the best examples for 2, as alternatives exist.
And this definitely doesn't say much about FOSS, it says about Linux demographics changes. FOSS is independent of the UNIX philosophy, although they are perfect together.

in reply to David Chisnall (*Now with 50% more sarcasm!*)

"These components are large monolithic entities.
[..]
And each of these projects is too complex for a single person to create a replacement for unless they treat it as a full-time job."

By Design: Those seeking to reduce
the explosion of diversity protection against least cost unwarranted penetration.

In that sense, it is a winner. The Organisations hosting the project get to call the shots for security "best practice" too. win-win.

This entry was edited (2 weeks ago)
in reply to David Chisnall (*Now with 50% more sarcasm!*)

I feel that there is a tension between integration and coupling. On one hand, tightly integrated systems tend to work really well together. Yeah, I know, big surprise there. But on the other hand, loosely coupled systems tend to be really easy to take apart and modify.

I am not sure whether we can get both.

in reply to llogiq

@llogiq

I believe you can if you are very careful about the core abstractions that you build. Unfortunately, that’s probably the most undervalued bit in most F/OSS projects.

in reply to David Chisnall (*Now with 50% more sarcasm!*)

I feel like this discussion is a bit too abstract. To me it feels like you're thinking about particular systems (perhaps Linux + systemd?) while I was thinking about different ones (e.g. editors + lsp servers).
in reply to llogiq

@llogiq I’m thinking about a lot of F/OSS things: Linux (and the BSDs), KDE / GNOME and their app suites, modern browsers, Open/LibreOffice, and so on. None of these are designed to make it easy for end users (even end users who are moderately competent programmers).

Of all of the F/OSS that you run, how many things have you modified? How many things do not quite fit your ideal requirements? The goal for Free Software should be that anything that doesn’t do quite what the user wants should be easy for the end user to modify until it does.

in reply to David Chisnall (*Now with 50% more sarcasm!*)

@llogiq All end users are fully capable to use these applications and tools without any modification (maybe some need some training - like with any other software) - in fact this is even proven by many users worldwide. There are also different distributions targeting different users. Thus

Your comment seems to address all operating systems and tools in general. I guess there are always users that are not happy with anything offered (not Linux, not MacOS, not Windows etc.).

in reply to Jörn Franke

@jornfranke @llogiq

All end users are fully capable to use these applications and tools without any modification


And a lot more users are able to use Windows and MS Office without modification. That doesn’t mean that it meets their requirements, it means that they don’t have an easy path to modifying them.

Free Software comes with four freedoms, one of which is the freedom to make changes and another is to distribute your modifications. If most users have no way of doing this, why should they prefer F/OSS over proprietary software? The fact that it doesn’t cost anything? But ad-supported proprietary software doesn’t appear to cost them anything.

in reply to David Chisnall (*Now with 50% more sarcasm!*)

@llogiq I do not agree. I think the same users that uses Windows and MS Office without modification are able to use Linux without modification. I interacted with many users in different enterprises and they have a lot of complains about Windows and Office. The continuous change of user interfaces. The useless additions that make them find their functionality difficult, the enterprises that are constantly spied on with Ads etc.

Open Source is not free. It also requires support.