I am detecting the skeleton of a user freedom maturity model framework here.

social.finkhaeuser.de/@jens/10…

@jens @be
Jens FinkhΓ€user Β―\_(ツ)_/Β― (@[email protected])

@[email protected] @[email protected] @[email protected] Oh, absolutely! The only way to do that well is to go for an abstract enough definition! I harp on about reusability and toolkits and so forth because it's a good example, and whatever definition one comes up with should encourage that. Maybe reusability is the key term here. Applicability in a diverse range of use cases. Good words elude me for now!

social.finkhaeuser.de
TL;DR by specimen or just brevity; some reordering:

0. FOSS, formal user and developer freedom
1. Inbound = Outbound, contributor parity
2. (4 above) Franklin Street Statement, user data freedom
3. CoC, freedom from discrimination
4 (2). C4, fair paths to governance
5 (4.1). Moderation, user safety
6 (5). Userops, admin practical software freedom
7 (5.1). Community input, user practical software freedom
8 (6). TDD, code quality, malleability, docs, CI/CD, developer practical software freedom
There is the word "community" at level 7 only in the brief version.

That might be me telling myself that you're not true communal software until you're at level 7.

Maybe that's too harsh. Maybe moderation and userops are technical features that would come out of the communal process and community input should be on the level before them.
I am very much convinced that "code and docs are nice" comes last. And I think it is telling that we devs usually place it somewhere around (1) when we choose our projects to contribute to.
@clacke why not replace community input with community ownership? Of course there will always be a case where some protocols need to be agreed upon, but beyond that there should be no excuse for requiring community consensus (via only having one version of a piece of software, controlled by one clique), if your malleable software can't handle this then it's not good enough
@clacke the aim should be for the people providing 'the input' to be able to change things themselves in the end (not becoming a programmer, but doing programming without realizing) and I'm not really that interested in any other alternative
@Gnuxie Thank you, good points. End-user programmability, "userdev", definitely ties into all of this.

libranet.de/display/0b6b25a8-1…
Gnuxie πŸ’œπŸ (@[email protected])

445 Toots, 45 Following Β· Maximalist Egoist Communist Object Oriented Telephone Characteristics HackerπŸŽˆπŸ’•β€‹ Gnu is garbage πŸ†‘β€‹πŸ…ΎοΈβ€‹πŸ†˜β€‹ NOW! If I unfollowed you, you post too much and I can't deal with it I guess I should say I also co-authored this: https://applied-langua.ge/software-and-anarchy.pdf

@Gnuxie I saw "malleable software" somewhere else earlier tonight. Are people tying a specific meaning to this term? Are you, or do you generally mean that the program should be easy to adapt to new circumstances and requirements?

(basically avoiding the poisoned term "agile")
Gnuxie πŸ’œπŸ (@[email protected])

445 Toots, 45 Following Β· Maximalist Egoist Communist Object Oriented Telephone Characteristics HackerπŸŽˆπŸ’•β€‹ Gnu is garbage πŸ†‘β€‹πŸ…ΎοΈβ€‹πŸ†˜β€‹ NOW! If I unfollowed you, you post too much and I can't deal with it I guess I should say I also co-authored this: https://applied-langua.ge/software-and-anarchy.pdf

@clacke well I don't like the term malleable software very much, it is being propagated by the 'malleable systems' collective (https://malleable.systems/), what they really want is dynamic systems but they want to avoid the stigma that for some reason has been associated with dynamic programming languages and allow for a system made from static components that aren't modifiable from within the 'malleable' system to be included in their definition, which I believe is a big problem as it is contradictory and against the goals of a malleable system (as you would want to be able to modify those components).

I wrote a little bit more about this in detail with a good friend here (https://applied-langua.ge/software-and-anarchy.pdf (C-f malleable system)) if you are really interested about this but to be honest with you the ideology we put across in this book i really strong and I don't want to cause any knee jerk reactions because of that. I also don't mind explaining anything if there are more questions

Malleable Systems Collective

The Malleable Systems Collective catalogs and experiments with malleable software and systems that reset the balance of power in computing

@clacke Essentially we should not try to predict what people will want to do with their software, but instead account for them wanting to be able to do anything and things you can't possibly imagine (because you're not them)
@Gnuxie oh cool, thanks!
Gnuxie πŸ’œπŸ (@[email protected])

