I feel there's this divide between FOSS which is "User Participatory software" versus "Father Knows Best Architecture".
The former encourages the user to learn, extend, participate in the software's design. The latter discourages theming extension and introspection of the program, discourages attempts to reproducibly package and distribute the software (here's a container instead), acts outright dismissive towards users on issue trackers.
@gargron I'm not sure where you're coming down on this post. I def think software for normal people is great, widening the tent, etc. I coined (afaik) the term "user freedom" as a contrast in my talks vs "developer-only freedom" for a reason.
But I don't think this is really a dichotomy. The best systems are those which give an on-ramp towards their users learning to participate... not just as coders, either.
@cwebber I do think it's important to actively model good participatory dev cultures.
Cause let's be honest, it's not easy to do! It takes work to create, and requires an active effort to maintain it.
On projects with millions of users, most of whom won't touch a code editor even if you begged them to, I've also lived the experience of getting jaded as priorities of "just make it work consistently" take over.
I think projects can succeed at this, but they have to commit time and energy.
@cwebber it's also important to recognize the *bursting potential* of the many users of a big project who *do* have an interest in getting involved, anywhere from the deepest code wizardry to documentation, style, and graphic arts.
some of this energy can be directly "harnessed" for the main project's goals, but a lot of it will seem like it's doing something else entirely. it's important to encourage this, *even if you can't use it or monetize it yourself*, because the energy feeds back!
@cwebber I feel like it’s a corollary of Conway’s law: if you build an autocratic or a corporate structure around your software project, it may be free, but it won’t encourage user participation, possibly not even in the form of allowing for customization, “unofficial builds”, and so on.
@cwebber It also looks like there’s a discourse by “professional developers” that we should do away with that utopia of putting users in control, when we professional know users don’t understand a damn thing and are going to break our product.
@cwebber I haven’t read it but I think this is what they meant by “the cathedral versus the bazaar”, right?
@cwebber what would be some of the best examples of software fitting the extendable, participatory model, that are also easy to pick up, comprehensively functional and user-friendly for those who just want to use them as-is?
There are common examples often thrown around of things like Emacs at one extreme, and GNOME (arguably) at the other. What are good examples in-between, or spanning the approaches, though?
Genuinely curious where to look for this.
@xerz right. The 'arguably' I mentioned on GNOME hints that I might feel the same also. Desktop Environments are a bit special, though, as huge projects with many sub-components that can have very different models. I was wondering what are good applications to look at, that might be more standalone. @cwebber
@cwebber I feel this even as an experienced programmer sometimes, most often when it comes to asking questions about build process. "just use our prebuilt package" "why would you want to do that?"
@dthompson @cwebber I had a conversation about that with a friend working on a "devops manifesto" recently and one question was what I consider "working software". My answer was basically "well documented on building and usage", w/ the example of edbrowse.
Why? I wanted to make sure someone's blog fix for me (lynx user) didn't break a fix for someone else (edbrowse user) and in about 30 minutes of reading the docs I was able to build, run, and verify nothing broke.
I like where you are going with this and am curious if you could unpack more by giving specific examples of each and how things play out from the user's perspective.
@cwebber "Participatory Software" is a great phrase. So much of what I'm doing right now is predicated on this idea that participation is the only path forward for culture, just generally.
it was... interesting. they did good work while I was there. After I was laid off I got the job at CC, and around then is when they started making less pleasant decisions like making proprietary software, etc. And "open video" tried too hard to be a big tent with all the corporate players where the term became more or less nothing.
But it was a formative time for me, and I'm happy for the experiences.
@cwebber @ajroach42 aha, we did the same tech projects but they always had way more resources, each time we would switch to there code base and each time there projects were pervert to #NGO agenda then died from lack of community support. It was a part of the death of the #openweb
Went to visit them in Rochester, nice #fasherniata playing at radical the lot of them.
Sad to kill social value for #NGO careers though, bad outcome.
@cwebber Creative Commons has variants which prohibit derivative works and commercial usage. Playing devils advocate for a moment, one could make a partially open license for those who wish to freely distribute their source code without allowing the user to tinker with it. I'm not saying I'd ever use a piece of software with such licensing. It's more that at least that way it would be more clear that this is a project to stay clear of.
@w96k I agree. It doesn't start and end at programming languages, but that's a very visible area... especially as a programmer. Sadly what Emacs has lacked is getting itself out there and being something users today can really embrace and use, and that's just as important. I'd really like to see more work go into Mousemacs and Guile Studio, the way Spacemacs has.
Blender is an interesting example of software which is extremely extensible and at one point was considered really "hard" to pick up but... those complaints don't exist as much any more, partly because things *have* gotten better, more familiar, without a real loss for experienced users. Geometry nodes are also a great example of something empowering that's accessible to people.
The only compalint I'd make about Blender these days is that dropping the colors on icons was a real loss. But that's hardly just Blender, they're reacting to the times of design.
@w96k @cwebber Wait, how is C more free than Python.
Also, this is old news, but Lisps letting the developers create entirely new languages for each project is not necessarily a good thing.
As a practical example: I could write and test a patch for Yggrasil in about 2-3 hours that added an extra CLI argument, with practically 0 experience with Go or the libs it uses.
If new users can't make sense of the code, then it's not "user participatory".
@cwebber @w96k Guix does restrict what parts of Scheme it uses, like functional purity being somewhat enforced.
To clarify, I do think lispy syntax and most of the semantics are pretty good, but it's not true that a completely unrestricted language is optimal for users. Also if the language is too dynamic, the compiler suffers and users with cheap machines suffer.
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!