445 Toots, 45 Following Β· Maximalist Egoist Communist Object Oriented Telephone Characteristics HackerπŸŽˆπŸ’•β€‹ Gnu is garbage πŸ†‘β€‹πŸ…ΎοΈβ€‹πŸ†˜β€‹ NOW! If I unfollowed you, you post too much and I can't deal with it I guess I should say I also co-authored this: https://applied-langua.ge/software-and-anarchy.pdf

@Gnuxie @clacke I kinda agree but that seems too idealistic to result in a design that's really nice to use from my experience designing a complex application. But I'd love to be proven wrong πŸ˜ƒ

@be @clacke To me it's more like this is the work that needs to be done (or we have failed to ever utilize the potential of computers tbqh) and considered as we keep developing software more than some idealistic thing (and a reason why systems like this haven't been able to mature is because it does take time which isn't "affordable" (according to the boss man) when we've been using it as a means to an end for capital).

Sure though, for a lot of people it's not really clear how to go about doing this and frankly 'big tech' standard programming languages people are most familiar with are really not suited at all, in part now with the added problem of being designed by hierarchical organizations with the goal of controlling developers rather than empowering them.

Personally, I'm used to writing in Common Lisp which I take onboard more because it is a system than just a programming language and it allows me to explore new ideas really easily, it's sort of very welcoming to the idea that someone might want to do something new and completely different to what has been anticipated, and it's sort of where the Alan Kay quote 'Lisp isn't a language, it's a building material' comes from. Now I don't say this to glorify lisp or something, it's just to highlight the difference in thinking about what seems possible TBC...

Common Lisp also has a small community of very passionate people working on a project called SICL which is an implementation of Common Lisp written entirely in Common Lisp, with a (mostly apart from pedantics) AOT compiler written in Common Lisp, it's not finished but it's goddamn close. Now I mention this because to most people it seems like a very utopian thing, yet for me these people have already proven it is possible, and they actually always knew it would be possible, they just needed the time to make it and figure detail out along the way. (I mean, I don't know if I just actually played myself and this is the case for what you would call all idealists? but then if that was true, it would be very silly to criticize them if they are actually right)

So this kind of thing inspires me, we know where we need to go, we just haven't worked out the details yet and even a little experimentation can lead to insight

and just to add a little pinch of smugness, if the next paradigm is really real, and I find it, whose software is going to be the most material after that? If this is idealist then you could say realism is just an appeal to the irrelevant / denial of the change we have to face β€‹
@Gnuxie software that allows users to form application design desire paths
Gnuxie πŸ’œπŸ (@[email protected])

445 Toots, 45 Following Β· Maximalist Egoist Communist Object Oriented Telephone Characteristics HackerπŸŽˆπŸ’•β€‹ Gnu is garbage πŸ†‘β€‹πŸ…ΎοΈβ€‹πŸ†˜β€‹ NOW! If I unfollowed you, you post too much and I can't deal with it I guess I should say I also co-authored this: https://applied-langua.ge/software-and-anarchy.pdf

@Gnuxie I think even if it's a lego system where you out together closed boxes of inscrutable code, that's still an improvement over the app store where you just get the one closed box that supposedly solves your problem.

Once we're there, I feel like it's a small step to also have open boxes that are made of smaller boxes.
Gnuxie πŸ’œπŸ (@[email protected])

445 Toots, 45 Following Β· Maximalist Egoist Communist Object Oriented Telephone Characteristics HackerπŸŽˆπŸ’•β€‹ Gnu is garbage πŸ†‘β€‹πŸ…ΎοΈβ€‹πŸ†˜β€‹ NOW! If I unfollowed you, you post too much and I can't deal with it I guess I should say I also co-authored this: https://applied-langua.ge/software-and-anarchy.pdf

@clacke I disagree and do not think it's a fair analogy, it's not like a dynamic system is harder to create than a malleable one and I am prepared to argue once again that it would easier
@Gnuxie Software that exists in a million little versions is a fascinating idea to entertain. Is that what you mean by user ownership?
Gnuxie πŸ’œπŸ (@[email protected])

445 Toots, 45 Following Β· Maximalist Egoist Communist Object Oriented Telephone Characteristics HackerπŸŽˆπŸ’•β€‹ Gnu is garbage πŸ†‘β€‹πŸ…ΎοΈβ€‹πŸ†˜β€‹ NOW! If I unfollowed you, you post too much and I can't deal with it I guess I should say I also co-authored this: https://applied-langua.ge/software-and-anarchy.pdf

@clacke basically yes, the lines between developer and user should be merged/faded away
@Gnuxie I would like that very much.
Gnuxie πŸ’œπŸ (@[email protected])

445 Toots, 45 Following Β· Maximalist Egoist Communist Object Oriented Telephone Characteristics HackerπŸŽˆπŸ’•β€‹ Gnu is garbage πŸ†‘β€‹πŸ…ΎοΈβ€‹πŸ†˜β€‹ NOW! If I unfollowed you, you post too much and I can't deal with it I guess I should say I also co-authored this: https://applied-langua.ge/software-and-anarchy.pdf

@clacke I should touch up on this by saying this idea is influenced from telekommunisten ( http://media.telekommunisten.net/manifesto.pdf C-f producer-control ) in that we (with Software Anarchy) want to actually empower / enable remix culture at the software level rather than just attacking from the intellectual property law level
@clacke Quality code and documentation are not just "nice". They are a requirement for the freedom to modify the code to be practical.
@be Compared to civil behavior, fair governance, usability, accessibility (which I failed to put anywhere in my list), security (which is also missing) and user safety I actually think readable and documented code is a nice-to-have.

It strengthens the ability to achieve half of those things, of course. But we devs can wade through a lot of convoluted and obscure code to get what we want.

Unless actively obfuscated it's an inconvenience and a cost more than anything else.
Be (@[email protected])

7.96K Posts, 141 Following, 444 Followers · I ramble about computers and music here. Some software I work on: https://mixxx.org/ https://tenacityaudio.org/ and various libraries that these use

LIBRANET.de | Search

I found the very aptly labeled thread "The next FLOSS philosophy" from 2 years ago when I looked up the tag #UserDev

That thread is also about how we can build upon the bare minimum that is free software and provide true and practical software freedom for people who are not devs.

mastodon.technology/@cj/102813… @cj
LIBRANET.de | Search

@clacke One of takeaways I got from the Social Architecture (https://hintjens.gitbooks.io/social-architecture/content/) was that community changes over time. And priorities can be different depending on the size and maturity of your project. Do you think you can add the concept of *age* here as well?

For example if I am just starting a new project, implementing the whole framework would be an overkill. What should I do first? Or do you think it is the same for all?

Introduction Β· Social Architecture

@bookwar I think that a small project should place code quality higher, but otherwise I think the order here represents the order of implementation.

Maybe that means the growing project is the right mental model to order these. Maybe that means my ordering is wrong, as I felt the need to make an exception.

And I think there is no shame in a young and small project not implementing all the levels. If you don't yet have a community, how could you mistreat it?
Aleksandra Fedorova :fedora: (@[email protected])

14 Toots, 30 Following, 12 Followers · CI/Devops/Infra Engineer; Fedora CI SIG, Fedora Council member; PhD in Geometry and Topology; she/her

@clacke I was thinking that If I am just starting, I don't yet have the community to govern. So I shouldn't build a complex process for it. But I do already have the code to write and things like docs might be important.

On the other hand if you don't start with the right idea about governance you might never get the community.

Maybe rather than picking items from the list you need to take it all. But for every item make just a small step in it. And then grow slowly but in all directions.

@bookwar Hmmm, yes, you are right. I didn't quite realize that.

They are pretty vague, so each of them do allow a range from simplest process that makes a token attempt to full-blown legal-grade regulatory framework.

It's probably good to sow the seeds as early as possible, yes. It's not how I imagined it, but your idea is better.
Aleksandra Fedorova :fedora: (@[email protected])

14 Toots, 30 Following, 12 Followers · CI/Devops/Infra Engineer; Fedora CI SIG, Fedora Council member; PhD in Geometry and Topology; she/her

@clacke I like the "seeds" term.

Also the framework is really helpful for that. Imagine, I am starting, and I have so many things to do, starting from the code to write.

And I can point to the framework and say: I am going to work in that direction with my project. Not following every bit and every rule, but setting the direction.

And by using this declaration I buy myself time to figure out the exact steps I am going to take. I also tell people that they can help me with it.

@clacke

I think this is the implicit expectation which I have whenever I see project with any of the FOSS-compatible licenses. I assume that it is not just the license, which author wants out of this.

And then all those weird misunderstandings happen. Because license alone doesn't really imply any of those other things you have in your list.

GPL doesn't really say the the code needs to be readable. Or that you need to share instructions how it can be built.

@bookwar I thought the Corresponding Source included human-executable build instructions, but you are correct. It explicitly says source code.
Aleksandra Fedorova :fedora: (@[email protected])

14 Toots, 30 Following, 12 Followers · CI/Devops/Infra Engineer; Fedora CI SIG, Fedora Council member; PhD in Geometry and Topology; she/her